Разделы презентаций


ORM Object-Relational Mapping

ОпределениеORM (англ. Object-relational mapping), (русск. Объектно-реляционная проекция) — технология программирования, которая связывает базы данных с концепциями объектно-ориентированных языков программирования, создавая «виртуальную объектную базу данных».

Слайды и текст этой презентации

Слайд 1ORM
Object-Relational Mapping

ORMObject-Relational Mapping

Слайд 2Определение
ORM (англ. Object-relational mapping), (русск. Объектно-реляционная проекция) — технология программирования,

которая связывает базы данных с концепциями объектно-ориентированных языков программирования, создавая

«виртуальную объектную базу данных».
ОпределениеORM (англ. Object-relational mapping), (русск. Объектно-реляционная проекция) — технология программирования, которая связывает базы данных с концепциями объектно-ориентированных

Слайд 3Зачем это нужно?


ООП
СУБД
?

Зачем это нужно?ООПСУБД?

Слайд 4Пример
Класс описывает таблицу elephants, в которой нас интересует одна колонка

color
типа string. Для манипуляции с таблицей есть колонка id,

являющаяся
целочисленным первичным ключом таблицы.

Мы можем создать новую строку в таблице:
elephant = Elephant.new() # Выполняет INSERT

и id будет назначен автоматически; поле color будет NULL. Или мы можем сразу занести данные:
elephant = Elephant.new(color="pink") # Выполняет INSERT

Мы можем извлечь существующую строку по id:
elephant = Elephant(id=2112)

или несколько строк поиском по цвету:
elephants = Elephant.select(color="pink")

В результате запроса в elephants окажется (возможно, пустой) список выбранных объектов.

Чтение атрибутов приводит к чтению данных (непосредственно из таблицы или из кэша):
color = elephant.color # Выполняет SELECT и, возможно, кэширует результат

Запись атрибутов приводит к записи информации в таблицу:
elephant.color = "pink" # Выполняет UPDATE и, возможно, обновляет кэш
ПримерКласс описывает таблицу elephants, в которой нас интересует одна колонка color типа string. Для манипуляции с таблицей

Слайд 5Достоинства
Существует явное описание схемы БД в терминах языка программирования; описание

это существует и изменяется в одном месте.
Программист манипулирует привычными

элементами языка программирования - классами, объектами (экземплярами классов), атрибутами и методами.
Автоматическая генерация SQL-запросов. Не надо менять зашитые в программу DML-запросы при изменении схемы БД. Не надо менять запросы при переносе на другую СУБД - низкоуровневый драйвер ORM будет создавать новые запросы сам.

ДостоинстваСуществует явное описание схемы БД в терминах языка программирования; описание это существует и изменяется в одном месте.

Слайд 6Недостатки
Объектно-реляционное отображение создаёт дополнительный слой между программой и базой данных.

Этот слой имеет свой собственный API, который необходимо изучить, а

это дополнительная нагрузка на программиста.
Этот слой создаёт дополнительный уровень абстракции, через который подчас бывает необходимо продраться, чтобы понять, где, что и как в программе работает (или не работает). Необходимо разобраться, где обычные классы, методы и атрибуты, а где объекты ORM, вызывающие побочные эффекты (пишем значение в атрибут, а оно пишется ещё и в БД).
Эта абстракция отображает друг на друга не вполне совместимые (по своим операциям) парадигмы - объектно-ориентированную и реляционную.
Дополнительный слой - это дополнительный код, который надо распространять вместе с программой; он вызывает увеличение объёма и падение скорости программы.
В случае ошибок в реализации ORM в программе возникают трудноотлаживаемые ошибки. Особенно тяжёлый случай - ошибки в реализации кэширования, когда ORM кэширует слишком мало, или наоборот, слишком агрессивно.
Недостатки конкретных реализаций.
НедостаткиОбъектно-реляционное отображение создаёт дополнительный слой между программой и базой данных. Этот слой имеет свой собственный API, который

Слайд 7Существующие решения

Существующие решения

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика