Оба определения для 3NF равны?
Из третьего определения нормальной формы:
База данных находится в третьей нормальной форме, если она удовлетворяет следующим условиям:
- Это во второй нормальной форме.
- Нет транзитивной функциональной зависимости.
Под транзитивной функциональной зависимостью мы имеем в виду следующие отношения в таблице: A функционально зависит от B, а B функционально зависит от C. В этом случае C транзитивно зависит от A через B.
Мой лектор дал нам второе определение для 3NF:
Непростые атрибуты не могут зависеть от любого набора, который не является суперключом (транзитивная зависимость).
Оба определения для 3NF равны? Зачем?
2 ответа
Давайте предположим, что существует атрибут X
это зависит от набора атрибутов, который не является супер-ключом. Это будет означать, что набор, который X
зависит от содержит хотя бы один атрибут np1
это НЕ является частью Супер-ключа. Но np1
в свою очередь будет зависеть от супер-ключа. Так как np1
В зависимости от Super-Key, одно (и только одно) из следующего будет верно:
A. X
зависит только от Super-Key => это противоречит нашему первоначальному предположению
или же
B. X
зависит только от np1
=> это вводит транзитивную зависимость
Если бы X действительно зависел как от SK, так и от np1, то [SK, np1] стал бы суперключем - что невозможно.
Таким образом, единственный возможный вывод состоит в том, что оба определения равны.
Оба являются похожими утверждениями, но второе улучшается и, следовательно, гораздо более увлекательно.
В частности: отношение находится в 2NF, если оно находится в 1NF, и ни один непростой атрибут не зависит от любого надлежащего подмножества любого ключа-кандидата отношения. Непростой атрибут отношения - это атрибут, который не является частью ключа-кандидата отношения.
Ключ-кандидат - это супер-ключ, из которого больше нельзя удалять атрибут.
Выделенная часть дает заключение, что база данных находится в форме 2NF (это был ваш первый отрывок)