Файл: Базы данных - уч. пособие.pdf

Добавлен: 28.11.2018

Просмотров: 10871

Скачиваний: 43

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

2.3 Иерархическая модель данных

31

Такую иерархическую структуру принято также называть древовидной. Наи-

высший узел (в нашем примере СТУДЕНТЫ) называется корнем. Зависимые узлы
располагаются на более низких уровнях дерева. Узел, каждому экземпляру которо-
го можно поставить в соответствие несколько экземпляров другого узла, называ-
ется старшим элементом или родителем. Следующий за ним элемент в структуре
называется подчиненным элементом или потомком, который в свою очередь мо-
жет иметь несколько типов подчиненных элементов и быть старшим по отноше-
нию к ним. Тип связи в иерархической древовидной структуре определяется как
1:М — один-ко-многим.

Если на структуру наложено ограничение, согласно которому каждому эк-

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

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Элементы, не имеющие подчиненных, называют концевыми эле-
ментами
, или листьями.

Путь от концевого элемента до корневого называют ветвью.

Максимальное количество элементов в самой «длинной» ветви —
рангом структуры.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Корневой элемент определяет первый уровень структуры; элементы, непосред-

ственно связанные с корневым, — второй уровень и т. д. [2].

Формально дерево можно определить как иерархию элементов с попарными

связями, для которой выполняются следующие правила:

1) самый верхний уровень имеет только один узел или корневой сегмент;

2) каждый узел состоит из одного либо нескольких элементов данных, опи-

сывающих объект в узле;

3) каждый низший уровень может содержать зависимые узлы, и тогда узел,

находящийся на предыдущем уровне, называется исходным (родителем).
Зависимые узлы могут добавляться как вертикально, так и горизонтально;

4) каждый узел, находящийся на втором уровне, соединен с одним и только

одним узлом на уровне первом и т. д.;

5) исходный уровень может иметь в качестве зависимых любое количество

порожденных узлов;

6) доступ к каждому узлу за исключением корневого происходит через исход-

ный узел.

Применяются следующие операции по управлению данными в иерархической

модели данных:

• включение — добавление экземпляров в элемент структуры (операция ана-

логична операции вставки в линейных структурах) с ограничением на встав-
ку экземпляров при отсутствии старшего (для жесткой иерархии);


background image

32

Глава 2. Модели данных

• замена (обновление) — операция, аналогичная операции замены в линей-

ных структурах, однако для родительских элементов древовидной струк-
туры для обеспечения принципа жесткой иерархии необходимо автома-
тическое обновление полей связей экземпляров подчиненных элементов.
В некоторых иерархических СУБД допускается формальное отсутствие
ключевых полей в подчиненных элементах: ключи старших «мигрируют»
в подчиненные элементы;

• удаление — каскадное удаление всех экземпляров подчиненных элементов

при удалении соответствующих им старших при жесткой иерархии;

• выборка — возможность выборки подобного экземпляра. В отличие от опе-

рации выборки в линейных структурах операция позволяет произвести чте-
ние следующего экземпляра того же элемента структуры. Обеспечивается
также выборка подобного экземпляра в пределах исходного. Такая выборка
может быть осуществлена только после выборки экземпляра старшего эле-
мента, а читаются последовательно однотипные подчиненные, но только
связанные с выбранным «старшим» [2]. Возможна также выборка следу-
ющего экземпляра в иерархической последовательности, т. е. выборка дан-
ных по правилу перехода по дереву — «сверху вниз — слева направо».

Основными достоинством иерархической модели данных является простота

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

К недостаткам модели можно отнести сложность механизма обеспечения свя-

зей типа «многие-ко-многим» и, как следствие, невозможность легко представить
в виде древовидной структуры большинство предметных областей, а также отсут-
ствие гибкости при выполнении операций по манипулированию данными.

2.4 Сетевая модель данных

В сетевой модели объекты предметной области объединяются в сеть. Элемен-

тами такой сетевой структуры являются линейные структуры данных. Иерархи-
ческая структура является частным случаем сетевой. Связи в сетевой структуре
определяются так же, как и в иерархической. Заметим, что при определении свя-
зей в сетевой структуре допустимы следующие положения:

