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

Сетевая модель данных пришла на смену более простой и понятной иерархической. По своей сути сетевая модель сильно похожа на иерархическую, у нее тоже имеются узлы, то есть корневые элементы, в которые заносится наиболее важная информация. Между собой узлы объединены посредством связей. А узлы, расположенные на одном и том же расстоянии от корневого узла, образуют, как и в иерархической модели, уровни. Особенность иерархической модели состояла в том, что от одного элемента до другого мог быть только один маршрут, а в сетевой это не так, здесь есть несколько маршрутов. Сетевая модель данных предоставляет возможность построения более сложных структур данных. Это и есть основное отличие этих двух моделей.

Целью создания такой модели данных была реализация связей «многие ко многим» с одновременным исправлением всех имеющихся недостатков в иерархической модели, которые были выявлены со временем. Сетевая модель данных строится на применении теории графов. С этой точки зрения ей соответствует произвольный граф. В такой модели у каждого потомка может иметься произвольное количество предков. Сетевая база данных состоит из определенного набора записей, а также из указанного набора связей, присутствующих между данными записями. Два типа записей, то есть предок и потомок, определяют типы связей. Экземпляр типа связи обычно представляет собой один экземпляр типа записи предка с включением упорядоченного набора элементов, относящихся к типу записи потомка. Под набором принято понимать поименованную совокупность записей, где записи одного типа объявлены владельцем набора, а остальные записи – членами данного набора.

Сетевая модель данных обладает некоторыми особенностями. Все типы используемых связей в обязательном порядке должны быть функциональными, то есть «многие к одному», «один к множеству» или «один к одному». В модели такое внутреннее ограничение выражено тем утверждением, что для этого типа связи с определенным типом записи предка и типом записи потомка обязательно выполняются определенные условия. Для того чтобы определить связь «многие ко многим», был введен особый тип записей, а также пара функциональных связей вида «один к множеству» и «множество к одному». Если есть необходимость, то в запись, исполняющую роль связки, может быть добавлена дополнительная информация.

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

Сетевая модель базы данных подразумевает использование следующих операций над данными:

— запомнить, то есть внести информацию в нашу базу данных;

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

— переключить, то есть сделать переход одного члена набора к какому-то другому владельцу;

— обновить, то есть произвести какие-либо модификации данных;

— извлечь, то есть осуществить операции по чтению данных;

— удалить, то есть произвести логическое или физическое удаление данных;

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

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

Оставить комментарий

Видео
Архивы
Август 2025
Пн Вт Ср Чт Пт Сб Вс
« Июл    
 123
45678910
11121314151617
18192021222324
25262728293031