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

3 Математическое описание реляционной модели

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

Рассмотрим способы описания отношений, доменов, ключей и правил целостности.

Отношение:

<Имя отношения>(<Ключ>,<Имя атрибута 1>,<Имя атрибута 2>,…<Имя атрибута n>).

Пример отношений:

ДИСЦИПЛИНА (Код дисциплины, Название дисциплины);

СТУДЕНТ (Номер студента, Фамилия, Имя, Отчество);

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

Для каждого атрибута необходимо определить домен. Несколько атрибутов может быть определено на одном домене. Так как, по определению, домен – это множество, то для описания доменов можно использовать любые способы задания множеств. Наиболее часто используются следующие способы:

- перечисление элементов множества;

- указание свойства, общего для всех элементов множества.

Пусть Dom (А) – домен, на котором определён атрибут А, то есть А Dom(A). Рассмотрим примеры описания атрибутов и их доменов.

Dom (Код дисциплины) = {01, 02, … 99}.

Dom(Номер студента) = {0000, 0001, … , 9999}.

Dom(Название дисциплины) = {xCHAR(x) (Длина(х)30)},

где CHAR(x) – предикат, возвращающий значение "Истина", если х – строка символов;

Длина(х) – функция, вычисляющая длину строки.

Dom(Дата) = {x │ 01.01.2000 ≤ x ≥ Дата()},

где Дата() – функция, возвращающая текущую календарную дату.

Dom(Оценка) = {2, 3, 4, 5}.

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

(x, y R)(K(x) = K(y)) → (xy),

где x, y – кортежи отношения R;

K(x), K(y) – значения ключа в кортежах x и y соответственно.

Приведённая формула утверждает, что, если в двух кортежах совпадают значения ключевых атрибутов, то эти кортежи тождественны. Например:

(x, y ЭКЗАМЕН)(((Номер студента(x) = Номер студента(y)) Λ (Код дисциплины(x) = Код дисциплины(y))) → (xy),

где Номер студента(x), Номер студента(y), Код дисциплины(x), Код дисциплины(y)- значения соответствующих атрибутов в кортежах x и y.

Правила поддержки целостности реляционной модели могут быть представлены

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

- в виде первичных ключей, обеспечивающих целостность по сущностям;

- в виде ограничений на значения внешних ключей;

- в виде сложных алгоритмов проверки правильности данных.

Рассмотрим пример правила ссылочной целостности:

(xЭКЗАМЕН)(yСТУДЕНТ)(Номер студента(x) = Номер студента(y)).

Рассмотрим пример правила, выраженного следующим текстом: студент не может в один день сдавать два экзамена.

(x, y ЭКЗАМЕН)( (Номер студента(x) = Номер студента(y)) → (Дата(x) ≠ Дата(y)).

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

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

Раздел «Реляционная теория бд» Лекция №8 Реляционная алгебра и реляционное исчисление

1 Реляционная алгебра. Теоретико-множественные операции

Реляционная алгебра была предложена Коддом (E.F. Codd) в 1972 г.

Реляционная алгебра устанавливает правила выполнения операций над отношениями.

Теоретико-множественные операции:

- объединение;

- пересечение;

- разность;

- декартово произведение.

Операнды этих операций должны быть совместимы по объединению, то есть должны иметь одинаковое количество атрибутов и их i-ые атрибуты должны быть определены на одном и том же домене.

Объединением двух отношений R1 и R2 называется множество всех кортежей, принадлежащих либо R1, либо R2, либо им обоим:

R1 R2 = {tt R1 V t R2},

где t – кортеж.

Пресечением двух отношений R1 и R2 называется множество всех кортежей t таких, что каждый из кортежей принадлежит как R1, так и R2:

R1 R2 = {tt R1 Λ t R2}.

Разностью отношений R1 и R2 называется множество всех кортежей t таких, что каждый из кортежей принадлежит R1, но не принадлежит R2:

R1 \R2 = {tt R1 Λ t R2}.

Декартовым произведением отношений R1 и R2 называется множество всех кортежей t таких, что каждый из кортежей является упорядоченной парой, первый элемент которой – какой-либо кортеж отношения R1, а второй элемент – кортеж отношения R2:

R1 Х R2 = {(t1, t2) │ t1R1 Λ t2 R2},

где t1, t2 – кортежи.