Второе определение нормальной формы

#sql #database #entity-relationship

#sql #База данных #сущность-отношение

Вопрос:

2NF имеет следующее определение

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

Мой вопрос в том, почему зависимый атрибут должен быть не простым? Означает ли это, что основной атрибут может зависеть от правильного подмножества ключа-кандидата? Почему в этом случае это не приведет к избыточности? Я думаю о каком-то примере отношения

 {a,b,c,d}, if we assume {a,b}, {b,c} are two candidate keys and FD is a->c
  

Комментарии:

1. Причина не-простого требования заключается в том, что каждый простой атрибут в составном ключе тривиально зависит от надлежащего подмножества ключа, а именно от него самого.

Ответ №1:

Эта цитата взята из Википедии (?), И я подозреваю, что она использует ссылку на Codd в большей степени, чем для Cj Date. Кодд изобрел концепцию первичного ключа, но теория отношений полностью отошла от идеи «первичного».

Вот более свежее определение Date из его словаря реляционных баз данных:

Relvar [переменная отношения] R находится в 2NF тогда и только тогда, когда каждый неключевой атрибут A of R таков, что набор { A } неприводимо зависит от каждого ключа of R — эквивалентно, тогда и только тогда, когда для каждого нетривиального FD X -> Y , который содержит in R , (a) X является суперключем или (b) Y является подразделом или (c) X не является подразделом.

Обратите внимание, что этот вопрос может быть закрыт для SO, потому что, как указано в его словаре, 2NF не особенно интересен на практике (он включает его только для исторического интереса).