Программирование >>  Реляционные базы данных 

1 ... 18 19 20 [ 21 ] 22 23 24 ... 125


2 7 Модели, гредставляющие исторический интерес

Вспомните, что тип логических записей Starsin на самом деле служит связую-шим типом для связи многие-ко-многим между кинозвездами и фильмами. В иерархической модели такие связи представляются путем создания виртуальной копии каждого из связанных типов. Виртуальные типы можно считать указателями на записи реальных типов, позволяюшими показать любую сеть в виде иерархии.

Пример 2.34. На рис. 2.31 показана иерархическая схема для примера с фильмами и кинозвездами. В данном лесу только два дерева. Первое имеет корень Stars и потомка vimial-Movies, второе имеет корень Movies и потомка virtual-Stars.

virtual Movies

(Movi

virtual Stars

Рие. 2.31. Иерархической ocewio для примеро с фильмами

Реальные данные, представленные в схеме на рис. 2.31, можно явно показать так, как это сделано на рис. 2.32.

Тип Stars имеет потомка virtual-Movies, поэтому каждая запись типа Stars имеет потомков типа virtual-Movies; виртуалыгые записи обозначены прямоугольниками, в которых есть слово to .


Sharon

Stone

to Basic Instinct

Basic Instinct

to Total Recall

Arnold

Schwarzenegger

Total

Recall



Total Recall

Sharon

Sharon

Arnold

Stone

Stone

Schwarzenegger

Рие. 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-мояели с множествами сушностей. упорядоченными в виде леса, и связями типа многие-к-одному только между предком и потомком.



1 ... 18 19 20 [ 21 ] 22 23 24 ... 125

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика