SlideShare a Scribd company logo
1 of 26
Лекция №11.
Объектно-ориентированные СУБД – концепции и
проектирование.
Основные понятия
ООМД. (Логическая) модель данных, которая
учитывает семантику объектов, применяемую в
объектно-ориентированном программировании.
ООБД. Перманентный, совместно используемый
набор (коллекция) .объектов, определенный
средствами ООМД.
ООСУБД. Система управления (диспетчер) ООБД.
Минимальная совокупность
требований к ООСУБД
1. Предоставлять функциональные средства базы
данных.
2. Поддерживать идентичность объектов.
3. Обеспечивать инкапсуляцию.
4. Поддерживать объекты со сложным состоянием.
Перманентные языки
программирования
Перманентный язык программирования – язык,
который позволяет пользователям сохранять
данные непосредственно при выполнении
программы (не предусматривая для этого особых
действий), после чего эти данные могут
использоваться во многих других программах.
Язык программирования базы данных - язык, в
котором используются некоторые идеи, взятые
как из модели программирования баз данных, так
и из концепций общепринятых языков
программирования.
Цели исследователей
перманентных языков
Повышение производительности
программирования за счет использования
более простой семантики.
Устранение произвольно выбранных
конструкций, применяемых при
преобразовании данных и их долговременном
хранении.
Создание механизмов защиты для всей
вычислительной среды.
Подходы к разработке ООСУБД
Введение средств работы с базой данных в
существующий объектно-ориентированный язык
программирования.
Предоставление расширяемых объектно-
ориентированных библиотек СУБД.
Внедрение конструкций объектно-ориентированного
языка базы данных в обычный базовый язык.
Дополнение существующего языка базы данных
объектно-ориентированными функциями.
Разработка нового языка базы данных или модели
данных.
Компоненты ООСУБД
1. Модель данных
2. Перманентность данных
3. Совместное использование данных
4. Надежность
5. Масштабируемость
6. Безопасность и целостность
7. Распределенность
Особенности обычной СУБД.
Программист отвечает за принятие решения о
том, когда должно выполняться чтение или
обновление объектов данных (записей)
Программист должен создать код преобразования
данных между конструкциями объектной модели
приложения и модели данных СУБД (например,
отношениями), которые могут быть совершенно
разными
Программист отвечает за выполнение
дополнительной проверки типов при чтении
объекта из базы данных
Двухуровневая модель хранения
в обычной (реляционной) СУБД
Одноуровневая модель
хранения в ООСУБД
Методы подстановки
указателей
Подстановка указателей - прямое и обратное
преобразование идентификаторов объектов в
указатели оперативной памяти.
Основная цель подстановки указателей заключается
в оптимизации доступа к объектам
Классификация методов
преобразования указателей
1. Подстановка за счет копирования или
непосредственная подстановка
2. Методы предварительной и отложенной
подстановки
3. Прямая и косвенная подстановка
Этапы доступа к объекту в
обычной СУБД
1. СУБД определяет страницу во внешнем устройстве
хранения, содержащую требуемую запись
2. СУБД последовательно переносит требуемые
элементы записи из кэша в пространство памяти
приложения
3. Приложение может обновлять значения полей в
своем собственном пространстве памяти
4. Модифицированные приложением поля данных
средствами языка SQL переносятся назад в кэш СУБД
5. СУБД сохраняет обновленную страницу на внешнем
устройстве хранения
Этапы доступа к объекту в
ООСУБД
1. ООСУБД находит на внешнем устройстве хранения
страницу, содержащую требуемый объект, используя
его OID или индекс
2. ООСУБД может затем выполнить несколько
различных преобразований
подстановку ссылок (указателей) одного объекта на
другой;
введение в состав данных объекта информации
изменение формата представления данных, созданных
разных аппаратных платформах или языках
программирования
Этапы доступа к объекту в
ООСУБД
3. Приложение осуществляет непосредственный доступ
к объекту и обновляет его по мере необходимости.
4. Когда приложению потребуется сделать внесенные
изменения перманентными или просто выгрузить на
время страницу из кэша на диск, то перед
копированием страницы на внешнее устройство
хранения ООСУБД должна выполнить обратные
преобразования, аналогичные описанным выше
Перманентность
СУБД должна предоставлять поддержку хранения
перманентных (persistent) объектов,
сохраняющихся даже после завершения
пользовательского сеанса или прикладной
программы, во время которых они были созданы.
Схемы обеспечения перманентности:
Создание контрольных точек.
Сериализация
Явная подкачка объектов
Преимущества объектно-
ориентированных СУБД
Улучшенные возможности моделирования
Расширяемость
Устранение проблемы несоответствия типов
Более выразительный язык запросов
Поддержка эволюции схемы
Поддержка долговременных транзакций
Применимость для сложных специализированных
приложений баз данных
Повышенная производительность
Недостатки объектно-
ориентированных СУБД
Отсутствие универсальной модели данных
Недостаточность опыта эксплуатации
Отсутствие стандартов
Конкуренция со стороны СУБД других типов
Влияние оптимизации запросов на инкапсуляцию
Влияние блокировки на уровне объекта на
производительность
Сложность
Отсутствие поддержки представлений
Недостаточность средств обеспечения защиты
Проектирование объектно-
ориентированной базы данных
Методология концептуального и логического
проектирования базы данных, которая основана
на создании EER-модели, имеет определенное
сходство с объектно-ориентированным
моделированием данных (Object-Oriented Data
Modeling – OODM)
Сравнение объектной и
реляционной моделей
Объектное
моделирование
Логическое
моделирование
Существующие отличия
Объект Сущность
Объект содержит сведения о правилах
поведения
Атрибут Атрибут Нет
Связь Связь
Те же ассоциативные связи, но
наследование в модели ООМД
включает сведения о состоянии и
правилах поведения
Сообщения
В логической модели нет такого
понятия
Класс Тип сущности Нет
Экземпляр Сущность Нет
Инкапсуляция
В логической модели нет такого
понятия
Связи и ссылочная
целостность
В объектно-ориентированной модели данных связи
представлены с помощью ссылочных атрибутов,
которые обычно реализуются с помощью
идентификаторов OID.
В методологии все связи, отличные от
двухсторонних (например, трехсторонние),
преобразуются в двухсторонние.
Связи
типа
"один
ко
многим"
(1:*)
Связь
типа
"многие
ко
многим"
(*:*)
Проектирование правил
поведения
Для полного проектирования объектно-
ориентированной базы данных одного только
EER-подхода недостаточно
Необходимо дополнить его некоторой
технологией определения и документирования
правил поведения каждого класса объектов
В объектно-ориентированном анализе
требования, предъявляемые к обработке данных,
реализуются путем создания набора методов,
уникальных для каждого класса
Три типа методов
конструкторы и деструкторы - вырабатывает
и удаляет новые экземпляры класса );
методы доступа - возвращают значение
атрибута или набора атрибутов некоторого
экземпляра класса;
методы преобразования - изменяют
(преобразуют) состояние экземпляра класса.
СПАСИБО ЗА ВНИМАНИЕ

