Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие(А4).doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
3.19 Mб
Скачать

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

В системе баз данных, предложенных CODASYL, за основу была взята сетевая структура. Существенное влияние на разработку этой модели оказали более ранние сетевые системы — IDS и Ассоциативный ПЛ/1. Необходимость в процессе получения одного отчета обрабатывать несколько файлов обусловила целесообразность установления перекрестных ссылок между файлами, что в конце концов и привело к сетевым структурам.

Сетевая модель данных (СМД) — модель данных, предназначенная для представления данных сетевой структуры и манипулирования ими. Также используется графический способ представления данных. Концептуальная схема отображается в виде графа. Вершинам графа сопоставлены типы записей, дугам — связи между ними. На рис. 7.13 представлен пример структуры сетевой модели данных.

Рис. 7.13 — Сетевая модель данных

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

Информационными конструкциями в сетевой модели данных являются отношения между атрибутами, входящими в СЕИ, и веерные отношения.

Сетевая БД представляется как множество отношений и веерных отношений. Отношения разделяются на основные и зависимые.

Веерным отношением W(R,S) называется пара отношений R и S и связь между ними при условии, что каждое значение S связано с единственным значением R. Названное условие является ограничением, характерным для сетевой модели данных в целом. Находясь в составе W(R,S), отношение R называется исходным (основным), а Sпорожденным (зависимым).

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

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

  • вне каких-либо веерных отношений;

  • в качестве основного отношения в любом количестве веерных отношений;

  • в качестве зависимого отношения в любом количестве веерных отношений.

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

Многоуровневые сети не предусматривают вышеназванных ограничений. В некоторых сетевых СУБД разрешены даже циклические структуры сети.

Среди сетевых СУБД были распространены системы, поддерживающие двухуровневую сеть (например, СУБД СЕТОР и ДИСОД). В них используются двухуровневые связи отношений. Наиболее известными системами для многоуровневых сетей являлись СУБД семейства IDMS (в нашей стране — системы СЕТЬ, ПАРМА и др.).

Для двухуровневых сетевых БД справедливы также дополнительные ограничения:

  1. отношение, которое является основным в одном веерном отношении, не может быть зависимым в другом веерном отношении;

  2. ключ основного отношения может быть только одноатрибутным;

  3. веерное отношение существует, если ключ основного отношения является частью ключа зависимого отношения.

Рассмотрим организацию веерного отношения в памяти ПК. В структуру основного и зависимого отношений вводится дополнительный атрибут, называемый адресом связи. Значения адресов связи совместно обеспечивают в веерном отношении соответствие каждого значения зависимого отношения S с единственным значением основного отношения R.

Значение отношения при хранении в памяти ПК называется записью.

Связь значений зависимого отношения с единственным значением основного отношения в простейшем случае обеспечивается следующим образом. Адрес связи некоторой записи основного отношения указывает на одну из записей зависимого отношения, адрес связи этой записи — на следующую запись зависимого отношения, соответствующую той же записи основного отношения, и т.д. Последняя запись зависимого отношения в этой цепочке адресует указанную выше запись основного отношения. Получается кольцевая структура адресов связи, называемая веером, где роль «ручки» веера играет запись основного отношения.

На рис. 7.14—7.15 показаны структуры и веерные отношения двух простых сетевых БД. Атрибуты первичного ключа помечены # .

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

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

Рис. 7.14 — Структура (а) и связь (б) значений одного

веерного отношения

Свойство «автоматический» указывает, что при появлении нового значения основного отношения оно сразу же ставится в соответствие некоторому значению зависимого отношения и образует новый элемент веерного отношения. Несоблюдение этого правила характерно для свойства «неавтоматический».

Рис. 7.15 — Пример базы данных из двух веерных отношений

Способ исключения описывается свойствами «обязательный» и «необязательный». Свойство «обязательный» означает, что после того, как значение включено в основное отношение, оно становится его постоянным членом. Его можно обновлять, но нельзя удалять из отношения. Свойство «необязательный» означает, что любое значение основного отношения можно удалить.

Структуры сетевых БД обладают рядом существенных особенностей. Это связано с распространением ключей записей по уровням сетевой структуры.

В сетевой БД различают внутренний, внешний, частичный и полный ключи.

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

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

Внутренним ключом отношения называется часть полного ключа, расположенная внутри самого отношения.

Связь двух отношений S и R вида N(S, R), где S является основным типом, а R — зависимым, называется иерархической, если соблюдается одно из двух условий:

  1. ключ S служит внешним ключом для R;

  2. внутренний ключ S является частью полного ключа R.

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

  • универсальность, т.е. возможность отображения практически всего многообразия взаимоотношений объектов предметной области;

  • малая информационная избыточность;

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

Недостатки сетевой модели данных:

  • сложность, с ростом объема информации сетевая структура становится весьма сложной для ее описания и анализа;

  • допустимость только навигационного принципа доступа к данным;

  • в сетевой модели невозможно достичь полной независимости данных.

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

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