Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БД_2013_Задания / КонспектЛекций_БД_СоболеваНВ_2013.docx
Скачиваний:
125
Добавлен:
12.03.2015
Размер:
634.27 Кб
Скачать

3.6 Модель данных на основе xml

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

<database>

<table>

<row>

<column1>...</column1>

<column2>...</column2>

...

</row>

<row>

...

</row>

...

</table>

<table>

...

</table>

...

</database>

Более подробно о положительных и отрицательных сторонах модели данных на основе XML можно прочитать в публикациишколы консорциумаW3.

Вернуться в содержание

Раздел «Реляционная теория бд» Лекция №7 Реляционная модель данных. Основные понятия

1 Словарь терминов

Атомарные данные – наименьшие единицы данных, неразложимые с точки зрения модели (см. концептуальную модель).

Домен – множество атомарных значений одного и того же типа.

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

Атрибут – некоторое подмножество домена, имеющее уникальное имя.

На одном домене можно определить несколько атрибутов.

Отношение – это некоторое подмножество декартова произведения доменов, имеющее уникальное имя.

R(A1, A2, . . . An) D1 x D2 x . . . x Dn,

где R – имя отношения;

A1, A2, . . . An – атрибуты отношения;

D1 x D2 x . . . x Dn – домены, не обязательно различные.

A1 D1; A2 D2; . . . An Dn.

Кортеж – множество значений атрибутов отношения, по одному значению на атрибут.

ti = <a1 I, a2 I, . . . an I>,

где ti – i-ый кортеж отношения;

a1 I A1, a2 I A2, . . . , an I An.

Пример записи отношения:

ЭКЗАМЕН (№зачетной книжки, Табельный номер преподавателя, Код дисциплины, Дата, Оценка).

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

Связь между отношением и таблицей показана на рисунке 1.

Возможный ключ отношения – подмножество атрибутов отношения, удовлетворяющее следующим условиям:

1) в произвольный заданный момент времени никакие два кортежа отношения не имеют одного и того же значения для ключа;

2) ни один из атрибутов ключа не может быть удален без нарушения условия уникальности.

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

При записи отношения рекомендуется атрибуты ключа располагать в списке атрибутов первыми и подчёркивать их, например:

ЭКЗАМЕН (№зачетной книжки, Код дисциплины, Дата, Оценка).

2 Целостность реляционной модели

Целостность базы данных – это одна из основных эксплуатационных характеристик (см. лекцию 1).

Реляционная модель предполагает три типа правил целостности:

1) целостность доменов;

2) целостность по сущностям;

3) целостность по ссылкам.

Целостность доменов – это ограничения на значения атрибутов в каждом отношении. Некоторые из возможных вариантов ограничений см. лекцию 4.

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

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

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

Целостность по ссылкам основана на понятии внешнего ключа. Пусть даны отношения R1 и R2. Пусть К1 – первичный ключ R1. Если в отношении R2 присутствуют атрибуты К1, то в отношении R2 К1внешний ключ. Например:

СТУДЕНТ (№студента, ФИО, Адрес);

ЭКЗАМЕН (№студента, Код дисциплины, Дата, Оценка);

СТУДЕНТ.№студента – первичный ключ,

ЭКЗАМЕН.№студента – внешний ключ.

В примере для уточнения принадлежности атрибута конкретному отношению использованы полные имена атрибутов: <Имя отношения>.<Имя атрибута>.

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

Возможность внешнему ключу принимать неопределённое значение зависит от моделируемой предметной области, например:

ГРУППА (Номер группы, Шифр специальности);

СТУДЕНТ (Номер студента, Номер группы, …).

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

Внешний ключ ЭКЗАМЕН.№студента (см. предыдущий пример) должен быть задан обязательно, иначе будет утеряна информация о том, кому поставлена оценка.