минимальное покрытие функциональной зависимости - PullRequest
2 голосов
/ 10 апреля 2011

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

Q: существует отношение R (A, B, C, D) с множеством функциональных зависимостей F.

F = {{A} → {B}, {B} → {C}, {C} → {A}, {C} → {A, B}, {C, A, D} → {A , D}, {C} → {B}}

найти минимальное покрытие F.

Правильные ответы: {{A} → {B}, {A} → {C}, {C} → {A}, {B} → {A}}

Моя процедура:

1-й шаг: {C} → {A, B} может стать {C} → {A} и {C} → {B}, таким образом {C} → {A, B} удаляется

2-й шаг: {C, A, D} → {A, D} может стать {C, A, D} → {A} и {C, A, D} → {D}, но потому что {C} → {A}, {C, A, D} → {A} удаляется и {C, A, D} → {D} становится {C, D} → {D}

из-за двух шагов мой ответ становится {{A} → {B}, {B} → {C}, {C} → {A}, {C} → {B}, {C, D} → {D} }}, но я не могу найти правильный ответ, кто-нибудь знает, как действовать дальше? спасибо

Ответы [ 2 ]

0 голосов
/ 21 июня 2012

Во-первых, CAD-> AD тривиально, потому что, если вы знаете, каково значение CAD, очевидно, вы знаете, каковы значения AD.

Итак, пока: F = {{A} →{B}, {B} → {C}, {C} → {A}, {C} → {A, B}, {C} → {B}}

Второй, {C} →{A, B} является избыточным, как вы упомянули.

на данный момент: F = {{A} → {B}, {B} → {C}, {C} → {A}, {C} → {B}}

В-третьих, вы можете видеть, что B существует в C + на F- {C-> B}, поэтому C-> B резервируется.

, так что это один измного минимальных обложек для F: G = {{A} → {B}, {B} → {C}, {C} → {A}}

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

0 голосов
/ 11 апреля 2011

Я думаю, что правильный ответ неверен.

Правильные ответы: {{A} → {B}, {A} → {C}, {C} → {A}, {B} → {A}}

Поскольку {B}→{A} и {A}→{C}, вы не можете заменить эти два FD на {B}→{C}?

И вы тоже можете исключить атрибут C из {C, D}→{D}, верно?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...