? SQLObject er en gratis " Object - relasjonelle mapping" program utviklet for å hjelpe overføre data mellom Structured Query Language ( SQL) og Python . Det gjør utstrakt bruk av ny stil klasser , og bruker metaclasses å lette integreringen . Programmet er et resultat av et samarbeid mellom Ian Bicking og et stort antall ekstra bidrar programmerere , og har blitt utgitt under GNU Lesser General Public License ( LGPL ) . SQL og Python
SQLObject jobb er å legge til rette for integrering mellom SQL og Python . SQL er en utbredt programmeringsspråk som brukes til å behandle data i Relational Database Management Systems ( RDBMS ) . SQL er i seg selv består av flere forskjellige språk elementer , som brukes til å lagre eller manipulere databasen informasjon. Python er et tolket høynivå programmeringsspråk , som brukes i områder så forskjellige som operativsystemer, web-applikasjon scripting og kunstig intelligens ( AI ) . Python er vanligvis ikke kompatible med databaser basert på SQL .
Objektorientert programmering
objektorientert programmering paradigmer holde data i " Objects ", som er like felt i databaser, men vanligvis er ikke- skalar - det vil si, de holder mer enn én verdi . For eksempel kan en datastyrt dagbok har flere oppføringer på en gitt dag . Imidlertid SQL databaser hold scaler verdiene i tabell format, slik at verdiene i objektet må være gruppert i grupper for å bli lagret og manipulert i databasen. Dette kalles objekt -relasjons- mapping .
Object - Relational Mapping i SQLObject
SQLObject skaper en " Class definisjon" som fungerer som en middelaldrende mann mellom Python og databasen . Denne klassen bestemmer hvordan objektet er oversatt til formatet som brukes av databasen tabellen , linking tabeller som klasser , rader som instanser og kolonner som attributter. Deretter database rader vises som Python objekter, uten ordbok tilgang og ingen praktisk forskjell mellom databasen rad og attributt i klassen definisjonen . Toolchains og kodegenerering er heller ikke brukt .
Kompatibilitet
SQLObject er kompatibel med de fleste av de oftest brukte SQL - basert database-systemer . SQLObject er kompatibel med MySQL gjennom MySQLdb , også kjent som MySQL - python , Max DB gjennom sapdb , PostgreSQL gjennom enten psycopg1 eller psycopg2 , SQLite gjennom PySQLite , Sybase , er Firebird kompatibel gjennom kinterbasdb , og MSSQL Server er kompatibel gjennom pymssql og ADODBAPI . I forhold til Python , er fordi SQLObject bruker ny stil klasser, 2.3 Python eller høyere nødvendig for det for funksjon .