? SQLObject ist ein kostenloses " Object - Relational-Mapping "-Software -Programm entwickelt, um die Übertragung von Daten zwischen Structured Query Language (SQL) und Python helfen. Es macht umfangreichen Gebrauch von new-style -Klassen und verwendet metaclasses die Integration zu erleichtern . Das Programm ist das Ergebnis einer Zusammenarbeit zwischen Ian Bicking und eine große Anzahl von zusätzlichen Beitrag Programmierer und wurde unter der GNU Lesser General Public License ( LGPL ) veröffentlicht. SQL und Python
SQLObject Aufgabe ist es, die Integration zwischen SQL und Python zu erleichtern. SQL ist eine weit verbreitete Programmiersprache verwendet, um Daten in relationalen Datenbank- Management-Systeme ( RDBMS) zu verwalten. SQL ist selbst aus mehreren verschiedenen Sprachelemente , die zur Speicherung oder zu manipulieren Datenbank-Informationen . Python ist eine interpretierte High-Level- Programmiersprache , in so unterschiedlichen Bereichen wie Betriebssysteme, Web-Application -Scripting und Artificial Intelligence (AI) verwendet . Python ist normalerweise nicht kompatibel mit Datenbanken auf SQL basiert.
Object - Oriented Programming
Objektorientierte Programmierung Paradigmen halten Daten in " Objekte", die wie Felder sind in Datenbanken sind aber in der Regel nicht- skalare - das heißt, sie halten mehr als einen Wert . Zum Beispiel könnte ein EDV- Tagebuch haben mehrere Einträge an einem bestimmten Tag . Allerdings halten SQL-Datenbanken Scaler Werte in Form einer Tabelle , so dass die Werte in dem Objekt muss in Gruppen gespeichert und in der Datenbank manipuliert werden geclustert werden . Dies wird als objekt-relationales Mapping .
Object-Relational Mapping in SQLObject
SQLObject schafft eine "Class definition" , die als Mitte-Mann wirkt zwischen Python und die Datenbank . Diese Klasse legt fest, wie das Objekt in das Format von der Datenbank -Tabelle verwendet , Verknüpfen von Tabellen als Klassen , Zeilen und Spalten als Instanzen als Attribute übersetzt. Anschließend erscheinen Datenbankzeilen wie Python-Objekte , ohne Wörterbuch und Zugang ohne praktische Unterschied zwischen der Datenbank Reihe und das Attribut in der Klasse Definition . Toolchains und Code-Generierung werden auch nicht verwendet.
Kompatibilität
SQLObject ist kompatibel mit den meisten gängigen SQL -basierte Datenbank-Systeme. SQLObject ist kompatibel mit MySQL durch MySQLdb , auch bekannt als MySQL -python , Max DB durch sapdb , PostgreSQL entweder durch psycopg1 oder psycopg2 , SQLite durch pysqlite , Sybase bekannt, ist Firebird durch kinterbasdb kompatibel und MSSQL Server ist kompatibel durch pymssql und ADODBAPI . In Bezug auf Python, weil SQLObject nutzt new-style -Klassen , Python 2.3 oder höher für es für die Funktion benötigt.