- Сетевая модель данных
- Вопрос13! Сетевая модель данных. Одна из первых сетевых моделей данных, разработанная группой codasyl (Conference of Data System Languages), была предложена в 1969 г. И развивалась до 80-х годов.
- 2.2. Иерархическая модель данных
- 2.3. Сетевая модель данных
- 2.4. Реляционная модель данных
Сетевая модель данных
Вопрос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 | ГВП |
2.2. Иерархическая модель данных
Иерархическая структура представляет собой совокупность элементов, связанных между собой так, что они образуют ориентированный граф 1 ) (или перевернутое дерево), вид которого представлен на следующем рисунке:
Рис. . Иерархическая модель данных.
К основным понятиям иерархической структуры относятся: уровень, элемент (узел), связь. Узел — это совокупность атрибутов данных, описывающих некоторый объект. На схеме узлы представлены вершинами графа.
Узлы дерева связываются между собой с помощью связей, изображаемых стрелками. Связи представляются ребрами (дугами) ориентированного графа.
Узлы принадлежат тому или иному уровню. Каждый узел на более низком уровне связан только с одним узлом, находящимся на более высоком уровне.
Иерархическое дерево имеет только одну вершину (корень дерева), не подчиненную никакой другой вершине и находящуюся на самом верхнем уровне. Зависимые (подчиненные) узлы находятся на втором, третьем и т.д. уровнях. Количество деревьев в базе данных определяется числом корневых записей.
К каждой записи базы данных существует только один (иерархический) путь от корневой записи.
Пример иерархической структуры базы данных.
Для рассматриваемого примера такая структура правомерна, так как каждый студент учится только в одной определенной группе, которая относится только к одному определенному факультету.
2.3. Сетевая модель данных
В сетевой структуре при тех же основных понятиях (уровень, узел, связь) каждый элемент может быть связан с любым другим элементом.
На следующем рисунке изображена сетевая структура базы данных в виде графа:
Рис. . Графическое изображение сетевой структуры.
П римером сложной сетевой структуры может служить структура базы данных, содержащая сведения о студентах, посещающих спортивные секции. Возможно посещение нескольких секций одним студентом, а также посещение несколькими студентами одной секции. Графическое изображение такой сетевой структуры, состоящей только из двух типов записей, приведено на следующем рисунке:
Рис. . Графическое изображение сетевой структуры
2.4. Реляционная модель данных
Понятие реляционный (англ. relation — отношение) связано с разработками известного американского специалиста в области систем баз данных Е. Кодда.
Эти модели характеризуются простой структурой данных, удобным для пользователя табличным представлением данных и возможностью использования формального аппарата алгебры отношений и реляционного исчисления для обработки данных.
Реляционная модель ориентирована на организацию данных в виде двумерных таблиц, называемых реляционными таблицами. Каждая реляционная таблица представляет собой двумерный массив и обладает следующими свойствами:
- каждый элемент таблицы — один элемент данных;
- все элементы в столбце таблицы имеют одинаковый тип (числовой, символьный, дата и т.д.) и одинаковую длину;
- каждый столбец имеет уникальное имя;
- одинаковые строки в таблице отсутствуют;
- порядок следования строк и столбцов может быть произвольным.