Замыкание множества атрибутов

advertisement
Ещё одно свойство функциональных зависимостей (ФЗ)
Если есть зависимость A->B и A->C, то 𝐴 → 𝐵 ∩ 𝐶, 𝐵 ∪ 𝐶
Замыкание множества атрибутов
Замыкание множества атрибутов A – это множество атрибутов, зависящих от А. Обозначается 𝐴
𝐴 → 𝐵 => 𝐴 → 𝐴 𝐵
Пример.
A B C D E
A -> BC
B -> D
C -> DE
𝐴 + = {𝐴, 𝐵, 𝐶, 𝐷, 𝐸}
𝐴 + {𝐴, 𝐵, 𝐶, 𝐷, 𝐸} => 𝐴 − ключ.
AB-> C
AE-> D
D->B.
В данном случае ключом будет AE.
Ещё пример:
R
A B C
1 2 3
1 2 5
Декомпозиция отношения:
R1
A B
1 2
4 2
R2
B C
2 3
2 5
+
R1*R2
A
1
1
4
4
B
2
2
2
2
C
3
5
3
5
Пример теорем Хеза.
A
B
C
D
E
F
BC->EF
B C E F
B C A D
Нормальные формы.
Чтобы отношение находилось в 1НФ необходимо, чтобы в каждой ячейке содержалось не более
одного значения
Отношение находится во 2НФ, если в нем нет зависимости неключевых атрибутов от части
составного ключа.
A B C D
Разбиваем на:
B C
A B D
Отношение находится в 3НФ тогда и только тогда, когда оно находится во 2НФ и не содержит ФЗ
между неключевыми атрибутами (не содержит транзитивных зависимостей)
A B C D
Разбиваем на:
C D
A B C
№Зач ФИО
№гр
№каф ЗавКаф Предмет оценка
№Зачетки -> ФИО, №группы
№Зачетки;Предмет -> оценка.
№гр -> №Каф
№Каф -> ЗавКаф
Т.к. от №Зач зависит 4 атрибута, разбиваем отношение на:
№зач Предмет Оценка
№Зач ФИО №гр №Каф ЗавКаф
3НФ
2НФ
№гр №каф ЗавКаф
2НФ
№гр №каф
№паспорта Предмет
3НФ
№каф ЗавКаф
3НФ
№Зачетки
№зач ФИО №гр
3НФ
Оценка
123
456
БД
5
123
456
ОС
3
124
457
ОС
3
Здесь два ключа №зач, Предмет и №паспорта, Предмет.
3НФ. BCNF.
Отношение относится к BCNF, если все детерминанты ФЗ являются ключами.
BCNF
3NF
№пасп ->№зач
№зач, предмет -> Оценка
№зач-> №пасп
№пасп, предмет->Оценка
Для BCNF не требуется определять другие НФ.
Можно показать, что если отношение находится в 3NF, но не находится в BCNF, то в ней
находятся два составных пересекающихся ключа.
Понятие многозначной зависимости.
Проблема:
№Зач Предмет Хобби
Если студент имеет несколько хобби, то для этого необходимо несколько кортежей.
В отношении R{A,B,C} есть многозначная зависимость A->>B в том и только том случае, если
множество значений B, соответствующих паре значений AC, зависит только от А и не зависит от С.
№Зач->>Предмет
№Зач->>Хобби
Семантически атрибуты предмет и хобби никак не связаны между собой. Их объединение в одно
отношение неинтуитивно. Роберт Фейджин доказал, что МЗ всегда идет в паре с ещё одной МЗ:
A B C D E F G
A->>B
A->>CDEFG
МЗ – обобщение ФЗ, т.е любая ФЗ – такой частный случай МЗ, когда множество состоит из одного
элемента.
R1
A
t a1
u a1
v a1
w a1
A->>B|C
B
b1
b2
b1
b2
C
c1
c2
c2
c1
∀𝑡, 𝑢 ∈ 𝑅1
t.A=u.A => ∃𝑣: 𝑣. 𝐴 = 𝑡. 𝐴 ∩
𝑣. 𝐵 = 𝑡. 𝐵 ∩
𝑣. 𝐶 = 𝑢. 𝐶
∃𝑤: 𝑤. 𝐴 = 𝑡. 𝐴 ∩
𝑤. 𝐵 = 𝐶. 𝐵 ∩
𝑤. 𝐶 = 𝑡. 𝐶
В МЗ входят все атрибуты отношения.
Пример.
№гр
4940
4941
№зач
123
124
245
761
Предмет
ОС
БД
МПС
БД
Если переводить из 0NF перевести в другую NF понадобится 8 кортежей.
Если ввести атрибут «Оценка», то МЗ разрушится
Если не все студенты изучают все предметы, а выборочно, то МЗ также разрушается.
Теорема Фейджина
Если в отношении R{A,B,C} есть МЗ A->>B|C , то такое отношение может быть декомпозировано на
отношение R1 {A,B} и R2{A,C}.
Download