Если мы запишем заданный набор FD с одноэлементной правой частью, мы получим -
A->B
A->C
A->D
BC->A
BC->D
D->B
Мы видим сразу 2 транзитивные зависимости. У нас есть A->D и D->B, поэтому нам не нужно A->B, а также у нас есть BC->A и A->D, поэтому нам не нужно BC->D. Итак, теперь у нас есть -
A->C
A->D
BC->A
D->B
or
A->CD
BC->A
D->B
Здесь используются клавиши A, BC и CD. Поскольку каждый атрибут отношения R присутствует в каждом из ключей хотя бы один раз, все атрибуты в вашем отношении R являются первичными атрибутами.
Обратите внимание: если отношение имеет все простые атрибуты, оно уже находится в 3NF.
Следовательно, данное отношение R находится в 3НФ. Надеюсь, вы поняли, почему здесь вы совершенно не правы - "Данное отношение хотя и не имеет транзитивного ФЗ, но D->B является частичным ФЗ". Я только что доказал, что отношение находится в 3НФ, что является более высокой нормальной формой, чем 2НФ, и, следовательно, в свою очередь доказывает, что отношение находится в 2НФ и, следовательно, отсутствует частичная зависимость.
Чтобы быть в BCNF, для каждой функциональной зависимости X->Y X должен быть ключом. Мы видим, что последняя функциональная зависимость D->B нарушает ее, так как D не является ключом. Поэтому для преобразования в BCNF мы можем разбить нашу связь R на R1 и R2 как -
R1(А,С,D)
R2(B,D)
person
Karup
schedule
24.06.2015