• в сетевой структуре может быть несколько главных элементов (корней)

либо главный элемент вообще может отсутствовать;

• допускается наличие более одной связи между двумя элементами структуры;

• подчиненный элемент может иметь более одного старшего;

• допускаются циклические связи;

• возможно наличие связей между экземплярами одного и того же элемента

структуры.

Поясним различие между понятиями элемент структуры (тип записи) и экзем-

пляр элемента структуры (экземпляр записи). СТУДЕНТЫ является типом струк-
туры, а «1112 Иванов И. И. 1987. . .» — экземпляром элемента структуры. Таким об-


background image

2.4 Сетевая модель данных

33

разом, в БД может иметься один или несколько экземпляров элемента структуры
или, что тоже верно, в БД может существовать любое множество экземпляров за-
писи некоторого типа.

На рисунке 2.7 приведен пример простой сетевой структуры. В этом приме-

ре мы расширили иерархическую структуру, предложенную в предыдущем под-
разделе, добавив два элемента: ПРЕПОДАВАТЕЛИ и ДИСЦИПЛИНА, предпо-
ложив, что один преподаватель может читать лекции по нескольким дисципли-
нам (связь 1:М). Элемент ДИСЦИПЛИНА также связан с элементом УСПЕВАЕ-
МОСТЬ (1:М). Таким образом, в элементах УСПЕВАЕМОСТЬ и КОНТРОЛЬНЫЕ
ТОЧКИ можно опустить поля «Наименование дисциплины», поскольку при уста-
новке соответствующих связей автоматически добавятся ключевые поля старших
структур в дочерние. Операции по обработке данных в сетевой модели аналогичны
соответствующим операциям для иерархической модели.

Рис. 2.7 – Сетевая структура данных

Основным достоинством сетевой модели является ее универсальность и воз-

можность реализации связей «многие-ко-многим». Главным недостатком является
ее сложность — разработчик должен детально знать структуру всей БД, даже той
части, которую не затрагивает его программа, поскольку необходимо осуществлять
навигацию среди различных элементов структуры.

Следующим шагом в развитии моделей данных является использование реля-

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


background image

34

Глава 2. Модели данных

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Контрольные вопросы по главе 2

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1. Дайте определения представлений данных.

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

3. Назовите правила построения иерархических структур.

4. Назовите и кратко охарактеризуйте типовые операции по управлению дан-

ными в дореляционных структурах.


background image

Глава 3

РЕЛЯЦИОННАЯ МОДЕЛЬ

3.1 Основные понятия реляционной модели

3.1.1 Общие сведения

Принципы реляционной модели данных были предложены Эдгаром Франком

Коддом в 1969 году. В своей статье [7] Кодд впервые изложил основные прин-
ципы построения реляционной модели данных. При проектировании реляцион-
ной БД применяются строгие методы, построенные на нормализации отношений.
Э. Ф. Кодд отмечает, что реляционная модель данных обеспечивает ряд возможно-
стей, которые делают управление БД и их использование относительно легким,
устойчивым по отношению к ошибкам и предсказуемым [8].

Термин «реляционная» говорит о том, что в основе модели лежит понятие

«отношение» (англ. relation). Наиболее важными характеристиками реляционной
модели являются следующие [8]:

• реляционная модель описывает данные с их естественной структурой, не

добавляя каких-либо дополнительных структур, необходимых для машин-
ного представления или для целей реализации;

• модель обеспечивает математическую основу для интеграции выводимо-

сти, избыточности и непротиворечивости отношений;

• реляционная модель позволяет добиться реальной независимости данных

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

Благодаря Э. Ф. Кодду компания IBM в начале 70-х годов начала разработку

нескольких коммерческих реляционных СУБД. В начале 80-х годов такие гиган-
ты информационной индустрии, как Oracle Corporation, Ingres Corp., IBM и более
мелкие организации предложили ряд систем, наглядно демонстрирующих возмож-
ность применения реляционной модели для разработки БД, хранящих информа-