ORM - (Object Relative Mapping) - это паттерн проектирования, который позволяет наладить взаимосвязь между классом и таблицей в Базе Данных. ORM системы присутствуют в любом большом фреймворке - Laravel, ASP .Net, ORM Django и у многих других.
Какие знания вам нужны, чтобы понять устройство ORM системы (и может быть, написать свою самостоятельно)?
Во-первых, здесь не помешают знания объектно - ориентированного программирования, чтобы можно было создать класс с необходимыми полями и свойствами. Также, к каждой ORM системе необходимо разработать свою систему переноса полей (или свойств) класса внутрь таблиц большинства популярных баз данных - MySQL, PostgreSQL, и другие популярные реляционные БД. По сути каждому бекенд-программисту могут быть полезны глубокие знания по базам данных, например по сложным запросам, или по типам данных, которые работают в данной базе данных. ORM же позволяет программисту не вдаваться глубоко в структуру базы данных, а создать само описание таблицы в виде привычного и понятного класса, и затем сделать миграцию.
Что такое миграция?
Это процесс превращения класса в таблицу.
Это позволяет очень удобно распространять свой проект среди других программистов - они просто скачивают проект, доставляют необходимые библиотеки (в зависимости от языка и платформы) и запускают процесс миграции.
После этого, они могут уже полноценно пользоваться ресурсом, регистрироваться, добавлять данные, и т.д.
Кроме этого, если вдруг проект немного изменит свою структуру, нужно будет просто отредактировать класс, связанный с таблицей, и сделать рефреш, вместо достаточно продолжительных операций с базами данных.
Давайте подведем итоги.
Что вам потребуется для того, чтобы разобраться в ORM?
- - Изучите популярные базы данных и типы переменных;
- - Изучите подробно ООП на выбранном языке программирования
- - Изучите самостоятельно базы данных и виды связей между таблицами.
- - И изучите фреймворк, который популярен на рынке! Не забудьте вместе с ним изучить ORM систему, которая обычно используется совместно с ним.