СЕТЕВАЯ МОДЕЛЬ БАЗ ДАННЫХ - Студенческий научный форум

IX Международная студенческая научная конференция Студенческий научный форум - 2017

СЕТЕВАЯ МОДЕЛЬ БАЗ ДАННЫХ

Колпакова Е.В. 1
1Балаковский инженерно-технологический институт Национального исследовательского ядерного университета "Московского инженерно- физического института"
 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF
Во многих сферах, будь то деловая или личная, все чаще приходится работать с данными из разных источников, каждый из которых связан с определенным видом деятельности. Хранение информации является одной из важнейших функций компьютера. Одним из распространенных средств хранения данных – базы данных [1].

База данных – это упорядоченное хранение какой-либо информации. То есть, информация хранится в упорядоченном или систематизированном виде. Видов систематизации, упорядочивания и хранения информации может быть множество. Каждый из способов хранения информации отвечает каким-либо специфическим требованиям или предназначен для выполнения каких-либо определенных действий [4].

Основой любой базы данных является модель данных. Модель данных – это совокупность структур данных и операций их обработки. С ее помощью могут быть представлены информационные объекты и их взаимосвязи. Выделяют три основных типа моделей данных: иерархическую, сетевую и реляционную.

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

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

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

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

  1. ИСТОРИЯ ВОЗНИКНОВЕНИЯ СЕТЕВОЙ МОДЕЛИ ДАННЫХ. ОПИСАНИЕ

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

Наиболее известной из таких систем была IDMS корпорации Computer Associates International, Inc [7].

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

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

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

Рисунок 1 – Пример структуры сетевой базы данных

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

  1. СТРУКТУРА СЕТЕВЫХ БАЗ ДАННЫХ

Сетевые базы данных имеют достаточно простую структуру. Структура состоит из четырех компонентов, то есть в сетевой модели используют четыре типа структур данных. Два из которых являются главными и два, если можно так сказать, не главными. Главные типы структур сетевых данных – это запись и набор [6]. Вспомогательные типы структур сетевой модели данных, которые используются для построения главных структур – это элемент данных и агрегат данных, на рисунке 2 представлена вся структура сетевых БД:

Рисунок 2 – Пример структуры сетевых баз данных

Рассмотрим каждую структуру более подробно:

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

  2. Агрегат данных – это именованная совокупность данных внутри одной записи. Аналогию с реляционными БД тут не проведешь, поскольку агрегат данных – это столбец над столбцами, который объединяет элементы данных по логике их содержимого, для наглядности выше сказанного, рассмотрим рисунок 3:

Дата

День

Месяц

Год

Рисунок 3 – Пример агрегата данных сетевой модели данных

На данном рисунке видно, что дата – это агрегат данных структуры сетевой модели, а день, месяц и год – это элемент данных сетевой БД.

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

Сотрудник

Табельный №

ФИО

Дата

Адрес

День

Месяц

Год

Разберемся со структурой сетевых баз данных на примере, поскольку так будет более понятно и доступно. Допустим, что мы хотим создать запись в сетевую базу данных, назовем ее «Сотрудник», в которую обязательно должен входить агрегат данных, который представлен на рисунке выше, его мы назовем «Дата». В эту запись нам необходимо будет добавить: табельный номер, ФИО и адрес сотрудника. Выглядеть такая запись в сетевой модели данных будет таким образом, как на представлено на рисунке 4:

Рисунок 4 – Пример записи сетевой базы данных

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

Как видно из рисунка 4: в качестве элементов данных сетевой модели могут быть использованы только простые типы, если хотите данных, но это не совсем так. Потому что в качестве агрегатов данных можно использовать сложные типы. Сложные типы в структуре сетевых баз данных бывают двух видов: вектор и повторяющаяся группа. Агрегат типа вектор соответствует линейному набору элементов данных, такой агрегат уже был представлен, как «Дата» (рисунок 3).

Агрегат типа повторяющаяся группа – это совокупность векторов данных (то есть несколько векторов). Для большей ясности представим новый агрегат данных на рисунке 5, который назовем «Товар»:

Товар

Код товара

Кол-во товара

Наименование товара

Повторяющаяся группа

Рисунок 5 – Пример агрегата типа повторяющаяся группа

Товары обычно хранятся на складе или их продают, обычно по нескольку штук. То есть имеется в виду, что агрегат типа повторяющаяся группа – это несколько агрегатов типа вектор, объединенных вместе. Предположим, у нас покупают 5 товаров, значит, если наш агрегат «Товар» будет иметь тип повторяющаяся группа, то он будет состоять из 5 агрегатов типа вектор.

