МОДЕЛИ
ОРГАНИЗАЦИИ СЕТЕВЫХ БАЗ ДАННЫХ
Черкасов Д., студент 3 курса
специальности «Информационные системы»
КГУ им. А.Байтурсынова
Бевз И.А., ст.преподаватель кафедры
ИС КГУ им.А. Байтурсынова
Сетевая база данных
относится к теоретико-графовым моделям, куда помимо сетевых еще входят иерархические
базы данных. На основе математики сетевых баз данных существуют различные СУБД,
это в основном коммерческие версии. У сетевых баз данных существуют характерные
операции навигации, манипуляции и управления данными, а также специфическая
структура.
Сети – это естественный
способ представления отношений между объектами базы данных и связей между этими
объектами. Под словом «объекты» в данном случае следует понимать таблицы баз
данных или сущности.
Сетевые базы данных
опираются на математику графов, конкретнее, сетевую модель данных можно
представить в виде ориентированного графа. Направленный граф состоит из узлов и
ребер. Узлы направленного графа – это ни что иное, как объекты сетевой базы
данных, а ребра такого графа показывают связи между объектами сетевой модели
данных, причем ребра показывают не только саму связь, но и тип связи (связь
один к одному или связь один ко многим). Стоит заметить, что иерархическая
модель баз данных является частным и упрощенным случаем сетевых баз данных.
Структура сетевых баз
данных состоит из четырех компонентов, два из которых являются главными –
запись и набор, и два вспомогательных -
это элемент данных и агрегат данных.
Элемент данных – это
наименьшая информационная именованная единица данных, доступная пользователю,
если провести аналогию с файловой системой, то это поле в файловой системе,
если проводит аналогию с реляционной базой данных, то элемент данных – один
столбец таблицы реляционной БД.
Агрегат данных – это
следующий уровень обобщения данных сетевой модели. Агрегат данных – это
именованная совокупность данных внутри одной записи.
Запись в сетевой модели
данных – это конечный уровень обобщения данных, что-то наподобие таблицы в
реляционной базе данных. Каждая запись в сетевой базе данных должна обладать
или содержать в себе, как минимум один именованный элемент данных, если
элементов внутри записи более одного, то каждый элемент данных должен обладать
уникальным форматом.
Тип записей – эта
совокупность подобных записей. Тип записей представляет некоторый класс
реального мира.
Набор - именованная
двухуровневая иерархическая структура, которая содержит запись владельца и
запись (или
записи) членов. Наборы отражают связи «один ко многим» и
«один к одному» между двумя типами записей.
Каждый экземпляр
группового отношения характеризуется способами упорядочения подчиненных
записей:
- произвольный;
- хронологический /очередь/;
- обратный хронологический /стек/;
- сортированный.
Если запись объявлена
подчиненной в нескольких групповых отношениях, то в каждом из них может быть
назначен свой способ упорядочивания.
Среди режимов включения
подчиненных записей известны:
- автоматический, когда невозможно занести в БД запись
без того, чтобы она была сразу же закреплена за неким владельцем;
- ручной - позволяет запомнить в БД подчиненную запись
и не включать ее немедленно в экземпляр группового отношения. Эта операция
позже инициируется пользователем.
Принято выделять три
класса членства подчиненных записей в групповых отношениях:
Фиксированное.
Подчиненная запись жестко связана с записью владельцем и ее можно исключить из
группового отношения только удалив. При удалении записи-владельца все
подчиненные записи автоматически тоже удаляются.
Обязательное.
Допускается переключение подчиненной записи на другого владельца, но невозможно
ее существование без владельца. Для удаления записи-владельца необходимо, чтобы
она не имела подчиненных записей с обязательным членством.
Необязательное. Можно
исключить запись из группового отношения, но сохранить ее в базе данных не
прикрепляя к другому владельцу. При удалении записи-владельца ее подчиненные
записи - необязательные члены сохраняются в базе, не участвуя более в групповом
отношении такого типа.
В сетевой модели баз
данных возможны следующие операции:
- Добавить: внести запись в БД и, в зависимости от
режима включения, либо включить ее в групповое отношение, где она объявлена
подчиненной, либо не включать ни в какое групповое отношение;
- Включить в групповое отношение: связать существующую
подчиненную запись с записью-владельцем;
- Переключить: связать существующую подчиненную запись
с другой записью-владельцем в том же групповом отношении;
- Обновить: изменить значение элементов предварительно
извлеченной записи;
- Извлечь: извлечь записи последовательно по значению
ключа, а также используя групповые отношения - от владельца можно перейти к
записям - членам, а от подчиненной записи к владельцу набора;
- Удалить: убрать из БД запись. Если эта запись
является владельцем группового отношения, то анализируется класс членства
подчиненных записей. Обязательные члены должны быть предварительно исключены из
группового отношения, фиксированные удалены вместе с владельцем, необязательные
останутся в БД;
- Исключить из группового отношения: разорвать связь
между записью-владельцем и записью-членом.
К достоинствам модели
сетевой базы данных можно отнести развитые средства управления данными во
внешней памяти на низком уровне; возможность построения вручную эффективных
прикладных систем; возможность экономии памяти за счет разделения подобъектов
(в сетевых системах).
Среди недостатков
сложность использования, высокий уровень требований к знаниям о физической
организации БД, зависимость прикладных систем от физической организации БД, перегруженность
логики прикладных систем деталями организации доступа к БД.
Для манипулирования и
управления данными в сетевой модели данных используется ряд типичных операций,
которые можно разделить на две группы: навигационные операции с данными и
операции модификации данных.
Навигационные операции
сетевых баз данных осуществляют переход по связям, определенных в схеме баз
данных, в результате таких переходов определяется запись, которую называют
текущей (запись сетевой модели, с которой мы будем работать). К навигационным
операциям можно отнести:
- найти конкретную запись в наборе однотипных записей
и сделать ее текущей;
- перейти от записи-владельца к записи-члену в
некотором наборе;
- перейти к следующей записи в некоторой связи;
- перейти от записи-члена к владельцу по некоторой
связи.
При помощи операций
модификации сетевых баз данных осуществляется добавление новых записей данных,
добавление новых наборов данных, удаление записей данных и наборов записей,
модификация агрегатов и элементов данных. Для реализации этих операций в
системе текущее состояние детализируется путем запоминания трех его
составляющих: текущего набора, текущего типа записи, текущего экземпляра типа
записи.
Таким образом база данных
сетевой модели данных – это именованная
совокупность экземпляров записей различного типа и экземпляров наборов,
хранящих в себе типы связей между записями.
Список использованных источников:
1.
www.fnti.kiae.ru
2. www.gpntb.ru