Структура памяти сетевой модели

Сетевая модель

Большое влияние при разработке стандарта сетевой модели оказал американский ученый Ч. Бахман. Разработка основных принципов сетевой модели данных началась в середине 1960-х гг., а ее эталонный вариант в 1971 г. описала CODASYL (COnference on DAta SYstem Languages) – рабочая группа по языкам баз данных.

Сетевую модель данных определяют те же термины, что и иерархическую. Сетевая модель включает множество записей, которые являются владельцами или членами групповых отношений. Владелец и член связаны между собой отношением типа 1:n.

Основным различием иерархической и сетевой модели является то, что в сетевой модели запись может являться членом более одного группового отношения. Каждое групповое отношение в сетевой модели имеет имя и различается его тип и экземпляр. Типом группового отношения определяются свойства, которые являются общими для всех экземпляров данного типа. Экземпляром группового отношения является запись-владелец и множество подчиненных записей, которое может быть пустым. При этом существует ограничение: экземпляр записи не может являться членом 2-х экземпляров групповых отношений одного типа (например, сотрудник не может быть работником двух отделов).

При организации сетевой структуры:

  • запись СОТРУДНИК содержится в двух групповых отношениях;
  • для отображения связи типа m:n вводят запись СОТРУДНИК_КОНТРАКТ, которая не содержит полей и существует лишь с целью связать записи КОНТРАКТ и СОТРУДНИК (рисунок 1). Следует отметить, что данная запись может хранить и полезную информацию (например, долю сотрудника в общем вознаграждении по заданному контракту).

У каждого экземпляра группового отношения имеются определенные признаки:

  1. Способ упорядочивания подчиненных записей:
    • произвольный;
    • сортированный;
    • хронологический (очередь);
    • обратный хронологический (стек).

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

  • ручной, при котором подчиненная запись может быть запомнена в БД и не включена немедленно в экземпляр группового отношения. Эту операцию позже инициирует пользователь;
  • автоматический, при котором не представляется возможным занесение в БД записи без того, чтобы ее сразу же не закрепили за определенным владельцем.
  • Обязательное. Переключение подчиненной записи на другого владельца допускается, но она не может существовать без владельца. Для того, чтобы удалить запись-владелец необходимо, чтобы она не имела подчиненные записи с обязательным членством. Такое отношение существует между записями СОТРУДНИК и ОТДЕЛ. В случае расформирования отдел всех его сотрудников необходимо перевести в другие отделы или уволить.
  • Необязательное. Исключение записи из группового отношения возможно при сохранении ее в базе данных без прикрепления к другому владельцу. При удалении записи-владельца происходит сохранение в базе ее подчиненных записей (необязательных членов), которые больше не участвуют в групповом отношении этого типа. Пример необязательного группового отношения: ВЫПОЛНЯЕТ между записями СОТРУДНИКИ и КОНТРАКТ, т.к. на предприятии могут работать сотрудники, которые не выполняют какие-либо договорные обязательства перед заказчиками.
  • Фиксированное. Жесткая связь подчиненной записи с записью-владельцем и ее возможно исключить из группового отношения лишь при удалении. При удалении записи-владельца происходит автоматическое удаление всех ее подчиненных записей. Пример фиксированного членства: групповое отношение ЗАКЛЮЧАЕТ между записями КОНТРАКТ и ЗАКАЗЧИК, т.к. контракт не существует без заказчика.

Операции над данными в сетевой модели

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

Включение в групповое отношение – связывание существующей подчиненной записи с записью-владельцем.

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

Обновление – изменение значения элементов предварительно извлеченной записи.

Извлечение – извлечение записи последовательно по значению ключа и при использовании групповых отношений:– от записи-владельца можно перейти к записям-членам, а от подчиненной записи – к владельцу.

Удаление – удаление записи из базы данных. Если запись – это владелец группового отношения, то происходит анализ класса членства подчиненных записей. Обязательные члены необходимо предварительно исключить из группового отношения, фиксированные – удалить вместе с владельцем, необязательные останутся в базе данных.

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

Ограничения целостности

Подобно иерархической модели обеспечивается только поддержание целостности по ссылкам (владелец – член).

Источник

4.4.2 Основные элементы сетевой модели данных

Элемент данных – минимальная информационная единица доступная пользователю.

Агрегат данных – именованная совокупность элементов данных внутри записи или другого агрегата, которую можно рассматривать как единое целое. Имя агрегата используется для его идентификации в схеме структуры данного более высокого уровня. Агрегат данных может быть простым, если состоит только из элементов данных, и составным, если включает в свой состав другие агрегаты.

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

Тип записей – эта совокупность подобных записей. Тип записей представляет некоторый класс реального мира.

Набор — именованная двухуровневая иерархическая структура, которая содержит запись владельца и запись (или записи) членов. Наборы отражают связи «один ко многим» и «один к одному» между двумя типами записей.

