Che cosa è un oggetto di SQL?

April 15

Che cosa è un oggetto di SQL?


SQLObject è un programma di software libero "object-relational mapping" progettato per aiutare il trasferimento dei dati tra Structured Query Language (SQL) e Python. Si fa ampio uso di classi di nuovo stile, e metaclassi utilizza per facilitare l'integrazione. Il programma è il risultato di uno sforzo di collaborazione tra Ian Bicking e un gran numero di altri programmatori che contribuiscono, ed è stato rilasciato sotto licenza GNU Lesser General Public License (LGPL).

SQL e Python

Il compito di SQLObject è quello di facilitare l'integrazione tra SQL e Python. SQL è un linguaggio di programmazione ampiamente utilizzato utilizzato per gestire i dati nei sistemi di gestione di database relazionali (RDBMS). SQL è di per sé costituito da diversi elementi del linguaggio diversi, utilizzati per archiviare o manipolare le informazioni del database. Python è un linguaggio di programmazione ad alto livello interpretata, utilizzata in settori diversi come sistemi operativi, scripting di applicazioni Web e l'intelligenza artificiale (AI). Python non è di solito compatibili con i database basati su SQL.

Programmazione orientata agli oggetti

paradigmi di programmazione orientata agli oggetti in possesso di dati in "Oggetti", che sono come i campi di database, ma in generale sono non-scalari - cioè, sono titolari di più di un valore. Ad esempio, un diario computerizzato potrebbe avere più voci in un dato giorno. Tuttavia, i database SQL detengono valori scaler in forma di tabella, in modo che i valori nell'oggetto devono essere raggruppati in gruppi per essere immagazzinato e manipolato nel database. Questo si chiama object-relational mapping.

Object-Relational Mapping in SQLObject

SQLObject crea una "definizione Class" che funge da mezzo-uomo tra Python e il database. Questa classe determina come l'oggetto si traduce nel formato utilizzato dalla tabella del database, che collega le tabelle come classi, righe e colonne come istanze come attributi. Successivamente, le righe del database appaiono come oggetti Python, senza accesso dizionario e nessuna differenza pratica tra la riga di database e l'attributo nella definizione della classe. Toolchain e la generazione di codice non sono utilizzati anche.

Compatibilità

SQLObject è compatibile con la maggior parte dei sistemi di database basate su SQL comunemente usati. SQLObject è compatibile con MySQL attraverso MySQLdb, noto anche come MySQL-python, Max DB attraverso SAPDB, PostgreSQL attraverso sia psycopg1 o psycopg2, SQLite attraverso pysqlite, Sybase, Firebird è compatibile con kinterbasdb, e MSSQL Server è compatibile con pymssql e ADODBAPI. In termini di Python, perché SQLObject utilizza classi di nuovo stile, Python 2.3 o superiore è necessario per esso per la funzione.