Преобразовать отношение к 3-й нормальной форме и проверке BCNF - PullRequest
0 голосов
/ 08 сентября 2018

Я пытаюсь преобразовать это отношение в 3-ю нормальную форму и BCNF.

Учитывая отношение R (A1, A2, A3, A4), с тремя FD

А2, А3 → А4;

A3, A4 → A1;

A1, A2 → A3.

Укажите форму схемы 3NF и BCNF и объясните, почему.

Я помню, как делал это, но я ржавый.

Вот мое начало.

Я разделил на функциональную зависимость A2, A3-> A4

Таким образом, это создает:

R1 (A2, A3, A4)

R2 (А1, А2, А3)

Поскольку больше нет функциональных или транзитивных зависимостей, это должно быть в 3NF.

Мои вопросы являются первыми, если этот подход верен.

Во-вторых, поскольку оба ключа (A2, A3) для R1 и (A1, A2) для R2 оба являются составными ключами, не так ли это будет и в BCNF?

Мне было интересно, если это правда, и если нет, то что будет BCNF для этого отношения?

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

Спасибо за вашу помощь.

1 Ответ

0 голосов
/ 08 сентября 2018

Учитывая тот факт, что схема находится в 3NF, если каждый определитель является суперключом или каждый определяющий атрибут является простым, схема уже находится в 3NF. Фактически, единственными возможными ключами R являются {A1, A2} и {A2, A3}. A2 должен присутствовать в каждом ключе, поскольку он не отображается ни в одной правой части зависимостей. Если вы добавите к нему A1, вы обнаружите, что получили ключ-кандидат, поскольку A1, A2 определяет все атрибуты, и то же самое, если вы попытаетесь добавить A3 к A2. Это неверно, если добавить A4, A1, A2 и A3 - простые атрибуты, и функциональная зависимость не нарушает 3NF.

Учитывая тот факт, что схема находится в BCNF, если каждая нетривиальная зависимость имеет определитель, который является суперключем, ваша схема не находится в BCNF для зависимости A3, A4 → A1, поскольку {A3, A4} не является суперключем.

Применяя алгоритм «анализа» для создания декомпозированной схемы в BNCF, вы можете использовать зависимость A3, A4 → A1 для декомпозиции в BCNF, и это дает два отношения:

R1 (A1, A3, A4) (with candidate key {A3, A4})
R2 (A2, A3, A4) (with candidate key {A2, A3})

Оба находятся в BCNF, поэтому дальнейшая декомпозиция не требуется, но обратите внимание, что в этом процессе зависимость A1 A2 → A3 теряется.

...