Наборы бывают нескольких видов:

С одними и теми же типами записей, но разными типами наборов.

Наборы из трех записей и более, в том числе с обратной связью.

Сингулярный набор (только один экземпляр). У такого набора нет естественного владельца и в качестве него выступает система. В дальнейшем такие наборы могут приобрести запись — владельца.

4.4.3 Особенности построения сетевой модели данных

База данных может состоять из произвольного количества записей и наборов различных типов.

Связь между двумя записями может выражаться произвольным количеством наборов.

В любом наборе может быть только один владелец.

Тип записи может быть владельцем в одних типах наборов и членом в других типах наборов.

Тип записи может не входить ни в какой тип наборов.

Допускается добавление новой записи в качестве экземпляра владельца, если экземпляр-член отсутствует.

При удалении записи-владельца удаляются соответствующие указатели на экземпляры-члены, но сами записи-члены не уничтожаются (сингулярный набор).

Реализация групповых отношений в сетевой модели осуществляется с использованием указателей (адресов связи или ссылок), которые устанавливают связь между владельцем и членом группового отношения. Запись может состоять в отношениях разных типов (1:1, 1:N, M:N). Заметим, что если один из вариантов установления связи 1:1 очевиден (в запись – владелец отношения, поля которой соответствуют атрибутам сущности, включается дополнительное поле – указатель на запись – член отношения), то возможность представления связей 1:N и M:N таким же образом весьма проблематична. Поэтому наиболее распространенным способом организации связей в сетевых СУБД является введение дополнительного типа записей, полями которых являются указатели.

Стандартизация. Появление стандарта CODASYL, который определил базовые понятия модели и формальный язык описания.

Быстродействие. Быстродействие сетевых баз данных сравнимо с быстродействием иерархических баз данных.

Гибкость. Множественные отношения предок/потомок позволяют сетевой базе данных хранить данные, структура которых была сложнее простой иерархии.

Универсальность. Выразительные возможности сетевой модели данных являются наиболее обширными в сравнении с остальными моделями.

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

Жесткость. Наборы отношений и структуру записей необходимо задавать наперёд. Изменение структуры базы данных ведет за собой перестройку всей базы данных.. Связи закреплены в записях в виде указателей. При появлении новых аспектов использования этих же данных может возникнуть необходимость установления новых связей между ними. Это требует введения в записи новых указателей, т.е. изменения структуры БД, и, соответственно, переформирования всей базы данных.

Сложность. Сложная структура памяти.

Источник

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

Физические модели данных описывают то, как данные хранятся в компьютере, представляя информацию о структуре записей, их упорядоченности и существующих путях доступа. Наиболее распространены из них следующие: обобщающая модель и модель памяти кадров.

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

Иерархическая модель данных является частным случаем сетевой модели.

В сетевой модели используются несколько различных типовых структур данных, главными из которых являются типы записей и наборы. Для построения этих структур применяются такие конструктивные элементы, как элемент данных и агрегат (рис. 4.1).

Рис. 4.1. Основные структуры сетевой модели данных

Элемент данных — это наименьшая поименованная информационная единица данных, доступная пользователю (аналог — поле в файловой системе). Элемент данных должен иметь свой тип (не структурный, простой).

Агрегат данных соответствует следующему уровню обобщения — поименованная совокупность элементов данных внутри записи или другого агрегата (рис. 4.2).

Рис. 4.2. Агрегат Дата

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

Агрегат данных Дата входит в состав записи Сотрудник (рис. 4.3).

Тип записей — это совокупность логически связанных экземпляров записей. Тип записей моделирует некоторый класс объектов реального мира.

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

Рис. 4.3. Запись Сотрудник

Агрегат типа вектор соответствует линейному набору элементов данных (рис. 4.2). Агрегат типа повторяющаяся группа соответствует совокупности векторов данных. Так, например, в заказе может быть указано несколько видов товаров с числом повторений 10 (рис. 4.4).

Рис. 4.4. Запись Заказ

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

Набор, приведенный на рис. 4.5, определяет тип записи-владельца Отдел и тип записи-члена набора Сотрудник, а также тип связи между ними «один ко многим» — с именем Работает. Имя набора — это метка, присвоенная стрелке. Связь типа «один ко многим» допускает возможность того, что с данным экземпляром записи-владельца может быть связан ноль, один, или несколько экземпляров записи-члена.

Рис. 4.5. Диаграмма типа набора Работает

Используя понятия сетевой модели данных, можно получить другое изображение такого набора (рис. 4.6), где представлены логические типы записей Отдел и Сотрудник, их структура и связь между типами записей Работает.

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

Рис. 4.6. Набор Работает между двумя типами записей Отдел и Сотрудник

Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет

Генерация страницы за: 0.011 сек. —>

Источник

Читайте также:  Маршрутизация передачи сообщений в компьютерных сетях
Оцените статью
Adblock
detector