More Related Content

Viewers also liked

За гранью NoSQL: NewSQL на Cassandra
За гранью NoSQL: NewSQL на CassandraЗа гранью NoSQL: NewSQL на Cassandra
За гранью NoSQL: NewSQL на Cassandra
odnoklassniki.ru
 
Транзакции и блокировки в MySql. Теория и практика
Транзакции и блокировки в MySql. Теория и практикаТранзакции и блокировки в MySql. Теория и практика
Транзакции и блокировки в MySql. Теория и практика
Nikolay Gondin
 
NoSQL - коротко о главном / Сергей Туленцев (TextMaster)
NoSQL - коротко о главном / Сергей Туленцев (TextMaster)NoSQL - коротко о главном / Сергей Туленцев (TextMaster)
NoSQL - коротко о главном / Сергей Туленцев (TextMaster)
Ontico
 

Viewers also liked (8)

Базы данных лекция №9
Базы данных лекция №9Базы данных лекция №9
Базы данных лекция №9
 
Базы данных лекция №5
Базы данных лекция №5Базы данных лекция №5
Базы данных лекция №5
 
Базы данных лекция №12
Базы данных лекция №12Базы данных лекция №12
Базы данных лекция №12
 
За гранью NoSQL: NewSQL на Cassandra
За гранью NoSQL: NewSQL на CassandraЗа гранью NoSQL: NewSQL на Cassandra
За гранью NoSQL: NewSQL на Cassandra
 
