Виды и модели данных
Информация - Компьютеры, программирование
Другие материалы по предмету Компьютеры, программирование
Виды и модели данных
1. Сетевая модель данных
Сетевая модель данных позволяет отображать связи М:М. Обычно она представляет собой ориентированный мультиграф, вершинами которого являются объекты, а ребрами - связи между объектами. Вершины такого графа соединены параллельными ребрами, имеющими определенные направления.
Построенную ранее логическую структуру данных представим в виде сети. Стрелками обозначены связи 1:М. Стрелки, расположенные между объектами ПРЕПОДАВАТЕЛЬ - СТУДЕНТ и ПРЕПОДАВАТЕЛЬ - ПРЕДМЕТ двунаправленные, так как в логической структуре данных между этими объектами существует связь М:М.
Рис. 1
В сетевой модели связям между объектами присваиваются имена, отражающие смысл каждой из связей. Поименованная связь представляет собой связь определенного типа, т.е. в сетевой модели, кроме понятия тип объекта существует понятие тип связи. В рассмотренной модели установлены 5 типов связей: Ученики, Учителя, Лектор, Читаемый предмет, Изучаемый предмет.
В описании схемы БД каждый из типов объектов описывается записью определенного типа, поэтому в дальнейших рассуждениях понятие тип записи будем использовать наряду с понятием тип объекта.
Основной конструктивной единицей сетевой модели является тип набора. При описании типа набора один из типов записи определяется как владелец набора, а запись другого типа определяется как член набора. Между владельцем и членом набора устанавливается связь определенного типа. Имя связи рассматривается как имя набора. В рассмотренной модели представлены 5 типов наборов. Набор Ученики (владелец набора - запись типа ПРЕПОДАВАТЕЛЬ, член набора - запись типа СТУДЕНТ), Набор Учителя (владелец набора - запись типа СТУДЕНТ, член набора - запись типа ПРЕПОДАВАТЕЛЬ), набор Читаемый предмет (владелец набора - запись типа ПРЕПОДАВАТЕЛЬ, член набора - запись типа ПРЕДМЕТ), набор Лектор (владелец набора - запись типа ПРЕДМЕТ, член набора - запись типа ПРЕПОДАВАТЕЛЬ) и набор Изучаемый предмет (владелец набора - запись типа СТУДЕНТ, член набора - запись типа ПРЕДМЕТ).
На схеме сети в вершинах графа изображены лишь типы объектов и указаны их имена. Необходимо помнить о том, что каждый из типов объектов описывается совокупностью свойств.
СТУДЕНТ (№ зачетной книжки, ФИО, Группа, Средний балл);
ПРЕПОДАВАТЕЛЬ (ФИО_П, Должность);
ПРЕДМЕТ (Наименование, Часы, Отчетность).
Определив значения свойств, получим экземпляры объектов данного типа и, соответственно, экземпляры записей. Например, (Кошкин И.И., доцент), (Мышкин М.М., ассистент) - это два экземпляра объекта типа ПРЕПОДАВАТЕЛЬ. Для дальнейших рассуждений примем следующие сокращения для идентификации экземпляров объектов: Преподаватель 1, Преподаватель 2, …. , Студент 1, Студент 2, ….., Предмет 1, Предмет 2 и т.д.
При определении конкретных значений свойств объектов оперируют терминами экземпляр набора, экземпляр владельца и экземпляр члена набора.
В каждом экземпляре набора определенного типа содержится единственный экземпляр записи - владельца набора и множество экземпляров записей - членов набора, т.е. между владельцем набора и членами набора существует связь 1:М
С учетом принятых сокращений изобразим фрагмент экземпляра схемы БД, в котором отображены связи типа Ученики и Читаемый предмет для нескольких экземпляров записей типа ПРЕПОДАВАТЕЛЬ, ПРЕДМЕТ и СТУДЕНТ. У Преподавателя 1 учениками являются Студент 1, Студент 3 и Студент 4, этот преподаватель читает Предмет 1 и Предмет 3. Преподаватель 2 читает Предмет 2, его учениками являются Студент 2, Студент 3 и Студент 5.
Данный фрагмент содержит 2 экземпляра набора типа Читаемый предмет и 2 экземпляра набора типа Ученики (владельцы - Преподаватель 1 и Преподаватель 2).
Сетевая модель сложна для восприятия, а СУБД, поддерживающие сетевую модель, довольно сложны в эксплуатации. Поэтому сетевую модель обычно приводят к виду иерархической или реляционной модели. Однако, у сетевой модели есть очень важное достоинство: эта модель данных не избыточная, так как каждый экземпляр записи хранится в БД единожды, т.е. отсутствует дублирование экземпляров записей.
2. Иерархическая модель данных
Иерархическая модель данных основана на принципе иерархического подчинения типов объектов. Среди объектов предметной области выделяют порождающие типы объектов и порожденные типы. Между ними устанавливаются допустимые в иерархии связи.
Иерархическая модель данных - частный случай сетевой модели, так как дерево представляет собой граф, на который наложены определенные ограничения. Так, например, в дереве возможны только однонаправленные связи - от порождающей вершины к порожденной. Каждая порожденная вершина может иметь единственную порождающую вершину, но каждая порождающая - любое количество порожденных вершин. Поэтому в иерархической модели могут присутствовать лишь связи 1:М.
Сеть приводится к виду дерева введением избыточности. При этом все вершины сети неоднократно повторяются в тех деревьях, которыми заменяют сеть.
Полученная выше сетевая модель данных представляет собой сложную сеть, т.к. она имеет вид ориентированного мультиграфа (между объектами, входящими в сеть, имеются двусторонние связи). К виду дерева можно привести лишь простую сеть, представленную графом, не имеющим паралл