Есть еще один кандидатный ключ?Если так, то, что это? - PullRequest
0 голосов
/ 09 декабря 2018

Q.Известно, что для R (A, B, C, D, E):

  1. R имеет ровно 5 суперключей.
  2. ABC - ключ-кандидат.
  3. D является непростым атрибутом.
  4. ABE и ACE не являются суперключами.

Есть еще один ключ-кандидат?Если да, то что это?

Редактировать: Вопрос в том, чтобы определить, есть ли другой ключ-кандидат в R (A, B, C, D, E) помимо ABC, учитывая1, 2, 3, 4 условия выполняются.

Мой подход заключается в том, что согласно 2-му условию ABC является ключом-кандидатом, тогда супер-ключами являются: ABC, ABCD, ABCE,ABCDE.

Но 1-е условие говорит, что есть ровно 5 суперключей, что означает, что 5-й суперключ может быть другим подходящим ключом.И в соответствии с 3-м и 4-м условием, единственным другим SK / CK может быть BCE, поскольку ACE и ABE не могут быть SK.

Но если BCE является ключом-кандидатом, BCDE должен быть с помощью суперключа, что составляет всего 6 суперключей и нарушает 1-е условие.

Я не совсем уверен, где я ошибся.Пожалуйста, помогите мне проанализировать это правильно.

1 Ответ

0 голосов
/ 09 декабря 2018

Давайте попробуем детализировать шаги для решения проблемы.

Существует 2 5 (= 32) возможных подмножеств атрибутов:

{{}, A, B, C, D, E, AB, AC, AD, AE, BC, BD, BE, CD, CE, DE, ABC, ABD, ABE,
 ACD, ACE, ADE, BCD, BCE, BDE, CDE, ABCD, ABCE, ABDE, ACDE, BCDE, ABCDE}

Мыищем ключи-кандидаты, отличные от ABC, зная факты, которые вы упомянули.

ABC - это ключ-кандидат.

Если ABC - это ключ-кандидат, то любое его подмножество не может быть ключом-кандидатом.Это исключает возможность наличия {}, A, B, C, AB, AC, BC в качестве ключей-кандидатов.Аналогично, каждый его расширенный набор не может быть ключом-кандидатом.Это исключает ABCD, ABCE, ABCDE.

Итак, теперь у нас есть следующие возможные ключи-кандидаты:

{D, E, AD, AE, BD, BE, CD, CE, DE, ABC, ABD, ABE,
 ACD, ACE, ADE, BCD, BCE, BDE, CDE, ABDE, ACDE, BCDE}
D является непростым атрибутом.

D не является простым атрибутом, поэтому его можно включать в суперключи, но не в ключи-кандидаты или их часть.Это означает, что если D присутствует в наборе атрибутов, то этот набор не может быть ключом-кандидатом.Таким образом, это исключает D, AD, BD, CD, DE, ABD, ACD, ADE, BCD, BDE, CDE, ABCD, ABDE, ACDE, BCDE из возможных ключей.

Теперь у нас есть следующие возможныеключи-кандидаты:

{E, AE, BE, CE, ABC, ABE, ACE, BCE}
ABE и ACE не являются суперключами.

Поскольку ABE и ACE не являются суперключами, они также не являются ключами-кандидатами, и, конечно, ни одно из их подмножеств не является ключами-кандидатами.Таким образом, это исключает также E, AE, BE, CE, ABE, ACE.

Итак, теперь у нас есть следующие возможные ключи-кандидаты:

{ABC, BCE}

Мы уже знаем, что ABC является кандидатомключ, поэтому единственная оставшаяся возможность заключается в том, что BCE является ключом-кандидатом.

Но мы знаем, что:

  1. R имеет ровно 5 суперключей.2. ABC - это ключ-кандидат.

Из этих двух фактов следует, что ABC, ABCE, ABCD, ABCDE являются четырьмя суперключами.Отсутствует только один другой.

Итак, если BCE является ключом-кандидатом, как вы уже отметили, это будет означать, что BCE и BCDE также являются суперключами.У нас есть шесть различных суперключей, и это противоречит гипотезе.

С другой стороны, если BCE не является ключом-кандидатом, то у нас есть только четыре суперключа, и это противоречит гипотезе.

Итак, мы могли бы сказать, что невозможно дать ответ на вопрос.В заключение отметим, что мы не можем решить эту проблему также, если мы примем необычное значение для «суперключа», как это иногда используется: то есть строгий суперключ, набор атрибутов, который строго включает ключ.В этом случае, если BCE является ключом-кандидатом, мы снова имеем четыре суперключа: ABCE, ABCD, ABCDE и BCDE.Если, с другой стороны, BCE не является ключом-кандидатом, у нас есть только три суперключа: ABCE, ABCD и ABCDE.

...