Базовыми объектами сетевой модели являются

Сетевые структуры

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

Стандарт сетевой модели впервые был определен в 1975г. организацией CODASYL (Conference of Data System Languages), которая определила базовые понятия модели и формальный язык ее описания.

Базовыми объектами модели являются:

Элемент данных – минимальная информационная единица, доступная с помощью СУБД.

Агрегат данных – соответствует следующему после элемента данных уровню обобщения.

Например, агрегат с именем Адрес может быть представлен в виде

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

Набор – двухуровневый граф, связывающий отношением 1:M два типа записей.

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

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

П ример. На рис.16. представлены два набора, связывающие сущности «Преподаватель» и «Группа».

Рис.16. Наборы данных, связывающие сущности «Преподаватель» и «Группа»

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

Экземпляров набора «Ведет занятия у» – 3 (по количеству преподавателей), а экземпляров набора «Занимается у» – 4 (по количеству групп).

Учитывая первоначальные рекомендации CODASYL и результаты последующих соглашений, можно сформулировать следующие основные свойства и ограничения, присущие набору:

  1. Набор – это поименованная совокупность связанных записей.
  2. В каждом экземпляре набора имеется только один экземпляр записи-владельца.
  3. Тип набора представляет логическую взаимосвязь 1:M между владельцем и членом
  4. С ущественное различие между сетевой и иерархической моделями данных состоит в том, что в сетевой модели каждая запись может участвовать в любом количестве наборов:
  1. В сетевых моделях допускаются записи-члены, не участвующие в наборах. Это соответствует порожденным узлам дерева, не имеющим исходных.
  2. Между двумя типами записей можно определить любое количество наборов, то есть, между ними могут быть определены любые типы отношений.
  3. Экземпляр набора существует после заполнения записи-владельца.

На формирование типов связи не накладываются особые ограничения; возможны, например, ситуации:

  • Тип записи потомка в одном типе связи может быть типом записи предка в другом типе связи (как в иерархии).
  • Данный тип записи может быть типом записи предка в любом числе типов связи.
  • Данный тип записи может быть типом записи потомка в любом числе типов связи.
  • Предок и потомок могут быть одного типа записи.
Читайте также:  Для локальных и глобальных вычислительных сетей справедливо что они

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

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

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

Примерный набор операций манипулирования данными может быть таковым:

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

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

Рис.17. Пример диаграммы связей экземпляров типов записей в сетевой модели

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

Наиболее интересна операция поиска (FIND), так как именно она отражает суть навигационных методов, применяемых в сетевой модели. Всего существует 7 типов операций поиска:

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

Таким образом, выполнение команд поиска устанавливает текущий указатель (указатель на текущий объект). Далее найденный объект, если его необходимо модифицировать, должен быть перемещен из БД в рабочую область приложения.

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

Источник

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

Вопрос13! Сетевая модель данных. Одна из первых сетевых моделей данных, разработанная группой codasyl (Conference of Data System Languages), была предложена в 1969 г. И развивалась до 80-х годов.

