Это в БКНФ?

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

R(A,B,F) B->E A->F

Нам нужно преобразовать это отношение в НФБК.

То, что я сделал до сих пор,

R1(AB) R2(AF) R3(BE)

Есть ли что-нибудь еще, что я должен сделать? Это правильный BCNF или я что-то упустил?


person sania00    schedule 27.03.2019    source источник
comment
Правильно ли это: покажите этапы вашей работы в соответствии с вашим справочником/учебником с обоснованием — мы хотим проверить вашу работу, но не переделывать ее, и нам нужен ваш выбор, когда алгоритм позволяет их, а в противном случае мы не можем сказать вам, где вы ошиблись (или правильно). См. хиты в Google 'домашнее задание stackexchange.   -  person philipxy    schedule 27.03.2019


Ответы (1)


Этот ответ следует из отредактированного вопроса при следующих гипотезах:

  1. исходное отношение равно R(ABCDEFGHI)
  2. покрытие функциональных зависимостей, удерживающих его, {B->E, A->F}

Конечно, если мои гипотезы неверны, ответ неверен!

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

  1. единственный ключ-кандидат исходного отношения — ABCDGHI;
  2. в декомпозированном отношении R1(ABF) единственная нетривиальная зависимость, которая имеет место, — это A -> F, поэтому отношение имеет единственный ключ-кандидат AB;
  3. отношение не находится в НФБК, а разложение в НФБК равно {R2(AF), R3(AB)}

Обратите внимание, что вы не можете декомпозировать отношение, добавив в свою декомпозицию посторонний атрибут, например E.

person Renzo    schedule 27.03.2019
comment
Спасибо за ваш вклад, сэр. Но я немного смущен тем, что это не BCNF. Есть ли алгоритм, которому я мог бы следовать, чтобы преобразовать его в bcnf? - person sania00; 27.03.2019
comment
Алгоритмы более-менее формально описаны в книгах по базам данных. Набросок алгоритма показан здесь. - person Renzo; 27.03.2019