Sqlalchemy orm - основи веб-програмування

ORM (англ. Object-relational mapping, рус. Об'єктно-реляційне відображення) - технологія програмування, яка зв'язує бази даних з концепціями об'єктно-орієнтованих мов програмування, створюючи «віртуальну об'єктну базу даних». Існують як пропрієтарні, так і вільні реалізації цієї технології.

SQLAlchemy - це бібліотека мовою Python для роботи з реляційними СУБД з застосуванням технології ORM. Служить для синхронізації об'єктів Python і записів реляційної бази даних. SQLAlchemy дозволяє описувати структури баз даних і способи взаємодії з ними на мові Python без використання SQL.

Sqlalchemy orm - основи веб-програмування

Діаграма рівнів SQLAlchemy

переваги іспользованія¶

Використання SQLAlchemy для автоматичної генерації SQL-коду має кілька переваг у порівнянні з ручним написанням SQL:

  • Безпека. Параметри запитів екрануються, що робить атаки типу впровадження SQL-коду малоймовірними.
  • Продуктивність. Підвищується ймовірність повторного використання запиту до сервера бази даних, що може дозволити йому в деяких випадках застосувати повторно план виконання запиту.
  • Переносимість. SQLAlchemy, при належному підході, дозволяє писати код на Python, сумісний з декількома back-end СУБД. Незважаючи на стандартизацію мови SQL, між базами даних є відмінності в його реалізації, абстрагуватися від яких і допомагає SQLAlchemy.

Найпростіший приклад з використанням SQLite в оперативній пам'яті: