2014-01-30 3 views
1

Я пытался понять процесс разложения отношения, но без каких-либо успехов. Я понятия не имею, как это работает, и я не могу понять это. У меня есть пример, если кто-то может объяснить мне шаг за шагом, как это работает.Разложение отношения

Consider schema R(A;B;C;D;E) with FDs 
F = {AB -> CDE; AC -> BDE; B -> C; C -> B; C -> D; B -> E}. 
1. Find all keys of R. 

F = {AB -> CDE; AC -> BDE; B -> C; C -> B; C -> D; B -> E} 
A+ = A 
B+ = BCED 
- it is not possible to deduce A from the other attributes -> A belongs to key 
AB+ = ABCDE - a candidate key 
AC+ = ACBDE - a candidate key 
AD+ = AD, 
AE+ = AE 
ADE+ = ADE 

Я также не понимаю, что А + означает

ответ

0

Что ты отправил не декомпозицию отношения. Это поиск ключей-кандидатов. Ключами-кандидатами являются {AB, AC}.

Поиск ключей - это второй шаг в разложении отношения. Первым шагом является определение всех зависимостей. Вам даны все функциональные зависимости, поэтому вам не нужно делать эту часть здесь.

A + означает «замыкание множества атрибутов А относительно множества функциональных зависимостей F» - набор атрибутов F, которые могут быть определены А.

Это заявление

не представляется возможным вывести из других атрибутов -> А принадлежит к ключу

должен быть

не представляется возможным вывести из других атрибутов -> А принадлежит каждому кандидату ключа

+0

Почему A + = A и B + = BCED. Я этого не понимаю. – user3043278

+0

Набор атрибутов «А» определяет только значение «А». Вы не можете определить B, C, D или E, указанные только A. B-> B тривиально; B-> C и B-> E; B-> D, так как B-> C и C-> D (транзитивность). Итак, B-> BCDE. –

Смежные вопросы