Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1-50.docx
Скачиваний:
3
Добавлен:
23.09.2019
Размер:
1.82 Mб
Скачать

24. Операции в реляционной модели данных

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

T = R[X],

где R - исходное отношение,

Т - результирующее отношение,

X - список атрибутов в структуре отношения Т (условие проекции).

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

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

1. Условие вида Имя_атрибута <знак сравнения> Значение, где допускаются знаки сравнения =, #, >, =>, <, <=. Например, Цена > 100.

2. Условие вида Имя_атрибута_1 <знак сравнения> Имя__атрибута_2. Например, Факт > План. Имена атрибутов должны содержаться в структуре исходного отношения. Алгебраическая запись выборки имеет вид

T = R[p],

где R - исходное отношение;

Т - результирующее отношение;

р - условие выборки.

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

Обозначим исходные отношения через R1 и R2, а результирующее - Т.

Объединение Т = U(R1, R2) содержит строки, присутствующие либо в отношении R1, либо в R2. Пересечение Т = I(R1, R2) содержит строки, присутствующие в отношениях R1 и R2 одновременно. Вычитание Т = M(R 1, R2) содержит те строки из R1, которые отсутствуют в R2.

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

Имя_атрибута_1 <знак сравнения> Имя_атрибута_2, где Имя_атрибута_1 находится в одном исходном отношении, а Имя_атрибута_2 - в другом. Будем использовать следующее обозначение операции соединения:

T = Rl[p]R2,

где RI и R2 - исходные отношения,

Т - результирующее отношение,

р - условие соединения.

Результатом операции деления является отношение Q(B), содержащее пересечение образов всех строк отношения-делителя V(A), вычисленных на основе отношения-делимого W(A,B)> Q = D (W,V), где D - знак операции деления.

25. Функциональные зависимости

Простейший случай функциональной зависимости охватывает 2 атрибута. В отношении R(A,B,...) атрибут А функционально определяет атрибут В, если в любой момент времени каждому значению А соответствует единственное значение В (обозначается А -» В).

Неполная функциональная зависимость - это две зависимости:

• вероятный ключ отношения функционально определяет некоторый не ключевой атрибут,

• часть вероятного ключа функционально определяет этот же не ключевой атрибут

Транзитивная ФЗ - это две ФЗ:

• вероятный ключ отношения функционально определяет не ключевой атрибут,

• этот атрибут функционально определяет другой не ключевой атрибут