🗊Презентация ORM Object-Relational Mapping

Категория: Образование
Нажмите для полного просмотра!
ORM Object-Relational Mapping, слайд №1ORM Object-Relational Mapping, слайд №2ORM Object-Relational Mapping, слайд №3ORM Object-Relational Mapping, слайд №4ORM Object-Relational Mapping, слайд №5ORM Object-Relational Mapping, слайд №6ORM Object-Relational Mapping, слайд №7

Вы можете ознакомиться и скачать презентацию на тему ORM Object-Relational Mapping. Доклад-сообщение содержит 7 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

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


Слайд 1





ORM
Object-Relational Mapping
Описание слайда:
ORM Object-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. Для манипуляции с таблицей есть колонка 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 и, возможно, обновляет кэш

Слайд 5





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

Слайд 6





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

Слайд 7





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



Похожие презентации
Mypresentation.ru
Загрузить презентацию