SQLAlchemy - Wprowadzenie

SQLAlchemy to popularny zestaw narzędzi SQL i Object Relational Mapper. Jest napisanePythoni daje pełną moc i elastyczność SQL programiście aplikacji. To jestopen source i cross-platform software wydany na licencji MIT.

SQLAlchemy słynie z mapowania relacyjno-obiektowego (ORM), za pomocą którego klasy mogą być mapowane do bazy danych, umożliwiając w ten sposób rozwijanie modelu obiektowego i schematu bazy danych w czysty odsprzężony sposób od samego początku.

Ponieważ rozmiar i wydajność baz danych SQL zaczynają mieć znaczenie, zachowują się one mniej jak zbiory obiektów. Z drugiej strony, gdy abstrakcja w kolekcjach obiektów zaczyna mieć znaczenie, zachowują się one mniej jak tabele i wiersze. SQLAlchemy ma na celu uwzględnienie obu tych zasad.

Z tego powodu przyjęła data mapper pattern (like Hibernate) rather than the active record pattern used by a number of other ORMs. Bazy danych i SQL będą oglądane z innej perspektywy przy użyciu SQLAlchemy.

Michael Bayer jest oryginalnym autorem SQLAlchemy. Jego pierwotna wersja została wydana w lutym 2006 roku. Najnowsza wersja nosi numer 1.2.7, wydana dopiero w kwietniu 2018 roku.

Co to jest ORM?

ORM (Object Relational Mapping) to technika programowania służąca do konwersji danych między niekompatybilnymi systemami typów w obiektowych językach programowania. Zwykle system typów używany w języku zorientowanym obiektowo (OO), takim jak Python, zawiera typy nieskalarne. Nie można ich wyrazić jako typów pierwotnych, takich jak liczby całkowite i łańcuchy. Dlatego programista OO musi konwertować obiekty na dane skalarne, aby współdziałać z bazą danych zaplecza. Jednak typy danych w większości produktów bazodanowych, takich jak Oracle, MySQL itp., Są podstawowe.

W systemie ORM każda klasa jest odwzorowywana na tabelę w bazowej bazie danych. Zamiast samodzielnie pisać żmudny kod interfejsu bazodanowego, ORM zajmuje się tymi problemami za Ciebie, podczas gdy Ty możesz skupić się na programowaniu logiki systemu.

SQLAlchemy - konfiguracja środowiska

Omówmy konfigurację środowiska wymaganą do korzystania z SQLAlchemy.

Do zainstalowania SQLAlchemy wymagana jest każda wersja Pythona wyższa niż 2.7. Najłatwiejszym sposobem instalacji jest użycie Menedżera pakietów Python,pip. To narzędzie jest dołączone do standardowej dystrybucji języka Python.

pip install sqlalchemy

Za pomocą powyższego polecenia możemy pobrać plik latest released versionSQLAlchemy z python.org i zainstaluj go w swoim systemie.

W przypadku dystrybucji anaconda Pythona SQLAlchemy można zainstalować z conda terminal używając poniższego polecenia -

conda install -c anaconda sqlalchemy

Możliwe jest również zainstalowanie SQLAlchemy z poniższego kodu źródłowego -

python setup.py install

SQLAlchemy jest zaprojektowany do pracy z implementacją DBAPI zbudowaną dla konkretnej bazy danych. Używa systemu dialektów do komunikacji z różnymi typami implementacji DBAPI i bazami danych. Wszystkie dialekty wymagają zainstalowania odpowiedniego sterownika DBAPI.

Poniżej znajdują się dialekty zawarte -

  • Firebird
  • Microsoft SQL Server
  • MySQL
  • Oracle
  • PostgreSQL
  • SQLite
  • Sybase

Aby sprawdzić, czy SQLAlchemy jest poprawnie zainstalowany i poznać jego wersję, wprowadź następujące polecenie w wierszu polecenia Pythona -

>>> import sqlalchemy
>>>sqlalchemy.__version__
'1.2.7'