Технология ORM на примере Peewee

     ORM (Object-relation mapping) - это технология программирования, которая связывает базы данных с концепциями объектно-ориентированных типов, создавая прослойку между кодом и БД. 

    Задачи ORM состоят в управлении передачи объектных типов в записи баз данных
и обратно. 

    Системы ORM используются как в больших проектах, так и в меленьких. Ручной процесс преобразования реляционных данных в объекты, достаточно трудоёмкий процесс и может сильно увеличить вероятность допустить ошибку. ORM берёт на себя операции по преобразованию данных, абстрагируя программиста от знаний конкретных СУБД.

Процесс использования ORM:

  • Определение конфигурации подключения к БД
  • Определение классов, которые будут отображать таблицы БД
  • Подключение к БД и манипуляция данными в терминах классов
  • Создание объектов классов и работа с ними
Пример определение конфигурации подключения к БД















Пример класса, которые будут отображать таблицы БД


Пример использования ORM на peewee

Запрос на peewee
Запрос на peewee
Вот такой запрос формирует ORM

SQL запрос


Минусы ORM - неочевидность и недостаточная гибкость. Например, если нужно сделать UNION нескольких таблиц, для конкретного поля каждой из которых сделать alias( потому что нужные для сортировки поля называются в них по-разному), по которому выполнить сортировку всех результатов. Так же дополнительный слой абстракции может сказаться на производительность.