Сетевая модель данных
Базы данных являются моделью реального мира, потому в них находят свое представление объекты реального мира и связи между ними. Основой для сетевой модели данных является понятие ориентированного графа. В математике графом называется модель, состоящая из узлов и ребер.
Узлами являются объекты сетевой базы данных, а ребрами – связи между объектами. В реальном мире связи между объектами делятся на три типа:
- один-к-одному;
- один-ко-многим;
- много-ко-многим.
Сетевая модель поддерживает только два из этих типов: «один-к-одному» и «один-ко-многим». Ребра направленного графа показывают не только саму связь, то и тип связи.
Сетевая модель данных состоит из следующих структурных элементов:
- Атрибут – минимальная информационная единица данных, к которой пользователь может обратиться по имени. Аналогом атрибута является поле в реляционной модели данных.
- Агрегат данных – именованная совокупность данных, объединенная логикой содержимого и относящаяся к одному объекту. Например, если имеется атрибут «серия паспорта» и «номер паспорта», то их можно объединить в агрегат данных «паспортные данные». Это будет выглядеть как таблица с иерархическим заголовком.
В реляционной модели данных аналогичное понятие отсутствует.
- Запись – совокупность атрибутов и/или агрегатов, соответствующая какому-либо объекту реального мира. Можно сказать, что запись – это агрегат, который не входит в другие агрегаты. В реляционной модели данных этому понятию соответствует таблица.
- Тип записи – совокупность записей с одинаковыми атрибутами.
-
Набор записей – структура, моделирующая связь между двумя типами записей. Если набор реализует отношение «один-ко-многим», то один тип записей в наборе называется «владельцем», другой – «подчиненным». Отношение «один-ко-многим» реализуется от владельца к подчиненным.
Например, между типами «Специальность» и «Студент» нужно установить связь типа «один-ко-многим», потому что на одной специальности учится много студентов. Тогда набор будет выглядеть, как показано на рисунке.
Тип записей «Специальность» является владельцем, тип записей «Студент» - подчиненным. Одной записи типа «Специальность» может соответствовать ноль или несколько записей типа «Студент». Связи устанавливаются за счет добавления в запись указателей на другие записи.
-
Сетевая база данных - это совокупность всех записей и наборов, которые достаточны для полного описания какой-либо предметной области.
Сетевая база данных может состоять из любого количества записей и наборов разных типов. Две записи могут быть связаны любым количеством наборов, но в каждом наборе может быть только одна запись-владелец. Один и тот же тип записей может быть владельцем в одном наборе и подчиненным в другом наборе. Типа записи может вообще не входить ни в один набор.
Управление данными в сетевой базе данных
Все операции в сетевых базах производятся с записью, которая является текущей. Текущая запись выбирается путем навигационных операций. Навигационными являются следующие операции:
- Выбрать конкретную запись из совокупности однотипных записей.
- Перейти от записи-владельца к подчиненной записи в определенном наборе.
- Перейти к следующей записи.
- Перейти от подчиненной записи к записи-владельцу.
После выбора текущей записи становятся возможными следующие операции:
- Добавление новой записи с автоматическим включением ее в набор.
- Включение записи в набор, то есть связывание уже существующей записи с записью – владельцем.
- Переключение - связывание подчиненной записи с другим владельцем в том же наборе.
- Обновление – изменение атрибутов существующей записи.
- Исключение из набора позволяет разорвать связь между записью- владельцем и подчиненными записями.
- Удаление позволяет исключить запись из базы данных. Удаление требует предварительного анализа целостности данных. Если удаляется запись-владелец, то все подчиненные записи должны быть исключены из набора.
Достоинства и недостатки модели
Сетевая модель данных достаточно хорошо стандартизирована. В 1969 году консорциум CODASYL предложил спецификацию формального языка для описания сетевой модели. Модель обладает высокой выразительной способностью, так как позволяет устанавливать сложные отношения между данными. Сетевые базы данных отличаются высоким быстродействием и универсальностью.
С другой стороны пользователи сетевых баз данных ограничены использованием той структуры данных, которую определил для них разработчик. Поэтому сетевые базы данных лишены гибкости – любое изменение структуры базы данных влечет перестройку всех записей путем введения новых указателей. Сетевые базы данных требуют сложной структуры памяти. В сетевых базах данных довольно трудно контролировать целостность данных.
Использование сетевой модели в современных информационных технология
Сетевая модель данных предшествовала реляционной и потому долгое время считалась устаревшей. Однако, практика показала, что для структурирования больших объемов трудноформализуемых данных сетевая модель подходит лучше реляционной. Например, сетевая организация данных лежит в основе глобальной сети Интернет, а реляционную модель с этой целью использовать невозможно.
В последние годы на рынке ИТ стали появляться новые программные продукты, основанные на сетевой модели данных. Среди них инструментальная система управления базами данных CronosPRO, сетевая объектно-ориентированная база знаний Cerebrum. Cистема управления базами данных GT.M поддерживает несколько моделей данных одновременно, в том числе и сетевую.