Как работают транзакции. Лекция 3
Как работают транзакции. Лекция 3Как работают транзакции. Лекция 3
Как работают транзакции. Лекция 3
 
Транзакции и блокировки в MySql. Теория и практика
Транзакции и блокировки в MySql. Теория и практикаТранзакции и блокировки в MySql. Теория и практика
Транзакции и блокировки в MySql. Теория и практика
 
Lecture 2. mobile business strategy
Lecture 2. mobile business strategyLecture 2. mobile business strategy
Lecture 2. mobile business strategy
 
NoSQL - коротко о главном / Сергей Туленцев (TextMaster)
NoSQL - коротко о главном / Сергей Туленцев (TextMaster)NoSQL - коротко о главном / Сергей Туленцев (TextMaster)
NoSQL - коротко о главном / Сергей Туленцев (TextMaster)
 

Similar to Базы данных лекция №11

006
006006
006
JIuc
 
основные понятия
основные понятияосновные понятия
основные понятия
23padopi
 
основные понятия баз данных
основные понятия баз данныхосновные понятия баз данных
основные понятия баз данных
23padopi
 
основные понятия баз данных
основные понятия баз данныхосновные понятия баз данных
основные понятия баз данных
23padopi
 
субд
субдсубд
субд
Sai_17
 
раздел 1 введение в базы данных
раздел 1  введение в базы данныхраздел 1  введение в базы данных
раздел 1 введение в базы данных
tatianabtt
 
субд
субдсубд
субд
Sai_17
 
субд
субдсубд
субд
Sai_17
 
Konspekt
KonspektKonspekt
Konspekt
Artem
 
001
001001
001
JIuc
 

Similar to Базы данных лекция №11 (20)

DBD lection 1. Intro in Database Design. In Russian.
DBD lection 1. Intro in Database Design. In Russian.DBD lection 1. Intro in Database Design. In Russian.
DBD lection 1. Intro in Database Design. In Russian.
 
006
006006
006
 
основные понятия
основные понятияосновные понятия
основные понятия
 
Управление Данными. Лекция 1
Управление Данными. Лекция 1Управление Данными. Лекция 1
Управление Данными. Лекция 1
 
проектная работа на тему субд
проектная работа на тему субдпроектная работа на тему субд
проектная работа на тему субд
 
10 субд
10 субд10 субд
10 субд
 
тема 12
тема 12тема 12
тема 12
 
основные понятия баз данных
основные понятия баз данныхосновные понятия баз данных
основные понятия баз данных
 
основные понятия баз данных
основные понятия баз данныхосновные понятия баз данных
основные понятия баз данных
 
Понятия технологии разработки объектно-ориентированных информационных систем ...
Понятия технологии разработки объектно-ориентированных информационных систем ...Понятия технологии разработки объектно-ориентированных информационных систем ...
Понятия технологии разработки объектно-ориентированных информационных систем ...
 
субд
субдсубд
субд
 
раздел 1 введение в базы данных
раздел 1  введение в базы данныхраздел 1  введение в базы данных
раздел 1 введение в базы данных
 
субд
субдсубд
субд
 
субд
субдсубд
субд
 
лекция 17
лекция 17лекция 17
лекция 17
 
Рабочая учебная программа
Рабочая учебная программаРабочая учебная программа
Рабочая учебная программа
 
Konspekt
KonspektKonspekt
Konspekt
 
лекция № 7
лекция № 7лекция № 7
лекция № 7
 
бд
бдбд
бд
 
001
001001
001
 

More from Vitaliy Pak

More from Vitaliy Pak (18)

Lecture 5. Secure agent roaming for mobile business
Lecture 5. Secure agent roaming for mobile businessLecture 5. Secure agent roaming for mobile business
Lecture 5. Secure agent roaming for mobile business
 
Trend of 4th induatrial revolution linked application service technology base...
Trend of 4th induatrial revolution linked application service technology base...Trend of 4th induatrial revolution linked application service technology base...
Trend of 4th induatrial revolution linked application service technology base...
 
Ai in farming
Ai in farmingAi in farming
Ai in farming
 
Lecture 4. information delivery for mobile business
Lecture 4. information delivery for mobile businessLecture 4. information delivery for mobile business
Lecture 4. information delivery for mobile business
 
