Сетевая база данных (СБД)


Сетевая база данных или СБД — это теоретико-графовые модели БЗ. Они находятся в одной группе с иерархическими моделями. На основе математики именно сетевых баз созданы разные системы управления баз данных или СУБД, как правило, коммерческого характера.

Для СБД есть ряд характерных операций:

  • навигация;
  • манипуляция;
  • управление.

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

В первую очередь сначала разобраться со структурой СБД. Это позволит понять, о чём вообще идёт речь. Для начала нужно разобраться со словом «сети». Ведь от него выстраивается понятие сетевой модели как таковой.

Что такое «Сетевая база данных» (СБД)?

Сети — это естественный способ выстраивания отношений между объектами БД и связей между обозначенными объектами. В оговоренной ситуации под словом «объекты» надо понимать таблицы БД или сущности.

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

Направленный граф — это структура, состоящая из рёбер и узлов. Узлы — это объекты СБД, а рёбра внутри такой конструкции демонстрируют связи между объектами и её тип. То есть по ним можно установить, идёт ли речь о связи 1 к 1 или это связь по типу 1 к многим.

Нужно учесть, что иерархическая модель БД — это частный и упрощённый случай СБД.

Структура СБД

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

Вспомогательные типы структур сетевой модели, которые применяются для выстраивания главных структур — агрегат данных и элемент данных. Непосредственно структура СБД выглядит как 5 элементов. Из них есть несколько ключевых:

  1. Элемент данных — самая маленькая информационная единица, которая доступна пользователю. При проведении аналогии с файловой системой такую конструкцию можно назвать полем. А если сравнивать с реляционной базой данных, то это будет элементом данных. По сути, речь идёт об одном столбце таблицы реляционной базы данных. А если конкретнее, то это — «подстолбец».
  2. Агрегат данных — это элемент, который является следующим уровнем обобщения применительно к сетевой модели. Агрегат данных представляет собой именованную совокупность информации, которая находится внутри одной записи. По сути, это столбец, который находится выше базовых столбцов. То есть речь идёт о следующем уровне, как и говорилось выше.
  3. Запись — это итоговый уровень обобщения. Её можно сравнить с таблицей в реляционной базе данных. В каждой записи должно быть не меньше 1 именованного элемента. А если таких элементов больше, то у них должны быть уникальные форматы. Стандартно записи используются для сведения данных, для каких-то выводов.

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

Агрегат типа вектор — это линейный набор данных.

Агрегат «повторяющаяся группа» — это сочетание векторов данных. То есть речь о нескольких разных векторах. Они могут быть представлены как «товары» или «расходные материалы».

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

Таким образом, набор записей в СБД определяет:

  • управляющую запись («Отдел»);
  • подчинённую запись — «Работник»;
  • тип связи — «Наем».

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

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

Концептуальная модель данных (КМД)

Что собой представляет концептуальная модель данных (КМД)? Она выражается в форме модели, которая представлена большим количеством понятий и связей. И они определяют смысловую структуру конкретной области или же отдельно взятого объекта.

КМД в первую очередь имеет отношение к предметной области. Она состоит из ряда понятий, которые взаимно связаны между собой. Указанные понятия используются, чтобы описать эту область. Причём у понятия есть свойства и характеристики, и они тоже включены в общую структуру, как и классификация по разным признакам.

Кроме того, для КМД характерны разные процессы, которые могут протекать внутри неё. Для их описания можно использовать разные законы. И они тоже будут входить в общую структуру.

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

КМД — это модель, которая создаётся по результатам процесса концептуализации. То есть её выстраивают на основании обобщения. Такие модели часто представляют собой абстракциями в реальном мире.

Концептуальное проектирование баз данных

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

При разработке такой структуры нужно определить:

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

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

Тип сущности независим. Он может быть объектом реального существования или же абстрактного или концептуального характера.

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

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

В то же время, связь, соединяющая 2 сущности, может тоже обладать атрибутами. И они будут аналогичны типам сущностей.

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

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

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

Преобразовать концептуальную модель в сетевую базу данных

Сетевую базу данных можно создать из концептуальной. Для этого достаточно соблюдать только 1 условие: в КМД должны применяться исключительно бинарные связи:

  • 1 к 1;
  • 1 к многим.

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

Бинарные связи перенести легко. Например, если выбрать перенос связи «1 к многим», то тип записи «1» будет управляющей записью, а «многие» — управляемыми. При переносе «1 к 1» определение управляемой и подчинённой записью происходит по смыслу.

Управление сетевыми данными

Сетевыми данными нужно уметь управлять. Для этого можно использовать напрямую управление и манипулирование. Для этого используются типовыми операции, которые можно разделить на навигационные и модификационные. Ниже —детальнее.

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

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

Это позволяет осуществлять следующие записи:

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

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