Перейдем к дальнейшему рассмотрению структуры сетевой модели данных.

  1. Набор записей – это именованная двухуровневая иерархическая структура, которая содержит управляемую и управляющую записи. При помощи наборов указывается тип связи между записями. Что это означает? Проще говоря, набор - это две записи, между которыми есть связь: один-ко-многим или один-к-одному. Допустим, что у нас имеется две записи в сетевой базе данных: запись «Сотрудник», структуру которой приведена выше на рисунке 4 и запись «Отдел», структура которой в данном контексте нам не важна.

Перед нами стоит задача: осуществить логическую связь между двумя этими записями, то есть определить какая запись будет управляемой, а какая управляющей. Логично предположить, что запись «Отдел» должна быть управляющей, поскольку сотрудник работает в отделе, а не отдел в сотруднике. И понятно, что связь между этими записями должна быть один-ко-многим, потому что отдел один, а сотрудников много, назовем эту связь «Работа». И так, мы приходим к выводу, что набор записей сетевой модели данных определяет: управляющую запись, в нашем случае это «Отдел», подчиненную запись, которую мы назвали «Сотрудник», а так же тип связи между этими записями, которую мы обозвали «Работа». «Работа» — это не только имя связи, но еще и метка, которая именует сам набор данных сетевой модели. Впрочем, рисунок должны внести ясность в мои несколько путаные пояснения:

Рисунок 6 – Пример набора записей сетевой модели данных

В данном случае связь один-ко-многим говорит нам о том, что с одним экземпляром записи «Отдел» может быть связано ноль, один или несколько экземпляров записи «Сотрудник». Экземпляр записи – это что-то наподобие кортежа (строки таблицы) из реляционной БД. Используя понятия сетевой модели данных, приведенные выше, можно нарисовать набор записей по-другому. На рисунке можно отобразить логические типы данных для обеих записей, структуру записей сетевой модели данных и указать связь между записями, которую мы назвали «Работа»:

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

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

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

  1. ОПЕРАЦИИ НАД ДАННЫМИ

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

  • Найти конкретную запись в наборе однотипных записей и сделать ее текущей;

  • Перейти от записи-владельца к записи-члену в некотором наборе;

  • Перейти к следующей записи в некоторой связи;

  • Перейти от записи-члена к владельцу по некоторой связи.

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

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

  • Заменить в извлеченной записи значения указанных элементов данных на заданные новые их значения;

  • Запомнить запись из буфера в БД;

  • Создать новую запись;

  • Уничтожить запись;

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

  • Исключить текущую запись из текущего экземпляра набора.

  1. ПРЕОБРАЗОВАНИЕ КОНЦЕПТУАЛЬНОЙ МОДЕЛИ В СЕТЕВУЮ МОДЕЛЬ ДАННЫХ

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

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

  1. ОГРАНИЧЕНИЯ ЦЕЛОСТНОСТИ

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

  • Аномалия добавления данных в таблицу;

  • Аномалия модификации данных таблицы;

  • Аномалия удаления данных из таблицы.

С аномалиями баз данных можно бороться по-разному, например, привести базу данных к третьей нормальной форме или воспользоваться механизмами поддержания целостности данных, реализованными в СУБД. На самом деле, ни одна СУБД в мире не знает о том, что такое нормальная форма, поэтому за нормализацию отвечает разработчик баз данных [5].

  1. ПРЕИМУЩЕСТВА И НЕДОСТАТКИ СЕТЕВОЙ МОДЕЛИ ДАННЫХ

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

Среди недостатков сетевых СУБД следует особо выделить проблему обеспечения сохранности информации в БД, а также достаточно сложную структуру памяти.

Еще один немаловажный недостаток сетевой модели данных – высокая жесткость схемы БД. При изменении структуры БД ведет за собой перестройку всей базы данных. То есть, при изменении структуры данных нужно изменять и приложение.

ЗАКЛЮЧЕНИЕ

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

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

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

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

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

  1. Акулов О.А. Информатика: базовый курс: Учеб. пособие для студентов вузов / О.А. Акулов, Н.В. Медведев.- 2-е изд., испр. и доп.- М.: Омега-Л, 2005.

  2. Бойко В.В., Савинков В.М. Проектирование баз данных информационных систем. -М: "Финансы и статистика", 2009.

  3. Алексеев Е.Г., Богатырев С.Д. Информатика: учебник – Саранск: Морд. гос. ун-т, 2009.

  4. Золотова С.И. Практикум по Access. / С.И. Золотова – М.: Финансы и статистика, 2003.

  5. Голосов А.О. Аномалии в реляционных базах данных // СУБД. - 1986. - №3.

  6. Дж. Ульман, Дж. Видом. Введение в системы баз данных. – М.: Лори.- 2000.

  7. Карпова Т.С. Базы данных: модели, разработка, реализация. - СПб.: Питер, 2002.

Просмотров работы: 5688