(Оригинал смотри здесь http://coronet.iicm.tugraz.at/wbtmaster/allcoursescontent/netlib/library.htm)

Первоначально сетевая модель замышлялась как инструмент для программистов. В качестве базового языка программирования был выбран Cobol.

К известным сетевым системам управления базами данных относятся: DBMS, IDMS, TOTAL, VISTA, СЕТЬ, СЕТОР, КОМПАС и др.

Читайте также:  Узлы компьютерной сети и аппаратное обеспечение

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

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

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

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

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

Сетевая модель – это структура, у которой любой элемент может быть связан с любым другим элементом (рис. 18). Реальный пример иерархической модели представлен на рис. 19.

Рис. 18. Представление связей в сетевой модели данных

Рис. 19. Пример сетевой модели данных

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

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

  • Добавить – внести запись в базу данных.
  • Извлечь – извлечь запись из базы данных.
  • Обновить – изменить значение элементов предварительно извлеченной записи.
  • Удалить – убрать запись из базы данных.
  • Включить в групповое отношение – связать существующую подчиненную запись с записью-владельцем.
  • Исключить из группового отношения – разорвать связь между записью-владельцем и записью-членом.
  • Переключить – связать существующую подчиненную запись с другой записью-владельцем в том же групповом отношении.

________________________________________________________________________________ Базовыми объектами сетевой модели являются:

  • элемент данных;
  • агрегат данных;
  • запись;
  • набор данных.

Элемент данных — то же, что и в иерархической модели, то есть минимальная информационная единица, доступная пользователю с использованием СУБД. Агрегат данных соответствует следующему уровню обобщения в модели. В модели определены агрегаты двух типов:

  • агрегат типа вектор и
  • агрегат типа повторяющаяся группа.
Читайте также:  Что такое компьютерная сеть основная цель ее создания

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

Адрес
Город Улица дом квартира

Агрегат типа повторяющаясягруппа соответствует совокупности векторов данных. Например, агрегат Зарплата соответствует типу повторяющаяся группа с числом повторений 12.

Зарплата
Месяц Сумма
. .

Записью называется совокупность агрегатов или элементов данных, моделирующая некоторый класс объектов реального мира. Понятие записи соответствует понятию «сегмент» в иерархической модели. Для записи, так же как и для сегмента, вводятся понятия типа записи и экземпляра записи. Следующим базовым понятием в сетевой модели является понятие «Набор». Набором называется двухуровневый граф, связывающий отношением «один-ко-многим» два типа записи. Набор фактически отражает иерархическую связь между двумя типами записей. Родительский тип записи в данном наборе называется владельцем набора, а дочерний тип записи — членом того же набора. Для любых двух типов записей может быть задано любое количество наборов, которые их связывают. Фактически наличие подобных возможностей позволяет промоделировать отношение «многие-ко-многим» между двумя объектами реального мира, что выгодно отличает сетевую модель от иерархической. В рамках набора возможен последовательный просмотр экземпляров членов набора, связанных с одним экземпляром владельца набора. Между двумя типами записей может быть определено любое количество наборов: например, можно построить два взаимосвязанных набора. Существенным ограничением набора является то, что один и тот же тип записи не может быть одновременно владельцем и членом набора. В качестве примера рассмотрим таблицу, на основе которой организуем два набора и определим связь между ними:

Преподаватель Группа День недели пары Аудитория Дисциплина
Иванов 4306 Понедельник 1 22-13 КИД
Иванов 4307 Понедельник 2 22-13 КИД
Карпова 4307 Вторник 2 22-14 БЗ и ЭС
Карпова 4309 Вторник 4 22-14 БЗ и ЭС
Карпова 4305 Вторник 1 22-14 БД
Смирнов 4306 Вторник 3 23-07 ГВП
Смирнов 4309 Вторник 4 23-07 ГВП

Экземпляров набора Ведет занятия будет 3 (по числу преподавателей), экземпляров набора Занимается у будет 4 (по числу групп). На рис.20представлены взаимосвязи экземпляров данных наборов. Рис. 20. Пример взаимосвязи экземпляров двух наборов Среди всех наборов выделяют специальный тип набора, называемый «Сингулярным набором», владельцем которого формально определена вся система. Сингулярный набор изображается в виде входящей стрелки, которая имеет собственно имя набора и имя члена набора, но у которой не определен тип записи «Владелец набора». Например, сингулярный набор М. Сингулярные наборы позволяют обеспечить доступ к экземплярам отдельных типов данных, поэтому если в задаче алгоритм обработки информации предполагает обеспечение произвольного доступа к некоторому типу записи, то для поддержки этой возможности необходимо ввести соответствующий сингулярный набор. В общем случае сетевая база данных представляет совокупность взаимосвязанных наборов, которые образуют на концептуальном уровне некоторый граф.

Источник

Оцените статью
Adblock
detector