SQLAlchemy ist das Python-SQL-Toolkit und der Object Relational Mapper, der Anwendungsentwicklern die gesamte Leistungsfähigkeit und Anpassungsfähigkeit von SQL bietet.

Es bietet eine vollständige Suite dokumentierter Persistenzmuster auf Unternehmensebene, die für einen effizienten und leistungsstarken Datenbankzugriff konzipiert und in eine einfache und pythonische Domänensprache angepasst sind.

SQLALCHEMY’S PHILOSOPHIE

SQL-Datenbanken verhalten sich weniger wie Objektsammlungen, je mehr Größe und Leistung ins Gewicht fallen; Objektsammlungen verhalten sich weniger wie Tabellen und Zeilen, je mehr Abstraktion ins Gewicht fällt. SQLAlchemy zielt darauf ab, beide dieser Prinzipien unterzubringen.

SQLAlchemy betrachtet die Datenbank als eine relationale Algebra-Engine und nicht nur als eine Menge von Tabellen. Zeilen werden oft nicht nur aus Tabellen, sondern auch aus Joins und anderen ausgewählten Anweisungen ausgewählt; jede dieser Einheiten wird oft zu einer größeren Struktur zusammengesetzt. Die Ausdruckssprache von SQLAlchemy baut von ihrem Kern her auf dieser Idee auf.

SQLAlchemy ist am bekanntesten für seinen objekt-relationalen Mapper (ORM), eine optionale Komponente, die das Info-Mapper-Muster liefert, bei dem Klassen oft auf verschiedene Arten auf die Datenbank abgebildet werden – so dass das Ding-Modell und das Datenbankschema sich von Anfang an auf sauber entkoppelte Weise entwickeln können.

Der Gesamtansatz von SQLAlchemy zur Lösung dieser Probleme unterscheidet sich völlig von dem der meisten anderen SQL / ORM-Tools, da er auf einem so genannten komplimentaritätsorientierten Ansatz beruht. Anstatt SQL und objektrelationale Details hinter einer Wand der Automatisierung zu verstecken, werden alle Prozesse innerhalb einer Reihe von zusammensetzbaren, transparenten Tools vollständig offengelegt. Die Bibliothek übernimmt die Aufgabe, redundante Aufgaben zu automatisieren, während der Entwickler den Überblick darüber behält, wie die Datenbank organisiert ist und wie SQL erstellt wird.