У меня есть вопрос о функциональной зависимости и нарушении 2-й нормальной формы.

Я делал домашнее задание для класса БД.

Один из вопросов меня смущает, хотя я получил ответ (я думаю)..

Вопрос был простой.

ДЛЯ ЗАДАННЫХ ОТНОШЕНИЙ R(A,B,C,D,E) и функциональных зависимостей F(AB -> C, D->E, DE ->B)

<сильный>1. R В 2NF?

<сильный>2. R В 3NF?

<сильный>3. НАХОДИТСЯ ЛИ R В BCNF?

Я подумал, что, поскольку справа от всех FD в F нет букв A и D, A и D должны быть частью ключей-кандидатов.

Итак, я проверил закрытие AD и получил AD+: {A,B,C,D,E}.

Это означает, что AD является суперключом.

Кроме того, поскольку и A, и D должны быть частью ключа-кандидата, а AD нельзя уменьшить (замыкание подмножества AD не равно {A,B,C,D,E}), AD является ключом-кандидатом и возможен только ключ-кандидат. (Правильно ли я делаю?)

Для ключа-кандидата AD D->E является частичной зависимостью от ключа-кандидата AD.

Таким образом, это нарушает условие 2NF.

На DE -> B, нарушает ли этот FD 2NF?

Если это правда, то...

Это нарушение, потому что мы можем получить D->DE из D->E . поэтому DE -> B эквивалентно D -> B. Является ли это D-> B нарушением 2NF??

ИЛИ

DE->B сам по себе нарушает 2NF без какого-либо преобразования из-за D в левой части?

Меня действительно смущает, когда XY -> Z X является частью ключа кандидата, а Y, Z не является простым ключом.

Потому что я не могу сказать, нарушает он 2NF или нет. Я думаю, что это нарушает 2NF, но я не могу четко сказать, почему.

Я часами искал примеры, пояснения и клипы, но не получил удовлетворительного ответа.

Ничего страшного, если меня не волнует конкретная причина, и я просто хочу похвалы. Но я не выношу себя с таким отношением.


person Vunter Slaush    schedule 13.05.2020    source источник
comment
Покажите этапы своей работы в соответствии с учебником с обоснованием и задайте 1 конкретный исследовательский вопрос, не повторяющийся, в отношении первого места, где вы застряли. В противном случае ответом будет просто переписывание вашего учебника и догадывание, где у вас есть неправильные представления. См. раздел Как задать вопрос, нажмите "Домашнее задание stackexchange" и наведите указатель мыши на текст со стрелкой голосования.   -  person philipxy    schedule 13.05.2020
comment
Ваше у меня эти ФД не имеет смысла. Это все FD, которые выдерживают? - Невозможно. Это все нетривиальные FD, которые выполняются? - Невозможно. Это какие-то FD, которые выдерживают? - На этот вопрос нельзя ответить. Узнайте, что такое обложка и каковы точные условия применения конкретного определения/правила/алгоритма. Чтобы определить CK и NF, нам должны быть заданы FD, которые образуют покрытие. Иногда минимальное/неснижаемое покрытие. И набор всех атрибутов должен быть задан. см. этот ответ.   -  person philipxy    schedule 13.05.2020


Ответы (1)


Кроме того, поскольку и A, и D должны быть частью ключа-кандидата, а AD нельзя уменьшить (закрытие подмножества AD не равно {A,B,C,D,E}), AD является ключом-кандидатом и единственным возможным ключом-кандидатом. (Правильно ли я это делаю?)

Да

Это D-> B нарушает 2NF?

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

person Renzo    schedule 13.05.2020
comment
Большое спасибо. Теперь я чувствую облегчение. Благослови вас, сэр. - person Vunter Slaush; 13.05.2020