Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БД ЛЕКЦИИ 1 (Т 1 - 3).doc
Скачиваний:
9
Добавлен:
04.05.2019
Размер:
998.91 Кб
Скачать

2.1. Иерархическая модель

В иерархической модели связи между данными можно описать с помощью упорядоченного графа (или дерева). Упрощенно представление связей между данными в иерархической модели показано на рис. 2.1.

Рис. 2.1. Представление связей в иерархической модели

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

порожденный элемент имеет только одного “родителя”.

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

Для описания структуры иерархической БД используют тип данных “дерево”. Он является составным, т.е. включает подтипы. Пример типа “дерево”, как совокупности типов, показан на рис. 2.2.

Рис. 2.2. Пример типа данных «дерево»

Корневым называется тип, который имеет подчиненные типы и сам не является подтипом. Подчиненный тип (подтип) является потомком по отношению к типу, который выступает для него в роли предка (родителя). Потомки одного и того же типа являются близнецами по отношению друг к другу.

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

В соответствии с определением типа «дерево», можно заключить, что между предками и потомками автоматически поддерживается контроль целостности связей. Основное правило контроля целостности: потомок не может существовать без родителя, а у некоторых родителей не может быть потомков. Механизмы поддерживания целостности связей между записями различных деревьев отсутствуют.

К достоинствам иерархической модели данных относятся эффективное использование памяти ЭВМ и неплохие показатели времени выполнения основных операций над данными. Такая модель данных удобна для работы с иерархически упорядоченной информацией.

Рис. 2.3. Пример данных в иерархической базе

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

На иерархической модели данных основано ограниченное количество СУБД.

2.2. Сетевая модель

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

Рис. 2.4. Представление связей в сетевой модели

Для описания схемы сетевой БД используется две группы типов: «запись» и «связь». Тип «связь» определяется для двух типов «запись»: предка и потомка.

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

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

Пример схемы простейшей сетевой БД показан на рис. 2.5. Типы связей здесь обозначены надписями на соединяющих типы записей линиях.

Рис. 2.5. Пример схемы сетевой БД

Достоинствами сетевой модели данных является небольшие затраты памяти и оперативность. В сравнении с иерархической моделью сетевая модель предоставляет больше возможностей при образовании произвольных связей.

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

Системы на основе сетевой модели не получили широкого распространения на практике.