Какие из следующих являются каноническими покрытиями - PullRequest
0 голосов
/ 25 ноября 2018

Пусть R (A, B, C, D) - схема, а F = {C → A, B → C, BD → A, BC → D} - набор функциональных зависимостей.Какие из перечисленных ниже являются каноническими для F:

a) {C → A, B → CA, BC → D}

b) {B → CAD}

c) {C → A, B → CAD}

d) {C → A, B → C, BC → D}

e) {C → A, B → CD, D→ A}

f) {C → A, B → CD}

Легко видеть, что a) не является каноническим покрытием, потому что оно избыточно (нам не нужноВ → А).То же самое можно сказать и о в).

Выбор е) не является хорошим, потому что D → A не находится в замыкании F.

Выбор b) недостаточен, потому что тогда мы не можем получить, что C → A.

Хороший вариант f), поскольку он не избыточен и логически подразумевает все в F.

Мы также видим, что функциональные зависимости C → A, B → C, B →D обязательны для канонического покрытия.

А как насчет выбора d)?Я вижу, что это не избыточно и логически подразумевает все в F, но у него меньше функциональных зависимостей, чем выбор f).Это мой вопрос: является ли г) каноническим покрытием?

1 Ответ

0 голосов
/ 26 ноября 2018

Случай d) не является каноническим прикрытием, поскольку атрибут C BC является излишним.Это видно, если вы вычислите B + относительно трех зависимостей {C → A, B → C, BC → D}:

B+ = B
B+ = BC  (because of B → C)
B+ = BCD (because of BC → D)

, поэтому B + содержит D и атрибут C может быть исключен.

...