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

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

Построенную ранее логическую структуру данных представим в виде сети. Стрелками обозначены связи 1:М. Стрелки, расположенные между объектами ПРЕПОДАВАТЕЛЬ – СТУДЕНТ и ПРЕПОДАВАТЕЛЬ – ПРЕДМЕТ

 

 
 

 

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

В сетевой модели связям между объектами присваиваются имена, отражающие смысл каждой из связей. Поименованная связь представляет собой связь определенного типа, т.е. в сетевой модели, кроме понятия тип объекта существует понятие тип связи. В рассмотренной модели установлены 5 типов связей: Ученики, Учителя, Лектор, Читаемый предмет, Изучаемый предмет.

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

Основной конструктивной единицей сетевой модели является типнабора. При описании типа набора один из типов записи определяется как владелец набора, а запись другого типа определяется как член набора. Между владельцем и членом набора устанавливается связь определенного типа. Имя связи рассматривается как имянабора. В рассмотренной модели представлены 5 типов наборов. Набор Ученики (владелец набора - запись типа ПРЕПОДАВАТЕЛЬ, член набора – запись типа СТУДЕНТ), набор Учителя (владелец набора – запись типа СТУДЕНТ, член набора – запись типа ПРЕПОДАВАТЕЛЬ), набор Читаемый предмет (владелец набора – запись типа ПРЕПОДАВАТЕЛЬ, член набора – запись типа ПРЕДМЕТ), набор Лектор (владелец набора – запись типа ПРЕДМЕТ, член набора – запись типа ПРЕПОДАВАТЕЛЬ) и набор Изучаемый предмет (владелец набора – запись типа СТУДЕНТ, член набора – запись типа ПРЕДМЕТ).

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

СТУДЕНТ (№ зачетной книжки, ФИО, Группа, Средний балл);

ПРЕПОДАВАТЕЛЬ (ФИО_П, Должность);

ПРЕДМЕТ (Наименование, Часы, Отчетность).

Определив значения свойств, получим экземпляры объектов данного типа и, соответственно, экземпляры записей. Например, (Кошкин И.И., доцент), (Мышкин М.М., ассистент) – это два экземпляра объекта типа ПРЕПОДАВАТЕЛЬ. Для дальнейших рассуждений примем следующие сокращения для идентификации экземпляров записей: Преподаватель 1, Преподаватель 2, …. , Студент 1, Студент 2, ….., Предмет 1, Предмет 2 и т.д.

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

В каждом экземпляре набора определенного типа содержится единственный экземпляр записи - владельца набора и множество экземпляров записей – членов набора, т.е. между владельцем набора и членами набора существует связь 1:М

С учетом принятых сокращений изобразим фрагмент экземпляра схемы БД, в котором отображены связи типа Ученики и Читаемый предмет для нескольких экземпляров записей типа ПРЕПОДАВАТЕЛЬ, ПРЕДМЕТ и СТУДЕНТ. У Преподавателя 1 учениками являются Студент 1, Студент 3 и Студент 4, этот преподаватель читает Предмет 1 и Предмет 3. Преподаватель 2 читает Предмет 2, его учениками являются Студент 2, Студент 3 и Студент 5.

 

 
 

Данный фрагмент содержит 2 экземпляра набора типа Читаемый предмет и 2 экземпляра набора типа Ученики (владельцы – Преподаватель 1 и Преподаватель 2).

Сетевая модель сложна для восприятия, а СУБД, поддерживающие сетевую модель, довольно сложны в эксплуатации. Поэтому сетевую модель обычно приводят к виду иерархической или реляционной модели. Однако у сетевой модели есть очень важное достоинство: эта модель данных не избыточная, так как каждый экземпляр записи хранится в БД единожды, т.е. отсутствует дублирование экземпляров записей.