Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Занятие 2. Модели данных. Иерархическая, сетевая, реляционная модели



Занятие2. Модели данных. Иерархическая, сетевая, реляционная модели

(4 часа)

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

Атрибут- наименование единицы структуры данных.

Запись — именованная совокупность атрибутов. Ее использование позволяет за одно обращение к БД получить некоторую логически связанную совокупность данных. Тип записи определяется составом ее атрибутов.

Групповое отношение соотношение между записями двух типов.

Родительская запись группового отношения - исходная запись, дочерние записи подчиненные.

Корневая запись каждого дерева должна содержать ключ с уникальным значением.

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

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

При графическом изображении иерархические отношения обозначаются дугами, а типы записей - вершинами.

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

Для автоматического учета контрактов с заказчиками необходимо создать еще одну иерархическую структуру - заказчик, контракты с ним и сотрудники. Это дерево будет включать в себя следующие записи: заказчик (наименование и адрес), контракт (номер, дата и сумма) и исполнитель (ФИО, должность и наименование отдела).

НЕДОСТАТКИ. Частично дублируется информация между записями «сотрудник» и «исполнитель». Поддержка соответствия между такими записями в иерархической модели данных не предусмотрена. Иерархическая модель реализует отношение между исходной и дочерней записями по схеме 1:N, т.е. одной родительской записи может соответствовать любое число дочерних записей. Допустим, что исполнитель может участвовать более чем в 1м контракте. Тогда в БД необходимо ввести еще одно групповое отношение, в котором «исполнитель» будет являться исходной записью, а «контракты» дочерними. Таким образом, происходит дублирование информации.



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

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

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

1) Способ упорядочения подчиненных записей: произвольный, хронологический и обратнохропологический. Если запись объявлена подчиненной в нескольких групповых отношениях, то в каждом из них задастся свой способ упорядочения.

2) Режим включения подчиненных записей: ручной, автоматический.

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

Ручной режим позволяет сразу не включать подчиненную запись в экземпляр группового отношения.

3) Класс членства подчиненной записи в групповых отношениях: фиксированный, обязательный и необязательный.

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

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

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

Иерархическая структура преобразуется в сетевую модель следующим образом. Деревья а) и б) заменяются одной сетевой структурой, в которой запись «сотрудник» входит в 2 групповых отношения. Для отображения связи типа M:N вводится запись «сотрудник-контракт», которая не имеет полей и служит только для связи записей «контракт» и «сотрудник».

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

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

Декартовым произведением называют множество произведений d1*d2*...dn, где элементы d1, d2,...dn принадлежат множествам D1:Dn. Пример: заданы два множества A (ак а2 а3) и В (b1, b2). Декартово произведение С = A*В = (a1* b1, а2* bL, a3:* b1,

a1* b2. a2* b2. a3* b2)

Отношением R, определенным на множествах D1…Dn называется множество декартового произведения D1*D2*...Dn, - домены отношения; d1, d2,...dn, кортежи отношения; n - степень отношения; m - мощность отношения.

В таб лице представлена информация о работниках предприятия. Строки таблицы соответствуют кортежам. Каждая строка описание реального объекта. Несколько атрибутов могут быть определены на одном домене. Данные сравнимы только тогда, когда они относятся к одному домену.

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

Свойства отношений.

1) Отсутствие кортежей-дубликатов. 2) Отсутствие упорядоченности кортежей. 3) Отсутствие упорядоченности атрибутов. Для ссылки на значение атрибута всегда используется имя атрибута. 4) Атомарность значения атрибута - среди значений домена не может содержаться множество значений.

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

Связь между отношениями «отдел-сотрудник» осуществляется путем копирования первичного ключа (номер отдела) из первого отношения во второе.

Чтобы получить список сотрудников данного подразделения, необходимо сначала в таблице 1 установить значение атрибута «номер отдела», соответствующий заданному наименованию отдела; затем, выбрать записи из таблицы 2 по полученному ранее номеру отдела.

Чтобы узнать, в каком отделе работает сотрудник, следует определить номер отдела в таблице 2, далее по этому номеру определить наименование отдела в таблице 1.


Дата добавления: 2015-11-04; просмотров: 39 | Нарушение авторских прав




<== предыдущая лекция | следующая лекция ==>
Всемирная федерация танцевального спорта (WDSF) | Заявка на участие в Кемеровской модели ООН

mybiblioteka.su - 2015-2024 год. (0.018 сек.)