Ещё одно свойство функциональных зависимостей (ФЗ) Если есть зависимость 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}.