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

Сетевая СУБД, графическое представление связей

Описание править

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

Сетевая БД состоит из набора экземпляров определенного типа записи и набора экземпляров определенного типа связей между этими записями.

Тип связи определяется для двух типов записи: предка и потомка. Экземпляр типа связи состоит из одного экземпляра типа записи предка и упорядоченного набора экземпляров типа записи потомка. Для данного типа связи L с типом записи предка P и типом записи потомка C должны выполняться следующие два условия:

  • каждый экземпляр типа записи P является предком только в одном экземпляре типа связи L;
  • каждый экземпляр типа записи C является потомком не более чем в одном экземпляре типа связи L.

Аспект манипуляции править

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

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

Аспект целостности править

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

Достоинства править

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

Недостатки править

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

История править

Сетевая модель была одним из первых подходов, использовавшимся при создании баз данных в конце 50-х — начале 60-х годов. Активным пропагандистом этой модели был Чарльз Бахман. Идеи Бахмана послужили основой для разработки стандартной сетевой модели под эгидой организации CODASYL. После публикации отчетов рабочей группы этой организации в 1969, 1971 и 1973 годах многие компании привели свои сетевые базы данных более-менее в соответствие со стандартами CODASYL. До середины 70-х годов главным конкурентом сетевых баз данных была иерархическая модель данных, представленная ведущим продуктом компании IBM в области баз данных — IBM IMS[1].

В конце 60-х годов Эдгаром Коддом была предложена реляционная модель данных и после долгих и упорных споров с Бахманом[2] реляционная модель приобрела большую популярность и теперь является доминирующей на рынке СУБД.

Сетевые СУБД править

Сетевая СУБДСУБД, построенная на основе сетевой модели данных.

К основным понятиям сетевой модели базы данных относятся: уровень, элемент (узел), связь.

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

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

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

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

Список самых значимых сетевых СУБД на 1978 год[3]:

  • IDS (Integrated Data Store) компании General Electric — самая первая сетевая СУБД, разработанная Чарльзом Бахманом в 1960 году
  • IDS/2 или IDS/II) компании Honeywell, купившей IDS у General Electric, позднее — компании Bull[4][5]
  • Integrated Database Management System (IDMS) компании Cullinet, развитие IDS на основе её исходных кодов
  • DMS-1100 (для мейнфреймов UNIVAC 1100) и DMS-90 (для мини-компьютеров, первый релиз — ноябрь 1974) компании UNIVAC
  • DBMS-10 компании DEC для Decsystem-10 и Decsystem-20
  • CDC DMS-170
  • Burroughs Data Management System (DMS-2[6]). Продукт представлен на рынке в октябре 1974 года.

Другие подобные СУБД:[источник не указан 3482 дня]

Примечания править

  1. Liu and Ozsu, 2009, p. 1900.
  2. Знаменитый спор под названием "The Great Debate произошел в 1974 году на конференции ACM SIGMOD Workshop on Data Description, Access, and Control, где Бахман и Кодд решали одну и ту же бизнес-задачу, используя каждый свой подход. Кодд решил её правильно, хоть и не с первого раза, а Бахман предложил громоздкое решение, которое оказалось неверным. [источник не указан 1596 дней]
  3. Computerworld 5 июн 1978, стр.160 — обзор главных СУБД на то время. Дата обращения: 28 октября 2017. Архивировано 28 октября 2017 года.
  4. Celko, 2012, p. 6.
  5. Computerworld 5 Jun 1978// Data Base Systems: Design, Implementation and Management, Part III. Дата обращения: 28 октября 2017. Архивировано 22 ноября 2018 года.
  6. или DMS-II см. Computerworld 5 июн 1978 Архивная копия от 28 октября 2017 на Wayback Machine
  7. Cerebrum : Сетевая объектно-ориентированная система управления базой знаний. Дата обращения: 6 декабря 2013. Архивировано 11 декабря 2013 года.

Литература править

  • Ling Liu, M. Tamer Ozsu. Encyclopedia of Database Systems. — Springer Science, 2009. — 3818 p. — ISBN 9780387355443. (англ.)

Ссылки править