Справка по домашней работе с базой данных - PullRequest
1 голос
/ 12 апреля 2011

Задача «Рассмотрим отношение R с пятью атрибутами ABCDE. Вам даны следующие зависимости

  1. A-> B
  2. BC-> E
  3. ED-> A

Список всех ключей для R.

Учитель дал нам ключи, которые являются ACD, BCD, CDE

И нам нужно показать работу, чтобы добраться до них.

Первые два я решил.

Для BCD, переходное значение 2 с 3, чтобы получить (BC-> E) D-> A => BCD-> A. и для идентификатора ACD переходное значение 1 с 4 (BCD), чтобы получить (A-> B) CD-> A => ACD-> A

Но я не могу понять, как получить CDE.

Так что, похоже, я сделал это неправильно, после поиска в Google я нашел этот ответ

  1. методология поиска ключей: рассмотрим наборы атрибутов α, содержащие: a. определяющие атрибуты F (т.е. A, BC, ED) и б. атрибуты, НЕ содержащиеся в определенных (т. е. C, D). затем сделать алгоритм закрытия атрибута: если α + надмножество R, то α -> R Три клавиши: CDE, ACD, BCD Источник

Из того, что я могу сказать, поскольку C, D не находятся на левой стороне зависимостей. Клавиши расположены с левой стороны, к ним предварительно прикреплен компакт-диск. Может кто-нибудь объяснить мне это более подробно, почему?

1 Ответ

2 голосов
/ 12 апреля 2011

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

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

например. начать с 3).

ED -> A

(зная E и D, я знаю A)

ED ->AB

(зная E и D, я знаю A, зная A, я тоже знаю B)

ED->AB

Тем не менее, C не может быть известен, и теперь я использовал все правила, кроме BC-> E, Поэтому я добавляю С в левую часть, то есть

CDE ->AB

Итак, Зная C, D и E , вы узнаете также A и B , Следовательно, CDE является ключом для вашего отношения ABCDE . Вы повторяете тот же процесс, начиная с других правил, пока не исчерпаете себя.

...