Иерархические и сетевые модели данных

Сложными моделями данных внутримашинной сферы (по сравнению с файловой) является иерархические и сетевые модели, которые поддерживаются СУБД соответствующего типа (в готовом варианте они не существуют). Иерархические и сетевые модели данных создает пользователь программным путем. Тип модели данных, поддерживаемой СУБД на машинном носителе, является одним из важных признаков классификации СУБД. Иерархические и сетевые модели данных представляют соответствующий метод логической организации базы данных в СУБД. Эти модели предусматривают совокупность взаимосвязанных объектов. Связь двух объектов отражает их подчиненность. Объектом как в сетевой, так и в иерархической моделях есть основной тип структур данных из тех, которые поддерживаются СУБД. В разных СУБД этот тип структур данных может по-разному быть определен и назван (тип записи, файл, сегмент).

В этих моделях база данных формируется из записей фиксированного формата, которые могут иметь различные типы. Каждый тип записи предусматривает определенное количество полей фиксированной длины, поэтому сетевую и иерархическую модели данных относят к моделям на основе записей. Структурными единицами сетевой и иерархической моделей данных является элемент данных, агрегат данных, запись, база данных и тому подобное. Элемент данных - это минимальная поименована структурная единица данных (аналог поля в файловых системах). Агрегат данных - это поименована подмножество элементов данных или других агрегатов внутри записи. Запись - это сложный агрегат, который не входит в состав других агрегатов. Он характеризуется структурой взаимосвязей ее элементов и агрегатов. Таким образом, структура записи может иметь иерархический характер. Все экземпляры записи одинаковой структуры создают тип записи. Запись конкретного типа является объектом в модели данных. Совокупность взаимосвязанных конкретных объектов модели для определенной предметной области образует базу данных.

Связи между двумя типами записей (объектами модели) определяются групповыми отношениями между их экземплярами. Групповое отношение (набор) - это строго иерархическое отношение между записями двух типов: главным записью набора и подчиненными записями набора.

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

Иерархическая модель данных строится по принципу подчиненности между элементами данных и характеризуется древовидной структурой, состоящей из узлов (сегментов) и дуг (ветвей). Дерево в иерархической структуре упорядоченное по правилам его сегментов и ветвей: на верхнем уровне - один корневой (выходной) сегмент; сегмент второго уровня, порожденный, зависит от первого, выходного; доступ к каждому порожденного (кроме корневого) осуществляется через его выходной сегмент; каждый сегмент может иметь несколько экземпляров конкретных значений элементов данных, а каждый элемент порожденного сегмента связан с экземпляром выходного и создает одну логическую запись; экземпляр порожденного сегмента не может существовать самостоятельно, то есть без корневого сегмента; при изъятии экземпляра корневого сегмента изымаются также все подчиненные и взаимосвязанные с ним экземпляры порожденных сегментов (рис. 2.14).

Структура иерархической модели данных

Рис. 2.14. Структура иерархической модели данных

Корневым сегментом является сегмент F - факультет, а его порожденными сегментами - кафедры (К ,, К2, п). Порожденными для сегмента "Кафедра" являются преподаватели (V) и дисциплины (D). Сегменты-преподаватели имеют порожденные сегмента - (G), в которых они ведут занятия по соответствующим дисциплинам. В иерархических моделях доступ по ключу, как правило, возможен только к объекту самого высокого уровня, который не подчинен другим объектам. К другим объектам доступ осуществляется по связям от объекта на вершине модели.

Первой коммерческой СУБД, поддерживает иерархическую структуру данных, стала система IMS (Information Management System). Она до сих пор остается основной иерархической СУБД, используется на мэйнфреймах.

Далее приведен фрагмент описания (создание иерархической модели данных) в системе СУБД IMS корневого и дочерних типов сегментов на примере иерархии записей, представленном в табл. 2.2 и 2.3.

Таблица 2.2

Подразделения предприятия

Код подразделения

Адрес

№ телефона

№_факсу

А01

