Алгоритм синтеза, определить, есть ли BCNF и найти ключи-кандидаты

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

Итак, если у нас есть реляционная схема с одним отношением R[ABCDE] с функциональными зависимостями: {AB->CD, C->AD, E->B},

До сих пор я получил здесь: Каноническая оболочка: C={AB->C, C->D, E->B} и возможные ключи: EB AE и EC.

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

Я знаю, как проверить, действительно ли декомпозиция без потерь и сохранения зависимостей, но не знаю, как туда добраться. Пожалуйста, смотрите ниже:

я) построить каноническое покрытие C для F

ii) Определить C'={X union Y | X->Y "принадлежащий" Consol(C)} это я знаю

iii) Определить C как подмножество C ', в котором все отношения, относящиеся к другой категории, удалены. Это я знаю, если считаю правильным.

iv) Определите C2 как C, если C уже содержит суперключ для R. В противном случае определите C2 как C union K для некоторого ключа K of . Этот шаг я не понимаю.

2) Тщательно мотивируйте, находится ли разложение, полученное в 3), также в BCNF.

Заранее спасибо!

0 ответов

Другие вопросы по тегам