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

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

Рис. 10. Диаграмма Бахмана (пример для сетевой модели)

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

A) Каждое множество сущностей реализуется типом записи.
B) Множества бинарных связей типа 1:N и N:1 реализуются типом набора, владельцем которого является запись, реализующая сущность с кардинальным числом N. При этом если у связи есть собственные атрибуты, то они переносятся в записи-члены набора. Обычно используется именно это правило, однако в случае, когда семантика связи - есть принадлежность сущности повторяющегося набора характеристик, то такая связь реализуется путем прибавления, к связи, реализующей сущность с кардинальным числом 1, периодической группы, содержащей этот набор характеристик.
Пример на второй редкий случай (рис. 11):


Периодическая группа Рис. 11. Периодические группы
C) Множества связей типа 1:1 реализуются двумя типами наборов, владельцем одного из которых является одна из сущностей, входящих в связь, а владельцем второго - другая. Если связь имеет собственные атрибуты, то они переносятся в любую из двух записей набора согласно здравому смыслу.
D) Множества связей типа M:N реализуются новым типом записи, содержащим собственные атрибуты записей (если они имеются) и двумя типами наборов, членами которых являются записи, представляющие сущности, входящие в эту связь, а владельцем запись нового типа.

E) Множества связей степени k>2 реализуются новым типом записи, содержащим собственные атрибуты записей (если таковые существуют) и k типами наборов, членами которых являются записи, представляющее сущности, входящие в эту связь, а владельцем запись нового типа.
Сетевую схему удобно представлять с помощью сетевой диаграммы. На ней прямоугольниками обозначаются типы записей, а ориентированными дугами типы наборов, стрелочки указывает в сторону членов. Иногда над прямоугольниками перечисляются и атрибуты типов записей, причем в скобках указывают их типы. Периодические группы помечаются звездочкой (*). Фактически данная диаграмма является разновидностью диаграммы Бахмана.
Приведем пример соответствия ER-диаграммы (копия из главы 2 - рис. 12) и сетевой схемы БД (рис. 13).

                                       

Рис. 12. ER-диаграмма

Рис. 13. Сетевая схема