Нормализация базы данных на основе функциональной зависимости - PullRequest
0 голосов
/ 04 мая 2020

Каким будет разложение для этого отношения в 1NF, 2NF, 3NF и BCNF

Отношение - Трансферы (пункт назначения, отправление, авиакомпания, ворота, имя, контакт, встреча)

Функциональный Зависимости -

пункт назначения, отправление, авиакомпания → гейт

гейт → авиакомпания

контакт → имя

имя, отправление → гейт, пикап

гейт, отправление → пункт назначения

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

Затем, основываясь на ключах-кандидатах, я попытался разложить его на последующие нормальные формы.

2NF - нет частичной зависимости

R1 (контакт, имя)

R4 (имя, отправление, ворота, встреча, авиакомпания)

R5 (Ворота, Отправление, Назначение)

3NF- Нет переходной зависимости & BCNF

R1 (Контакт, Имя)

R2 (Имя, Отправление, Ворота, Пикап )

R3 (Ворота, Авиакомпания)

R4 (Ворота, Отправление, Пункт назначения)

Это право или здесь проблема? Потому что мое разложение на 2NF на самом деле не изображает первый FD.

1 Ответ

1 голос
/ 05 мая 2020

Предполагая, что зависимости являются прикрытием, в обеих ваших декомпозициях зависимость:

airline departs destination → gate

не сохраняется. Разложение, в котором все разложенные отношения находятся в 3NF, и которое сохраняет данные и зависимости:

R1 (airline departs destination gate)
R2 (contact name)
R3 (departs gate name pickup)
R4 (contact departs)

Обратите внимание, что R1 находится в 3NF, но не в BCNF из-за зависимости gate → airline (gate не суперключ) Кроме того, обратите внимание, что известно, что существуют случаи, когда декомпозиция в BCNF не сохраняет зависимости.

...