? SQLObject er et gratis " Object - relationel mapping" software program designet til at hjælpe overføre data mellem Structured Query Language ( SQL) og Python . Det gør udstrakt brug af nye stil klasser , og bruger metaclasses at lette integrationen . Programmet er resultatet af et samarbejde mellem Ian Bicking og et stort antal yderligere bidrager programmører , og er blevet frigivet under GNU Lesser General Public License ( LGPL ) . SQL og Python
SQLObject opgave er at fremme integrationen mellem SQL og Python. SQL er et udbredt programmeringssprog, der anvendes til at håndtere data i relationelle database management systemer ( RDBMS ) . SQL er i sig selv består af flere forskellige sprog elementer , der anvendes til at lagre eller manipulere database information. Python er et fortolket højt niveau programmeringssprog, der anvendes i så forskellige områder som operativsystemer, webprogrammer scripting og kunstig intelligens (AI) . Python er ikke normalt kompatibelt med databaser baseret på SQL.
Objektorienteret programmering
objektorienteret programmering paradigmer holde data i " Objects ", som er ligesom områder databaser, men generelt er ikke- skalar - dvs de holder mere end én værdi . For eksempel kan en edb- dagbog have flere poster på en given dag . Men SQL databaser holde scaler værdierne i tabel format, så værdierne i objektet , skal samlet i grupper , der skal lagres og manipuleres i databasen. Dette kaldes objekt- relationel mapping .
Objekt-relationelle kortlægning i SQLObject
SQLObject skaber en " Class definition" , der fungerer som en midt-mand mellem Python og databasen . Denne klasse bestemmer, hvordan objektet er oversat til det format, der bruges af database tabellen , der forbinder tabeller som klasser , rækker som instanser og kolonner som attributter. Efterfølgende database rækker fremstå som Python objekter , uden ordbog adgang og ingen praktisk forskel mellem databasen række og attribut i klassen definition. Toolchains og kodegenerering er heller ikke brugt.
Kompatibilitet
SQLObject er kompatibel med de fleste af de almindeligt anvendte SQL -baserede databasesystemer. SQLObject er kompatibel med MySQL gennem MySQLdb , også kendt som MySQL - python , Max DB gennem sapdb , PostgreSQL via enten psycopg1 eller psycopg2 , SQLite gennem PySQLite , Sybase, Firebird er kompatibel via kinterbasdb og MSSQL Server er kompatibel via pymssql og ADODBAPI . I form af Python, er fordi SQLObject anvender ny stil klasser, Python 2.3 eller nyere er nødvendig for det for funktion .