Виды и модели данных

Модель предметной области - это наши знания о предметной области. Знания могут быть как в виде неформальных знаний в мозгу

Виды и модели данных

Информация

Компьютеры, программирование

Другие материалы по предмету

Компьютеры, программирование

Сдать работу со 100% гаранией

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Виды и модели данных

 

 

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:М.

Сеть приводится к виду дерева введением избыточности. При этом все вершины сети неоднократно повторяются в тех деревьях, которыми заменяют сеть.

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

Преобразуем сложную сеть к виду простой сети, а затем к виду дерева.

На рис. цифрой 1 обозначена вершина, содержащая запись об объекте ПРЕПОДАВАТЕЛЬ, цифрой 2 - вершина СТУДЕНТ, цифрой 3 - вершина ПРЕДМЕТ.

 

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

 

 

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

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

 

Иерархическая модель данных обладает избыточностью. Экземпляры записей неоднократно повторяются в экземплярах деревьев.

 

. Реляционная модель данных

 

Реляционная модель была предложена американским математиком Е. Коддом в 1970 г. Это единственная из моделей БД, основанная на специальном разделе математики - теории отношений. Благодаря математическому обоснованию удалось сформулировать достаточно строгие правила построения модели данных. Языки данных, основанные на математическом аппарате теории отношений, позволяют составлять любые запросы к БД и выполнять разнообразные операции манипулирования данными.

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

Представим объекты рассматриваемой предметной области в табличной форме.

 

СТУДЕНТ ПРЕПОДАВАТЕЛЬ

№ зач. кн. ФИОГруппаСр. баллФИО_ПДолжность213456Кошкин К.К.3374.3Лосев Л.Л.Доцент214365Мышкин М.М.4353.9Волков В.В.Профессор235467Шишкин Н.Н.3384.8Львов Л.Л.Доцент324476Попов П.П.2334.5

ПРЕДМЕТ

 

 

 

 

 

Между таблицами реляционной модели должны быть установлены связи, существующие между объектами предметной области, т.е. все те связи, которые были установлены нами в рассмотренной выше сетевой модели.

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

Для установления связи 1:М в таблицу, находящуюся на стороне М, вводятся дополнительные столбцы из таблицы, находящейся на стороне 1.Для установления связи М:М приходится создавать дополнительную связующую таблицу, содержащую столбцы из связываемых таблиц. Между каждой из связываемых таблиц и вновь созданной таблицей устанавливается связь 1:М. Если между таблицами существует связь 1:1, то их можно объединить в одну.

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

Для создания

Похожие работы

1 2 >