Lecture 3. A methodology for M-Tansformation of small and medium enterprises
Lecture 3. A methodology for M-Tansformation of small and medium enterprisesLecture 3. A methodology for M-Tansformation of small and medium enterprises
Lecture 3. A methodology for M-Tansformation of small and medium enterprises
 
Lecture 1. the definition of mobile business
Lecture 1. the definition of mobile businessLecture 1. the definition of mobile business
Lecture 1. the definition of mobile business
 
Базы данных лекция №7
Базы данных лекция №7Базы данных лекция №7
Базы данных лекция №7
 
Базы данных лекция №6
Базы данных лекция №6Базы данных лекция №6
Базы данных лекция №6
 
Базы данных лекция №10
Базы данных лекция №10Базы данных лекция №10
Базы данных лекция №10
 
Базы данных лекция №8
Базы данных лекция №8Базы данных лекция №8
Базы данных лекция №8
 
Difference between Chinese and Korean
Difference between Chinese and KoreanDifference between Chinese and Korean
Difference between Chinese and Korean
 
IT in Korea
IT in KoreaIT in Korea
IT in Korea
 
лекция 1. введение в веб технологии
лекция 1. введение в веб технологиилекция 1. введение в веб технологии
лекция 1. введение в веб технологии
 
Двухфакторная аутентификация
Двухфакторная аутентификацияДвухфакторная аутентификация
Двухфакторная аутентификация
 
Базы данных лекция №4
Базы данных лекция №4Базы данных лекция №4
Базы данных лекция №4
 
Базы данных лекция №3
Базы данных лекция №3Базы данных лекция №3
Базы данных лекция №3
 
Базы данных лекция №2
Базы данных лекция №2Базы данных лекция №2
Базы данных лекция №2
 
Базы данных лекция №1
Базы данных лекция №1Базы данных лекция №1
Базы данных лекция №1
 

