2

Какие нетривиальные функциональные зависимости сохраняются в следующей таблице? Может кто-нибудь объяснить шаг за шагом правила, пожалуйста?Нетривиальная функциональная зависимость этой таблицы

A B C 
------------ 
a1 b2 c1  
a2 b1 c6  
a3 b2 c4  
a1 b2 c5  
a2 b1 c3  
a1 b2 c7  
+1

Я только обезжиренные примеры в статье Википедии, но я не думаю, что есть какой-либо, или никто не может быть идентифицирован с помощью этого например, поскольку значения для C уникальны. Вы можете сказать 'C -> A', или' C -> B', или 'AC -> B' или' BC -> A', но они довольно тривиальны .... –

+2

вы можете попробовать онлайн-решение для узнайте [решение] (http://www.schirmeier.com/horst/scripts/functional-dependencies.php?colnames=A+B+C&data=a1++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + c6 ++++% 0D% 0Aa3 ++ b2 ++ c4 ++++% 0D% 0Aa1 ++ b2 ++ c5 ++++% 0D% 0Aa2 ++ b1 ++ c3 ++++% 0D% 0Aa1 ++ b2 ++ c7 ++) –

+1

Также просто снял статью в Википедии , и я определил следующее: 'A → B' и' C → {A, B} '. Может быть далеко от отметки, хотя ... –

ответ

2

Начну с оговоркой, чтобы заявить, что мое знание функциональных зависимостей ограничено тем, что было объяснено в Wikipedia article, и что я в настоящее время нет необходимости, ни желания учиться на нем в дальнейшем.

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

Во-первых, это определение Википедии:

Учитывая соотношение R, набор атрибутов X в R называется функционально определить другой набор атрибутов Y, также в R, (письменный X → Y) если и только если, каждый X Значение is ass с точно один Y значение; R, как утверждается, удовлетворяет функционалу зависимость X → Y.

Кроме того, Википедия утверждает, что:

Функциональная зависимость FD: X → Y называется тривиальным если Y является подмножество X.

Исходя из этих определений, я прихожу к следующим двум нетривиальных функциональным зависимостей для данного отношения:

  • A → B
  • C → {A, B }

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

В этом случае:

  • → B
    Есть три возможных значения, представленные для A: a1, a2 и a3. Глядя на соответствующие значения для B, вы найдете следующие комбинации: a1 → b2, a2 → b1 и a3 → b2. Или каждое значение A связано точно с одним значением B, соответствующим определению.
  • C → {A, B}
    То же самое рассуждение идет по этой зависимости. В этом случае идентификация его немного проще, поскольку значения для C являются уникальными в этом отношении. В этом смысле C можно рассматривать как ключ . В терминах базы данных candidate key - это то, что: минимальный набор атрибутов, который однозначно идентифицирует каждый кортеж.

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

0

Таким образом, нетривиальные функциональные зависимости в приведенной выше таблице:

1. A->B 
2. A,C->B 
3. B,C->A 
4. C->A,B 
Смежные вопросы