Львов, просп. Шевченко, 27

43-54-97

083-322-49-23-12

А02

Львов, дядю. Коперника, 13

97-45-88

083-322-97-11-34

В15

Ужгород, ул. Тихого, 11

22-17-90

083-664-32-11-90

В19

Стрый, ул. Сечевых стрельцов, 34

23-65-12

665-322-98-12

Таблица 2.3

Сотрудники предприятия

Таб№

Фамилия,

имя, отчество

Адрес

№ тел

Должность

Пол

Дата рождения

Оклад

Код подразделения

А01123

Варанчук М. Г.

Львов,

Торфяная, 12

593411

бух.

же

5-вер-76

780

А01

А01123

Волк С. П.

Львов, Восточная, 56

531398

Инспе.

ч

23-ж0в-79

690

А01

А02118

Комов Н. К.

Львов,

Любинская, 35

348955

бух.

же

14-чер-68

780

А02

А02119

Капустин В. П.

Львов,

Чупрынки, 47

796723

управляющие.

ч

21-Сич-69

890

А02

А02119

Тымкив В. Ю.

Львов, Кульпарков-ская, 117

862341

спек.

же

22-лют-71

770

А02

В15231

Крук С. Б.

Ужгород, Шевченко, 3

882311

вахтер

же

15-бер-75

830

B15

В15240

Бабинов С. Б.

Ужгород, Труша, 23

239078

менед.

ч

02-лип-77

850

В15

В19112

Хрунов М. М.

Стрый, Липы, 87

128845

при-бир.

же

15-чер-72

650

B19

Фрагмент описания иерархической модели данных в системе СУБД ИМS

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

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

По имени поля может содержаться отметка SEG, которая указывает на то, что поле выполняет роль ключа.

Сетевая модель данных - это модель, которая образуется из записей, элементов данных (именуемые поля) и связей типа "один ко многим", установленных между записями.

Первая сетевая СУБД IDS (Integrated Data Store) была разработана в середине 60-х годов прошлого века.

Связь "один-ко-многим" означает, что значению элемента А отвечают много значений связанных с ним элементов В.

Например, между элементами данных "Код поставщика" и "Код товара" является такая взаимосвязь, поскольку один поставщик может поставлять несколько видов товаров.

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

Вершины графа - записи, которые являются поименованные совокупности логических взаимосвязанных элементов данных (агрегатов данных).

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

Два записи, взаимосвязаны дугой, создают набор данных.

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

Возможен также доступ по связям с любой точки доступа. Фрагмент сетевой схемы организации данных на основе таблиц 2.2 и 2.3 приведены на рис. 2.15.

Фрагмент сетевой схемы организации данных

Рис. 2.15. Фрагмент сетевой схемы организации данных

Общую архитектуру сетевой СУБД можно представить, как на

рис. 2.16.

Общая архитектура сетевой СУБД

Рис. 2.16. Общая архитектура сетевой СУБД

Из рисунка видно, что пользователи осуществляют доступ к базе данных с помощью прикладных программ. Для того, чтобы осуществить доступ к информации в базе данных, каждая прикладная программа использует определенную подсхему, которая имеет ограниченное представление о структуре всей базы данных. Схема - это логическая организация всей базы данных в целом, которая включает определение имени базы данных, типа каждой записи и компонентов записей каждого типа. Подсхема - это часть базы данных, которая будет доступна пользователям или программным приложением. Схема и подсхемы описываются на специальном языке определения данных (например, Data Definition Language - DDL).

Определение схемы базы данных осуществляется программно. Далее приведен фрагмент описания схемы данных сетевой модели для двух типов записей (табл. 2.2,2.3).

Фрагмент описания данных сетевой модели

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

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

Схематическую отличие в топологии иерархической и сетевой моделей проиллюстрировано на рис. 2.17.

Особенности моделей по топологии и доступом к данным

Рис. 2.17. Особенности моделей по топологии и доступом к данным

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

 
< Пред   СОДЕРЖАНИЕ   След >