ORM (Object-relation mapping) - это технология программирования, которая связывает базы данных с концепциями объектно-ориентированных типов, создавая прослойку между кодом и БД.
Задачи ORM состоят в управлении передачи объектных типов в записи баз данных
и обратно.
Системы ORM используются как в больших проектах, так и в меленьких. Ручной процесс преобразования реляционных данных в объекты, достаточно трудоёмкий процесс и может сильно увеличить вероятность допустить ошибку. ORM берёт на себя операции по преобразованию данных, абстрагируя программиста от знаний конкретных СУБД.
Процесс использования ORM:
- Определение конфигурации подключения к БД
- Определение классов, которые будут отображать таблицы БД
- Подключение к БД и манипуляция данными в терминах классов
- Создание объектов классов и работа с ними
Пример использования ORM на peewee
![]() |
Запрос на peewee |
![]() |
SQL запрос |
Минусы ORM - неочевидность и недостаточная гибкость. Например, если нужно сделать UNION нескольких таблиц, для конкретного поля каждой из которых сделать alias( потому что нужные для сортировки поля называются в них по-разному), по которому выполнить сортировку всех результатов. Так же дополнительный слой абстракции может сказаться на производительность.