См.также
ORM (англ. object-relational mapping, рус. объектно-реляционное отображение) — технология программирования, которая связывает базы данных с концепциями объектно-ориентированных языков программирования, создавая «виртуальную объектную базу данных». Существуют как проприетарные, так и свободные реализации этой технологии.
SQLAlchemy — это библиотека на языке Python для работы с реляционными СУБД с применением технологии ORM. Служит для синхронизации объектов Python и записей реляционной базы данных. SQLAlchemy позволяет описывать структуры баз данных и способы взаимодействия с ними на языке Python без использования SQL.
Использование SQLAlchemy для автоматической генерации SQL-кода имеет несколько преимуществ по сравнению с ручным написанием SQL:
Простейший пример с использованием SQLite в оперативной памяти:
1 2 3 4 | >>> from sqlalchemy import create_engine
>>> engine = create_engine('sqlite:///:memory:')
>>> engine.execute("select 'Hello, World!'").scalar()
u'Hello, World!' |
См.также
SQLAlchemy находит применение в веб-фреймворках TurboGears, Pylons, Pyramid, Zope, Flask. Например, известный социальный новостной сайт Reddit построен с использованием SQLAlchemy. Список организаций, использующих SQLAlchemy, можно найти на сайте проекта.