? SQLObject è un " Object-relational mapping " software gratuito progettato per aiutare il trasferimento dei dati tra Structured Query Language ( SQL) e Python . Si fa ampio uso di classi di nuovo stile , e utilizza metaclassi 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 la Licenza Pubblica Generica Minore GNU ( LGPL ) . Processo di SQL e Python
di SQLObject è quello di facilitare l'integrazione tra SQL e Python . SQL è un linguaggio di programmazione ampiamente utilizzato utilizzato per la gestione dei dati nei sistemi di gestione di database relazionali ( RDBMS ) . SQL è esso stesso costituiti da più elementi di linguaggio diversi , utilizzato per memorizzare o manipolare informazioni del database . Python è un linguaggio di programmazione ad alto livello interpretato , utilizzato 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
orientata agli oggetti paradigmi di programmazione tenere i dati in "Oggetti ", che sono come i campi in basi di dati , ma in generale sono non scalare - 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 contengono valori scaler in forma di tabella , in modo che i valori in oggetto devono essere raggruppati in gruppi per essere immagazzinati e manipolati nel database. Questa è chiamata object-relational mapping .
Object-relational mapping in SQLObject
SQLObject crea una "definizione di classe ", che agisce come un uomo di mezza tra Python e il database . Questa classe determina come l'oggetto viene tradotto nel formato utilizzato dalla tabella del database , che collega le tabelle come classi , righe come istanze e le colonne come attributi . Successivamente , le righe del database vengono visualizzati 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 basati su SQL di uso comune . 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 .