SQLAlchemy to zestaw narzędzi Python SQL i Object Relational Mapper, który zapewnia twórcom aplikacji pełną moc i możliwości adaptacji SQL.

Dostarcza on pełen zestaw udokumentowanych wzorców trwałości na poziomie przedsiębiorstwa, zaprojektowanych dla wydajnego i wysokowydajnego dostępu do bazy danych, zaadaptowanych w łatwym i pythonickim języku domenowym.

FILOZOFIA SQLALCHEMY

Bazy danych SQL zachowują się mniej jak kolekcje obiektów, im większy rozmiar i wydajność zaczynają mieć znaczenie; kolekcje obiektów zachowują się mniej jak tabele i wiersze, tym bardziej abstrakcja zaczyna mieć znaczenie. SQLAlchemy ma na celu uwzględnienie obu tych zasad.

SQLAlchemy uważa bazę danych za silnik algebry relacyjnej, a nie tylko zbiór tabel. Wiersze są często wybierane nie tylko z tabel, ale także z łączeń i innych wybranych poleceń; każda z tych jednostek jest często składana w większą strukturę. Język wyrażeń SQLAlchemy opiera się na tej idei od samego początku.

SQLAlchemy jest najbardziej znany ze swojego object-relational mapper (ORM), opcjonalnego komponentu, który daje wzorzec info mapper, gdzie klasy są często mapowane do bazy danych w sposób otwarty, na wiele sposobów – pozwalając na rozwój modelu rzeczy i schematu bazy danych w sposób czysto odseparowany od siebie od początku.

Ogólne podejście SQLAlchemy do tych problemów jest zupełnie inne niż w przypadku większości innych narzędzi SQL / ORM, zakorzenione w tzw. podejściu komplementarnym; zamiast ukrywać SQL i szczegóły relacji obiektowych za ścianą automatyki, wszystkie procesy są w pełni wyeksponowane w serii złożonych, przezroczystych narzędzi. Biblioteka przejmuje pracę nad automatyzacją zbędnych zadań, podczas gdy deweloper pozostaje na bieżąco z organizacją bazy danych i sposobem tworzenia kodu SQL.