Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПиОБД Бочкарев / Базы данных_учебник.doc
Скачиваний:
135
Добавлен:
06.02.2016
Размер:
737.28 Кб
Скачать

2.2. Сетевая модель данных (смд)

Сетевая модель позволяет организовывать БД, структура которых представляется графом общего вида (пример СМД – на рис. 2.3). Организация данных в сетевой модели соответствует структуризации данных по версии CODASYL. Каждая вершина графа хранит экземпляры сущностей (записи) и сведения о групповых отношениях с сущностями других типов. Каждая запись может хранить произвольное количество значений атрибутов (элементов данных и агрегатов), соответствующих экземпляру сущности.

Групповые отношения характеризуют следующие признаки:

1. Способ упорядочения подчинённых записей.

Поддерживаются три способа упорядочения:

  • Очередь – добавление в конец списка (FIFO – first input, first output).

  • Стек – добавление в начало списка (LIFO – last input, first output).

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

2. Режим включения подчинённых записей.

Режим включения бывает автоматический и ручной.

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

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

3. Режим исключения подчинённых записей.

Режим исключения определяется классом членства. Различают три класса членства: фиксированный, обязательный и необязательный. Записи с фиксированным членством удаляются вместе с записью–владельцем. Записи с обязательным членством должны быть удалены до удаления записи–владельца: владелец, к которому прикреплена хотя бы одна запись с обязательным членством, не может быть удален. Записи с необязательным членством при удалении записи–владельца останутся в БД.

В СМД применяются следующие операции над данными:

  • запомнить: внесение информации в БД;

  • включить в групповое отношение: установление связей между данными;

  • переключить: переход члена набора к другому владельцу;

  • обновить: модификация данных;

  • извлечь: чтение данных;

  • удалить: физическое или логическое удаление данных;

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

Связи между записями в СМД обычно выполнены в виде указателей (т.е. каждая запись хранит ссылки на другие однотипные записи и записи, связанные с ней групповыми отношениями). Подробнее об этом рассказано в разделе 5.5."Организация связей между хранимыми записями".

В сетевой модели данных предусмотрены специальные способы навигации и манипулирования данными. Аппарат навигации в графовых моделях служит для установления тех объектов данных, к которым будет применяться очередная операция манипулирования данными. Такие объекты называются текущими. В СМД возможны переходы:

  • от текущего экземпляра записи определённого типа к другим экземплярам записи этого же типа;

  • из текущей вершины в любую вершину, с которой текущая связана групповым отношением.

Наиболее распространенной и стандартизованной из реализаций СМД является модель CODASYL. В соответствии с ней описание схемы БД осуществляется на языке COBOL, а манипулирование данными – с помощью включающего языка программирования высокого уровня.