Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Базы данных.doc
Скачиваний:
160
Добавлен:
16.03.2016
Размер:
6 Мб
Скачать
☆

Сетевые структуры данных

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

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

Тип связи определяется для двух типов записи: предка и потомка. Экземпляр типа связи состоит из одного экземпляра типа записи предка и упорядоченного набора экземпляров типа записи потомка. Для данного типа связи Lс типом записи предкаPи типом записи потомкаCдолжны выполняться следующие два условия:

  • каждый экземпляр типа записи Pявляется предком только в одном экземпляре типа связиL;

  • каждый экземпляр типа записи Cявляется потомком не более чем в одном экземпляре типа связиL.

На формирование типов связи не накладываются особые ограничения; возможны, например, следующие ситуации:

  • тип записи потомка в одном типе связи L1может быть типом записи предка в другом типе связиL2(как в иерархии);

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

  • данный тип записи Pможет быть типом записи потомка в любом числе типов связи;

  • может существовать любое число типов связи с одним и тем же типом записи предка и одним и тем же типом записи потомка; и если L1иL2- два типа связи с одним и тем же типом записи предкаPи одним и тем же типом записи потомкаC, то правила, по которым образуется родство, в разных связях могут различаться;

  • типы записи XиYмогут быть предком и потомком в одной связи и потомком и предком – в другой;

  • предок и потомок могут быть одного типа записи.

На рис. 2.3 показан простой пример схемы сетевой БД. На этом рисунке показаны три типа записи: Отдел,СлужащиеиРуководительи три типа связи:Состоит из служащих,Имеет руководителяиЯвляется служащим.В типе связиСостоит из служащихтипом записи-предком являетсяОтдел, а типом записи-потомком –Служащие(экземпляр этого типа связи связывает экземпляр типа записиОтделсо многими экземплярами типа записиСлужащие, соответствующими всем служащим данного отдела). В типе связиИмеет руководителятипом записи-предком являетсяОтдел, а типом записи-потомком –Руководитель(экземпляр этого типа связи связывает экземпляр типа записиОтделс одним экземпляром типа записиРуководитель, соответствующим руководителю данного отдела). Наконец, в типе связиЯвляется служащимтипом записи-предком являетсяРуководитель, а типом записи-потомком –Служащие(экземпляр этого типа связи связывает экземпляр типа записиРуководительс одним экземпляром типа записиСлужащие, соответствующим тому служащему, которым является данный руководитель).

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

Манипулирование данными

Вот примерный набор операций манипулирования данными:

  • найти конкретную запись в наборе однотипных записей (например, служащего с именем Иванов);

  • перейти от предка к первому потомку по некоторой связи (например, к первому служащему отдела 625);

  • перейти к следующему потомку в некоторой связи (например, от Иванова к Сидорову);

  • перейти от потомка к предку по некоторой связи (например, найти отдел, в котором работает Сидоров);

  • создать новую запись;

  • уничтожить запись;

  • модифицировать запись;

  • включить в связь;

  • исключить из связи;

  • переставить в другую связь и т.д.