Объектно-реляционная модель

Объектно-реляционные системы получили свое развитие на основе концептуального совпадения назначения и свойств двух фундаментальных понятий в реляционных и объектно-ориентированных базах данных: доменов и классов. Если определить домен немного шире, чем в реляционной модели, а именно как определенный пользователем инкапсулированный тип данных с произвольной внутренней сложностью, то увидим, что домен и класс – это одно и тоже. Следовательно, в ОРБД домены, и соответственно, реляционные атрибуты, могут содержать абсолютно все: массивы, списки, объекты вместе с методами обработки своих данных. Таким образом, реляционная модель данных, где в качестве доменов могут выступать классы, в принципе могла бы решать все задачи, выполняемые в ООБД и невыполняемые в реляционной БД.

Для обеспечения функциональности таких систем со стороны объектно-ориентированного подхода требуется поддержка определенных пользователем типов данных произвольной сложности вместе с методами обработки своих данных, а со стороны реляционного подхода требуется, чтобы отношения содержали сами объекты (по крайней мере концептуально), а не ссылки или указатели на них.

Примером ОРБД можно считать DB2 (IBM), Informix, и продукты Oracle 8.x. Системы предыдущих версий вплоть до Oracle 7.x считаются «чисто» реляционными.

2.10 Расширенная модель «сущность-связь»

Дальнейшее развитие модели «сущность-связь» привело к созданию расширенной ER модели или EER модели (Enhanced Entity-Relationship model). Эта модель включает все концепции ER модели и дополнительно включает понятия подкласса, суперкласса и относящиеся к ним понятия специализации, обобщения и категоризации. Большинство дополнительных понятий пришли из объектно-ориентированного подхода в программировании. Так суперклассом называется базовый класс, являющийся корнем иерархической структуры подклассов. Подклассы наследуют атрибуты базового класса и имеют дополнительно свои. Например, суперкласс «Служащие» и подклассы: «Секретарь», «Менеджер», «Инженер» и т.д. Тогда под специализацией понимают связь подкласса с суперклассом, а под обобщением – обратную связь. В общем случае в наследовании может принимать участие не только один суперкласс, а несколько, образуя категорию. Но в этом случае подкласс будет обладать выборочным наследованием, то есть наследовать атрибуты только одного суперкласса.

Отличие EER модели от объектно-ориентированной модели данных состоит в том, что она не поддерживает операции над атрибутами.

 

Упражнения

2.1. Дайте определение модели данных.

2.2. Отобразите схематично три области представления данных и на основе рисунка дайте определения базовым понятиям моделирования данных: объекту, предметной области, атрибуту данных, домену и записи данных.

2.3. Перечислите виды атрибутов данных.

2.4. Что такое ключевой элемент данных?

2.5. Дайте определение концептуальной модели данных.

2.6. Перечислите типы связей и дайте их определения.

2.7. Назовите основные модели данных.

2.8. Укажите достоинства и недостатки иерархической модели данных.

2.9. Укажите достоинства и недостатки сетевой модели данных.

2.10. Какой вид связи невозможно реализовать в иерархической модели данных?

2.11. Дайте определение модели «сущность-связь».

2.12. Назовите основные достоинства и недостатки ER модели.

2.13. Какие ограничения накладываются на связи между типами сущностей?

2.14. Разработайте модель «сущность-связь» расписания вылета самолетов, схема которой представлена на рис. 1.2.

2.15. Назовите условия, при соблюдении которых таблицу (реляционную модель данных) можно считать отношением.

2.16. Дайте определения каждому из следующих понятий реляционной модели данных: отношению, домену, кортежу, степени отношения, кардинальному числу, первичному и внешнему ключу.

2.17. Укажите различия между потенциальными ключами и первичным ключом отношения.

2.18. Что может служить идентификатором некоторой записи в реляционной модели данных: a) значение первичного ключа, b) значение потенциального ключа, c) значение внешнего ключа, d) порядковый номер записи в отношении?

2.19. Какие из нижеперечисленных терминов означают одно и тоже понятие в реляционной модели данных: домен, кортеж, отношение, строка, столбец, поле, запись, атрибут?

2.20. Покажите на простых примерах виды связей между отношениями в реляционной модели данных. Укажите только название отношения, первичные и внешние ключи и по одному, двум неключевым атрибутам.

2.21. Перечислите средства обеспечения ссылочной целостности в реляционной модели данных.

2.22. Перечислите основные отличительные свойства реляционной модели данных.

2.23. Перечислите основные достоинства и недостатки реляционной модели данных.

2.24. Чем отличается постреляционная модель данных от реляционной?

2.25. Сформулируйте назначение и основные принципы построения объектно-ориентированных БД.

2.26. Перечислите основные достоинства и недостатки многомерной модели данных.

2.26. На базе относительного сходства какого понятия в реляционной и объектно-ориентированной модели данных получили развитие объектно-реляционные БД.

2.27. Сформулируйте принципиальные отличия реляционной, объектно-ориентированной и объектно-реляционной модели данных.

2.28. Чем отличается расширенная ER модель от обычной ER модели?

2.29. Дайте определение многомерной модели данных. В чем состоит основное отличие многомерной модели от других моделей, которых вы знаете.

2.30. Перечислите основные достоинства и недостатки многомерной модели данных.