Рубрики

Как найти высшую нормальную форму отношения

Чтобы понять эту тему, вы должны иметь общее представление о

Функциональные зависимости и клавиши-кандидаты

Нормальные формы

Шаги, чтобы найти высшую нормальную форму отношения:

  1. Найти все возможные варианты ключей отношения.
  2. Разделите все атрибуты на две категории: основные атрибуты и не простые атрибуты.
  3. Проверьте 1- ую нормальную форму, затем 2- ую и так далее. Если он не удовлетворяет n- му условию нормальной формы, наивысшая нормальная форма будет n-1.

Пример 1. Найти наивысшую нормальную форму отношения R (A, B, C, D, E) с набором FD {A-> D, B-> A, BC-> D, AC-> BE}

Шаг 1. Как мы видим, (AC) + = {A, C, B, E, D}, но ни один из его подмножества не может определить все атрибуты отношения, поэтому AC будет ключом-кандидатом. A может быть получен из B, поэтому мы можем заменить A в AC на B. Таким образом, BC также будет ключом-кандидатом. Таким образом, будет два возможных ключа {AC, BC}.

Шаг 2. Первичные атрибуты — это те атрибуты, которые являются частью ключа-кандидата {A, B, C} в этом примере, а другие будут не простыми {D, E} в этом примере.

Шаг 3. Отношение R находится в 1- й нормальной форме, поскольку реляционная СУБД не допускает многозначный или составной атрибут.

Отношение не во 2- й нормальной форме, потому что A-> D является частичной зависимостью (A, которая является подмножеством ключа-кандидата AC, определяет непростой атрибут D), а 2- я нормальная форма не допускает частичной зависимости.

Таким образом, высшая нормальная форма будет 1- й нормальной формой.

Пример 2. Найти наивысшую нормальную форму отношения R (A, B, C, D, E) с FD, установленным как {BC-> D, AC-> BE, B-> E}

Шаг 1. Как мы видим, (AC) + = {A, C, B, E, D}, но ни один из его подмножества не может определить все атрибуты отношения, поэтому AC будет ключом-кандидатом. A или C не могут быть получены из какого-либо другого атрибута отношения, поэтому будет только 1 ключ-кандидат {AC}.

Шаг 2. Первичные атрибуты — это те атрибуты, которые являются частью ключа-кандидата {A, C} в этом примере, а другие будут не простыми {B, D, E} в этом примере.

Шаг 3. Отношение R находится в 1- й нормальной форме, поскольку реляционная СУБД не допускает многозначный или составной атрибут.

Отношение находится во 2- й нормальной форме, потому что BC-> D находится во 2- й нормальной форме (BC не является надлежащим подмножеством ключа-кандидата AC), а AC-> BE находится во 2- й нормальной форме (AC является ключом-кандидатом) и B- > E находится во 2- й нормальной форме (B не является надлежащим подмножеством ключа-кандидата AC).

Отношение не в 3- й нормальной форме, потому что в BC-> D (ни BC не является супер-ключом, ни D не является основным атрибутом), а в B-> E (ни B не является супер-ключом, ни E не является основным атрибутом), но чтобы удовлетворить 3- й норме, либо LHS FD должен быть супер-ключом, либо RHS должен быть основным атрибутом.

Таким образом, высшая нормальная форма отношения будет 2- й нормальной формой.

Пример 3. Найти наивысшую нормальную форму отношения R (A, B, C, D, E) с набором FD {B-> A, A-> C, BC-> D, AC-> BE}

Шаг 1. Как мы видим, (B) + = {B, A, C, D, E}, поэтому B будет ключом-кандидатом. B может быть получен из AC с использованием AC-> B (разложение AC-> BE на AC-> B и AC-> E). Таким образом, AC будет супер ключом, но (C) + = {C} и (A) + = {A, C, B, E, D}. Таким образом, A (подмножество AC) будет ключом-кандидатом. Таким образом, будет два возможных ключа {A, B}.

Шаг 2. Первичные атрибуты — это те атрибуты, которые являются частью ключа-кандидата {A, B} в этом примере, а другие будут не простыми {C, D, E} в этом примере.

Шаг 3 Отношение R находится в 1- й нормальной форме, поскольку реляционная СУБД не допускает многозначный или составной атрибут.

Отношение находится во 2- й нормальной форме, потому что B-> A находится во 2- й нормальной форме (B — суперключ), а A-> C находится во 2- й нормальной форме (A — суперключ), а BC-> D находится в 2- я нормальная форма (BC — это суперключ), а AC-> BE — во 2- й нормальной форме (AC — это суперключ).

Отношение в 3- й нормальной форме, потому что LHS всех FD являются супер-ключами. Отношение находится в BCNF, поскольку все LHS всех FD являются супер-ключами. Таким образом, высшая нормальная форма — BCNF.

Статья предоставлена Sonal Tuteja. Пожалуйста, пишите комментарии, если вы обнаружите что-то неправильное или вы хотите поделиться дополнительной информацией по обсуждаемой выше теме.

Рекомендуемые посты:

Как найти высшую нормальную форму отношения

0.00 (0%) 0 votes