![]() |
|
Программирование >> Реляционные базы данных
2 7 Модели, гредставляющие исторический интерес Вспомните, что тип логических записей Starsin на самом деле служит связую-шим типом для связи многие-ко-многим между кинозвездами и фильмами. В иерархической модели такие связи представляются путем создания виртуальной копии каждого из связанных типов. Виртуальные типы можно считать указателями на записи реальных типов, позволяюшими показать любую сеть в виде иерархии. Пример 2.34. На рис. 2.31 показана иерархическая схема для примера с фильмами и кинозвездами. В данном лесу только два дерева. Первое имеет корень Stars и потомка vimial-Movies, второе имеет корень Movies и потомка virtual-Stars.
(Movi virtual Stars Рие. 2.31. Иерархической ocewio для примеро с фильмами Реальные данные, представленные в схеме на рис. 2.31, можно явно показать так, как это сделано на рис. 2.32. Тип Stars имеет потомка virtual-Movies, поэтому каждая запись типа Stars имеет потомков типа virtual-Movies; виртуалыгые записи обозначены прямоугольниками, в которых есть слово to . ![]()
to Basic Instinct Basic Instinct to Total Recall
![]() ![]() Total Recall
Рие. 2.32. Иерорхическое представление фонтов о филыме/нинозеезос Значение иерархий Можно задаться вопросом, почему странные требования иерархической модели некогда имели сильное влияние в индустрии БД. Простейший ответ иа него в том. что организуя данные в иерархию с виртуальными типами записей только тогда, когда это необходимо, можно хранить данные, объединяя записи с их предками в последующем файле. Например, можно хранить данные, представленные на рис. 2.32, с помощью записи Шерон Стоун, за которой следуют все принаолежащие ей записи, а под ней находятся указатели virtual-Movies. При попытке получить доступ к данным двигаясь вниз по дереву, .можно поискать их в ближайшем файле и перейти от родительских записей к дочерним. Таким образом уменьшается количество времени, необходимого для получения нужной информации с диска. В данном примере от такого метода мало пользы, поскольку следование указателю, представленному виртуальными типами, приводит в случайным образом расположенные места на диске, в которых хранится информация о фильмах. Однако, за исключением случая со связями типа многие-ко-миогим , выполнение запросов в иерархической структуре значительно повышает прои зводительность 2.7.4 Упражнения к разделу 2.7 Упражнение 2.7.1. Выразите в сетевой модели проекты, описанные в *а) упражнении 2.1.1 b) упражнении 2.1.3 c) упражнении 2.1.5 d) упражнении 2.3.2. Упражнение 2.7.2. Повторите упражт1ецие 2.7.1 в иерархической модели. Упрожнение 2.7.3. Предположим, что имеется диаграм.ма сущности-связи с п .множествами сущностей и т бинарными связями. Каково максимальное и минимальное число связей, необходимых при конвертировании этой диаграммы в сетевую людель? Помните, что каждая связь ,\южет быть типа многие-ко-многим , многие-к-одному или один к одному . Упрожнение 2.7.4. Предположим, что имеется диа1рамма сушности-связи с I! множества.ми сущностей и т бинарными связями. Назовите максимальное и минимальное число виртуальных типов, необходимых пля представления этой диаграммы в иерархической модели. Упрожнение 2.7.5. Как изменятся результаты выполнения упражнений 2.7.3 и 2.7.4, если связи А-арны для Л: > 2? Например, запись Шерон Стоун из Stars и.меет двух потомков, каждый из которых является указателем на запись Movies, в данном случае для Основного инстинкта и Вспомнить все . Чтобы проследить связь типа мноп1е-ко-.многим между кинозвездами и фильмами, можно начать с записи Stars типа Шерон Стоун и перейти к ее дочерним записям virtual-Movies, а затем от каждой из них к реальной записи Movies. □ 2.8 Итоги 65 2.8 Итоги * Обозначения проектов. Проектирование БД часто проводится с помощью Е/Р-модели или объектно-ориентированной модели типа ODL. Предполагается, что E/R-модель переводится в модель реальной системы БД, часто в реляционную модель. Проекты ODL либо трактуются точно ТЯК же, либо служат (почти) прямым вводом в объектно-ориентированную систему БД, + Язык описания объектов (ODL). в этом языке классы объектов описываются с помощью атрибутов, связей и методов. Атрибуты представлены их типами данных. Система типов ODL включает в себя обычные базовые типы, например целые числа, и конструкции типов, сформированные из структур записей, множеств, мультимножеств, списков и наборов. Связи описываются с помощью класса, с которым они связаны, и могут быть односторонними или многосторонними. > Диаграммы сущности-связи (E/R). В E/R-модели описываются множества сущностей и связи межау ними. Члены этих множеств называются сущностями. МножеС1Ва сущностей, связи и атрибуты обозначаются соответственно прямоугольниками, ромбами и овалами. > Множественность связей. Связи в ODL или E/R обычно различают по их множественности. Бинарные связи могут быть типа один-к-одному , многие-к-одному или многие-ко-многим . Связи между более чем двумя множествами сущностей (классами) допустимы в E/R, но не в ODL. + Слабые множества сущностей. Е/К-.модель иногда осложняется тем, что в ней возникает слабое множество сушностей, требующее атрибутов другого связанного с ним множества или множеств для определения собственных сушностей. Для обозначения слабых множеств сущностей применяется специальная нотация, вюгючающая в себя двойные прямоугольники и двойные ромбы. + Хороший проект. Эффективное проектирование БД требует, чтобы выбранная нотация (например, ODL или E/R) правильно отражала реальный мир с помощью подходящих элементов (связей и атрибутов) и была свободна от избыточности: повторений одного и того же факта или выражений в косвенной или слишком сложной форме. + Подклассы. ODL и E/R поддерживает специальные классы или множества сущностей, ODL имеет классы и наследование, а E/R использует специальную связь isa для выражения того факта, что одно множество сущностей является специальным случаем другого. + Kjuouu. в ODL и E/R множества атрибутов можно объявлять ключами, имея в виду, что их значения уникальным образом определяют объект или сущность. ODL имеет также обозначения идентификаторов объектов - значений, которые уникальным образом определяют объекты, но недоступны для пользователя. * Сетевая модель. Эта модель в настоящее время используется редко. Она аналогична E/R-диаграммам. ограниченным бинарными связями типа многие-к-одному . * Иерархическая модель. Эта модель сейчас тоже используется не часто. Оиа соответствует E/R-мояели с множествами сушностей. упорядоченными в виде леса, и связями типа многие-к-одному только между предком и потомком.
|
© 2006 - 2025 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |