Сетевые и иерархические модели данных
Более сложными моделями данных внутримашинной сферы (по сравнению с файловой) являются сетевые и иерархические модели, которые поддерживаются в системе управления базами данных (СУБД) соответствующего типа. Тип модели данных, поддерживаемой СУБД на машинном носителе, является одним из важнейших признаков классификации СУБД.
Сетевая или иерархическая модель данных представляет соответствующий метод логической организации базы данных в СУБД. Такая модель является совокупностью взаимосвязанных объектов. Связь двух объектов отражает их подчиненность. Объектом в сетевой или иерархической модели является основной тип структур данных из тех, которые поддерживаются СУБД. В различных СУБД этот тип структур данных может по-разному быть определен и назван (тип записи, файл, сегмент).
Таблица 3.1
Структура записи файла POST «Поставка»
Имя файла POST - Поставка | |||||
Поле | Признак ключа | Формат поля | |||
Обозначение (имя) | Наименование (реквизит) | Тип | Длина | Точность | |
NPS KTOV DATP KOLT EI ST | Наименование поставщика Код товара Дата поставки Количество товара Единица измерения Стоимость поставленного товара | ВК, ПК ВК, ПК ВК, ПК – - - | симв. симв. дата число симв. число |
Структуры данных в моделях. К типовым структурам данных относятся: элемент данных, агрегат данных, запись, база данных и т. д.
Элемент данных – это минимальная именованная структурная единица данных (аналог поля в файловых системах).
Агрегат данных – это именованное подмножество элементов данных или других агрегатов внутри записи. В агрегатах допускается множественный элемент, который содержит несколько значений элемента в одном экземпляре агрегата.
Запись в общем случае является составным агрегатом, который не входит в состав других агрегатов. Таким образом, структура записи может иметь иерархический характер. Все множество экземпляров записи одинаковой структуры образует тип записи. Запись конкретного типа является объектом в модели данных. На рис. 3.1 приведен пример иерархической записи, в которой имеются названные выше типы структур данных. Тип записи назван «Договор», так как в записи представлена вся структура информации о договорах с заказчиками на поставку изделий.
Следует отметить, что в этой записи собственно данные (элементарные данные, имеющие значения) представлены лишь в конечных вершинах записи, остальные типы структур данных, в том числе агрегаты, являются лишь именованной совокупностью данных.
Связи объектов в моделях. Модель данных может включать несколько типов записей (объектов). Между объектами модели данных устанавливаются связи. Совокупность взаимосвязанных конкретных объектов модели для некоторой предметной области образует базу данных.
Связи между двумя типами записей (объектами модели) определяются групповыми отношениями между их экземплярами. Групповое отношение (набор) – это строго иерархическое отношение между записями двух типов: главной записью набора и подчиненными записями набора.
Особенности моделей. В строго иерархических моделях, как правило, любой объект (запись, сегмент) может подчиняться только одному объекту вышестоящего уровня. В сетевых – любой объект (запись, файл) может быть подчинен нескольким объектам. Схематически отличие в топологии иерархической и сетевой модели иллюстрирует рис. 3.2.
В иерархических моделях непосредственный доступ по ключу, как правило, возможен только к объекту самого высокого уровня, который не подчинен другим объектам. К другим объектам доступ осуществляется по связям от объекта на вершине модели. В сетевых моделях непосредственный доступ по ключу может обеспечиваться к любому объекту независимо от уровня, на котором он находится в модели. Возможен также доступ по связям от любой точки доступа.
Структура объекта (записи, файла) в сетевых моделях чаще бывает линейной и реже имеет иерархическую структуру. Структуры данных более низкого уровня также могут иметь свою специфику и названия. Например, атрибут – аналог элемента данных. Объект линейной структуры состоит только из простых и ключевых атрибутов. Структура объекта (записи, сегмента) в иерархических моделях может быть иерархической (см. рис. 4.2) или линейной.
Сетевая модель на примере базы данных, содержащей: справочные данные о цехах, складах, изделиях; плановые данные выпуска изделий цехами; учетные данные о сдаче выпущенных цехами изделий на склад, приведена на рис. 3.3. Объекты (файлы) в этой модели являются линейными.
Сравнение моделей. Сетевые модели данных по сравнению с иерархическими являются более универсальным средством отображения во внутримашинной сфере структуры информации для разных предметных областей. Взаимосвязи данных большинства предметных областей имеют сетевой характер, что ограничивает использование СУБД с иерархической моделью данных. Сетевые модели позволяют отображать также иерархические взаимосвязи данных. Достоинством сетевых моделей является отсутствие дублирования данных в различных элементах модели. Кроме того, технология работы с сетевыми моделями является удобной для пользователя, так как доступ к данным практически не имеет ограничений и возможен непосредственно к объекту любого уровня. Допустимы всевозможные запросы.
Дата добавления: 2021-01-26; просмотров: 375;