Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
иобд 1-50.doc
Скачиваний:
24
Добавлен:
23.12.2018
Размер:
465 Кб
Скачать
☆

30. Операция деления отношения

Пусть заданы два отношения - A с заголовком {a1, a2, ..., an, b1, b2, ..., bm} и B с заголовком {b1, b2, ..., bm}. Будем считать, что атрибут bi отношения A и атрибут bi отношения B не только обладают одним и тем же именем, но и определены на одном и том же домене. Назовем множество атрибутов {aj} составным атрибутом a, а множество атрибутов {bj} - составным атрибутом b. После этого будем говорить о реляционном делении бинарного отношения A(a,b) на унарное отношение B(b).

Результатом деления A на B является унарное отношение C(a), состоящее из кортежей v таких, что в отношении A имеются кортежи <v, w> такие, что множество значений {w} включает множество значений атрибута b в отношении B.

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

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

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

32. Ограничение по условию.

Операция ограничения WHERE требует наличия двух операндов: ограничиваемого отношения и простого условия ограничения.

│R WHERE comp (compire-условия,ограничение) (а оператор b)

А и B должны быть определены на одном и том же домене, для значений базового типа данных которого поддерживается операция сравнения. Операцией сравнения comp-op могут быть «=», «», «>», «», «<», «». Ограничения может проводиться по нескольким условиям.

Одновременно в том случае использования логической связи «и» «или» «не».

(*) TIMES (∆) (,WHERE) (ЗП>300 AND (отдел=211))

Результат выполнения операции СЛУЖАЩИЕ_В_ПРОЕКТЕ_1

WHERE (СЛУ_ЗАРП > 20000.00 AND (СЛУ_ОТД_НОМ = 310 OR СЛУ_ОТД_НОМ = 315)) (получить данные из отношения СЛУЖАЩИЕ_В_ПРОЕКТЕ_1 о служащих, работающих в отделах 310 и 315 и получающих зарплату, превышающую 20 000.00 руб.) показан на рис. 4.5.

Рис. 4.5. Результат операции СЛУЖАЩИЕ_В_ПРОЕКТЕ_1 WHERE (СЛУ_ЗАРП 200 > 20000.00 AND (СЛУ_ОТД_НОМ = 310 OR СЛУ_ОТД_НОМ = 315))

На интуитивном уровне операцию ограничения лучше всего представлять как взятие некоторой «горизонтальной» вырезки из отношения-операнда (выборки некоторых строк из таблицы).

33.Замыкание множества функциональных зависимостей.

Замыкание множеств функциональных зависимостей является некоторое другое множество вкл все зависимости логически выводимые из этого множества.

Служ_ном служ_зп

Служ_имя служ_зп

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

1)рефлексивность .если B A ,то A B

2)транзитивность .если A C C B, то A B

3)пополнение. если A B ,то AC BC

4)самодетерминированность. A A

5)декомпозиция. A BC ,то A B , A C

6)объединение . если A B и A C, то A BC

7)композиция. если A B , C D,то AC BD

8)накопления. Если A BC и B D ,то A BCD

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]