? Sqlobject är en gratis " Objekt - relationell mappning " program utformat för att hjälpa överföra data mellan Structured Query Language ( SQL ) och Python . Det gör omfattande användning av ny stil klasser , och använder metaclasses att underlätta integrationen . Programmet är resultatet av ett samarbete mellan Ian Bicking och ett stort antal ytterligare bidragande programmerare , och har släppt under GNU Lesser General Public License ( LGPL ) . SQL och Python
sqlobject uppgift är att underlätta integrationen mellan SQL och Python . SQL är ett allmänt använt programmeringsspråk som används för att hantera data i relationsdatabaser databashanteringssystem ( RDBMS ) . SQL är själv består av flera olika språkliga element , används för att lagra eller manipulera databasinformation . Python är ett tolkat hög nivå programmeringsspråk som används inom så skilda områden som operativsystem , webbprogram scripting och artificiell intelligens ( AI ) . Python är normalt inte förenligt med databaser baserade på SQL .
Objektorienterad programmering
Objektorienterad programmering paradigm håller data i " Objekt ", som är som fält i databaser men i allmänhet är icke - skalär - det är , de har mer än ett värde . Till exempel kan en datoriserad dagbok ha flera poster på en viss dag . Men SQL-databaser håller scaler värden i tabellform , så värdena i objektet måste grupperas i grupper som skall lagras och manipuleras i databasen . Detta kallas för objekt-relationell mappning .
Object - Relational Mapping i sqlobject
sqlobject skapar en " klass definition " som fungerar som en mellanhand mellan python och databasen . Denna klass avgör hur objektet översätts till det format som används av databasen tabellen , länka tabeller som klasser , rader som instanser och kolumner som attribut . Därefter databas rader visas som Python objekt , utan ordbok tillgång och ingen praktisk skillnad mellan databasen raden och attribut i klassen definition . Toolchains och kodgenerering är inte heller användas.
Kompatibilitet
sqlobject är kompatibel med de flesta av de vanligen använda SQL -baserade databassystem. Sqlobject är kompatibel med MySQL genom MySQLdb , även känd som MySQL - python , Max DB genom sapdb , PostgreSQL via antingen psycopg1 eller psycopg2 , SQLite genom PySQLite , Sybase , är Firebird kompatibel genom kinterbasdb och MSSQL Server är kompatibelt med pymssql och ADODBAPI . I fråga om Python , beror sqlobject använder ny stil klasser , Python 2.3 eller högre krävs för den för funktion .