1

С Системы управления базами данных книги: учитывая соотношение SNLRWH (каждая буква обозначает атрибут) и следующие функциональные зависимости:Решая ли отношение 3NF или 2НФ

  • S-> SNLRWH (S является PK)
  • R-> W

Моя попытка:

  • F Первое, это не 3NF: для второго FD ни R не содержит W, ни R не содержит ключа, ни W не является частью ключа.
  • Во-вторых, это есть/не 2NF. Если мы рассмотрим второй FD, W зависит от R, который, в свою очередь, не является частью ключа. STUCK.

ответ

3

2NF нарушается, если в левой части одной из ваших (нетривиальных) зависимостей появляется определенное собственное подмножество ключа-кандидата. Спросите себя, является ли какой-либо из ваших определителей подмножеством ключа кандидата.

Обычно 2NF нарушается только тогда, когда отношение имеет составной ключ - ключ с несколькими атрибутами. Он является технически возможным для отношения только с простыми ключами (отдельные ключи атрибута), чтобы нарушить 2NF, если пустой набор (∅) оказывается детерминантом. Такие случаи довольно необычны и редко считаются достойными внимания, потому что они настолько «ошибочны». Для полноты, вот забавный пример этого частного случая. В следующем отношении Circumference and Diameter являются и кандидатными ключами. Зависимость при нарушении 2NF составляет ∅ -> Pi, отношение окружности к диаметру.

CIRCLE relation

+1

Нет Определителя не является подмножеством собственного подмножества ключа кандидата, один ого равно ключ кандидата, а другой даже не подмножество. Таким образом, отношение равно 2NF. – ToniAz

+0

@ToniAz {} -> Pi так определитель {} является собственным надмножеством CK {Окружность} и CK {Diameter}. Таким образом, Pi, атрибут non-prime, частично функционально зависит от каждого из CK. Так нарушается 2NF. – philipxy

+0

@philipxy, вы правы, но я думаю, что предыдущий комментарий ToniAz является ссылкой на * его * пример, а не на мой. – sqlvogel

0

2NF имеет отношение к частичным ключевым зависимостям. Для того, чтобы отношение к неудаче теста для 2NF, отношение должно иметь по крайней мере один ключ-кандидат, который имеет по меньшей мере два столбца.

Поскольку ваше отношение имеет только один ключ-кандидат, и этот ключ-кандидат имеет только один столбец, у вас не может быть частичной зависимости от ключа. Он проходит тест для 2NF.

+0

-ve будет очень суровым ;-) – sqlvogel