2. Основные понятия
ООМД. (Логическая) модель данных, которая
учитывает семантику объектов, применяемую в
объектно-ориентированном программировании.
ООБД. Перманентный, совместно используемый
набор (коллекция) .объектов, определенный
средствами ООМД.
ООСУБД. Система управления (диспетчер) ООБД.
3. Минимальная совокупность
требований к ООСУБД
1. Предоставлять функциональные средства базы
данных.
2. Поддерживать идентичность объектов.
3. Обеспечивать инкапсуляцию.
4. Поддерживать объекты со сложным состоянием.
4. Перманентные языки
программирования
Перманентный язык программирования – язык,
который позволяет пользователям сохранять
данные непосредственно при выполнении
программы (не предусматривая для этого особых
действий), после чего эти данные могут
использоваться во многих других программах.
Язык программирования базы данных - язык, в
котором используются некоторые идеи, взятые
как из модели программирования баз данных, так
и из концепций общепринятых языков
программирования.
5. Цели исследователей
перманентных языков
Повышение производительности
программирования за счет использования
более простой семантики.
Устранение произвольно выбранных
конструкций, применяемых при
преобразовании данных и их долговременном
хранении.
Создание механизмов защиты для всей
вычислительной среды.
6. Подходы к разработке ООСУБД
Введение средств работы с базой данных в
существующий объектно-ориентированный язык
программирования.
Предоставление расширяемых объектно-
ориентированных библиотек СУБД.
Внедрение конструкций объектно-ориентированного
языка базы данных в обычный базовый язык.
Дополнение существующего языка базы данных
объектно-ориентированными функциями.
Разработка нового языка базы данных или модели
данных.
7. Компоненты ООСУБД
1. Модель данных
2. Перманентность данных
3. Совместное использование данных
4. Надежность
5. Масштабируемость
6. Безопасность и целостность
7. Распределенность
8. Особенности обычной СУБД.
Программист отвечает за принятие решения о
том, когда должно выполняться чтение или
обновление объектов данных (записей)
Программист должен создать код преобразования
данных между конструкциями объектной модели
приложения и модели данных СУБД (например,
отношениями), которые могут быть совершенно
разными
Программист отвечает за выполнение
дополнительной проверки типов при чтении
объекта из базы данных
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. Три типа методов
конструкторы и деструкторы - вырабатывает
и удаляет новые экземпляры класса );
методы доступа - возвращают значение
атрибута или набора атрибутов некоторого
экземпляра класса;
методы преобразования - изменяют
(преобразуют) состояние экземпляра класса.