Базы данных лекция №11

  • 1. Лекция №11. Объектно-ориентированные СУБД – концепции и проектирование.
  • 2. Основные понятия ООМД. (Логическая) модель данных, которая учитывает семантику объектов, применяемую в объектно-ориентированном программировании. ООБД. Перманентный, совместно используемый набор (коллекция) .объектов, определенный средствами ООМД. ООСУБД. Система управления (диспетчер) ООБД.
  • 3. Минимальная совокупность требований к ООСУБД 1. Предоставлять функциональные средства базы данных. 2. Поддерживать идентичность объектов. 3. Обеспечивать инкапсуляцию. 4. Поддерживать объекты со сложным состоянием.
  • 4. Перманентные языки программирования Перманентный язык программирования – язык, который позволяет пользователям сохранять данные непосредственно при выполнении программы (не предусматривая для этого особых действий), после чего эти данные могут использоваться во многих других программах. Язык программирования базы данных - язык, в котором используются некоторые идеи, взятые как из модели программирования баз данных, так и из концепций общепринятых языков программирования.
  • 5. Цели исследователей перманентных языков Повышение производительности программирования за счет использования более простой семантики. Устранение произвольно выбранных конструкций, применяемых при преобразовании данных и их долговременном хранении. Создание механизмов защиты для всей вычислительной среды.
  • 6. Подходы к разработке ООСУБД Введение средств работы с базой данных в существующий объектно-ориентированный язык программирования. Предоставление расширяемых объектно- ориентированных библиотек СУБД. Внедрение конструкций объектно-ориентированного языка базы данных в обычный базовый язык. Дополнение существующего языка базы данных объектно-ориентированными функциями. Разработка нового языка базы данных или модели данных.
  • 7. Компоненты ООСУБД 1. Модель данных 2. Перманентность данных 3. Совместное использование данных 4. Надежность 5. Масштабируемость 6. Безопасность и целостность 7. Распределенность
  • 8. Особенности обычной СУБД. Программист отвечает за принятие решения о том, когда должно выполняться чтение или обновление объектов данных (записей) Программист должен создать код преобразования данных между конструкциями объектной модели приложения и модели данных СУБД (например, отношениями), которые могут быть совершенно разными Программист отвечает за выполнение дополнительной проверки типов при чтении объекта из базы данных
  • 9. Двухуровневая модель хранения в обычной (реляционной) СУБД
  • 11. Методы подстановки указателей Подстановка указателей - прямое и обратное преобразование идентификаторов объектов в указатели оперативной памяти. Основная цель подстановки указателей заключается в оптимизации доступа к объектам
  • 12. Классификация методов преобразования указателей 1. Подстановка за счет копирования или непосредственная подстановка 2. Методы предварительной и отложенной подстановки 3. Прямая и косвенная подстановка
  • 13. Этапы доступа к объекту в обычной СУБД 1. СУБД определяет страницу во внешнем устройстве хранения, содержащую требуемую запись 2. СУБД последовательно переносит требуемые элементы записи из кэша в пространство памяти приложения 3. Приложение может обновлять значения полей в своем собственном пространстве памяти 4. Модифицированные приложением поля данных средствами языка SQL переносятся назад в кэш СУБД 5. СУБД сохраняет обновленную страницу на внешнем устройстве хранения
  • 14. Этапы доступа к объекту в ООСУБД 1. ООСУБД находит на внешнем устройстве хранения страницу, содержащую требуемый объект, используя его OID или индекс 2. ООСУБД может затем выполнить несколько различных преобразований подстановку ссылок (указателей) одного объекта на другой; введение в состав данных объекта информации изменение формата представления данных, созданных разных аппаратных платформах или языках программирования
  • 15. Этапы доступа к объекту в ООСУБД 3. Приложение осуществляет непосредственный доступ к объекту и обновляет его по мере необходимости. 4. Когда приложению потребуется сделать внесенные изменения перманентными или просто выгрузить на время страницу из кэша на диск, то перед копированием страницы на внешнее устройство хранения ООСУБД должна выполнить обратные преобразования, аналогичные описанным выше
  • 16. Перманентность СУБД должна предоставлять поддержку хранения перманентных (persistent) объектов, сохраняющихся даже после завершения пользовательского сеанса или прикладной программы, во время которых они были созданы. Схемы обеспечения перманентности: Создание контрольных точек. Сериализация Явная подкачка объектов
  • 17. Преимущества объектно- ориентированных СУБД Улучшенные возможности моделирования Расширяемость Устранение проблемы несоответствия типов Более выразительный язык запросов Поддержка эволюции схемы Поддержка долговременных транзакций Применимость для сложных специализированных приложений баз данных Повышенная производительность
  • 18. Недостатки объектно- ориентированных СУБД Отсутствие универсальной модели данных Недостаточность опыта эксплуатации Отсутствие стандартов Конкуренция со стороны СУБД других типов Влияние оптимизации запросов на инкапсуляцию Влияние блокировки на уровне объекта на производительность Сложность Отсутствие поддержки представлений Недостаточность средств обеспечения защиты
  • 19. Проектирование объектно- ориентированной базы данных Методология концептуального и логического проектирования базы данных, которая основана на создании EER-модели, имеет определенное сходство с объектно-ориентированным моделированием данных (Object-Oriented Data Modeling – OODM)
  • 20. Сравнение объектной и реляционной моделей Объектное моделирование Логическое моделирование Существующие отличия Объект Сущность Объект содержит сведения о правилах поведения Атрибут Атрибут Нет Связь Связь Те же ассоциативные связи, но наследование в модели ООМД включает сведения о состоянии и правилах поведения Сообщения В логической модели нет такого понятия Класс Тип сущности Нет Экземпляр Сущность Нет Инкапсуляция В логической модели нет такого понятия
  • 21. Связи и ссылочная целостность В объектно-ориентированной модели данных связи представлены с помощью ссылочных атрибутов, которые обычно реализуются с помощью идентификаторов OID. В методологии все связи, отличные от двухсторонних (например, трехсторонние), преобразуются в двухсторонние.
  • 24. Проектирование правил поведения Для полного проектирования объектно- ориентированной базы данных одного только EER-подхода недостаточно Необходимо дополнить его некоторой технологией определения и документирования правил поведения каждого класса объектов В объектно-ориентированном анализе требования, предъявляемые к обработке данных, реализуются путем создания набора методов, уникальных для каждого класса
  • 25. Три типа методов конструкторы и деструкторы - вырабатывает и удаляет новые экземпляры класса ); методы доступа - возвращают значение атрибута или набора атрибутов некоторого экземпляра класса; методы преобразования - изменяют (преобразуют) состояние экземпляра класса.