Какая самая высокая нормальная форма {a, b, c, d, e} a, b-> c, a, b-> d и d-> e? - PullRequest
3 голосов
/ 25 декабря 2011

Используется для разработки образца базы данных.

Это 3NF или BCNF?

Ответы [ 2 ]

4 голосов
/ 30 декабря 2011

На основании этих зависимостей единственным ключом является {a, b}. Следовательно, {a, b, c, d, e} имеет транзитивную зависимость: ab-> d и d-> e. Поскольку он имеет транзитивную зависимость, {a, b, c, d, e} отсутствует в 3NF.

Это возможно в 2NF, но я не могу сказать наверняка, не зная значения столбцов или не зная репрезентативных значений. Например, если столбец c содержит различное количество телефонных номеров, он, вероятно, даже не будет в 1NF. (В домашнем задании по информатике вы можете предположить, что каждый столбец содержит одно значение. В SO вы, как правило, не можете.)

Когда вы нормализуете отношение, вы проецируете подмножество атрибутов на основе зависимостей. (На основе функциональных зависимостей в вашем случае.) Таким образом, вы можете заменить исходное отношение этими двумя.

  • {а, б, в, г}
  • {д, е}

Первый из них, вероятно, как минимум в 4NF. Второй, вероятно, в 6NF. (Но см. Пункт 2 выше.)

Нормализация не означает, что вы можете перейти с 2NF на 3NF и не выше , с 3NF на BCNF и не выше , с BCNF на 4NF и не выше и тд. Но это распространенное недопонимание того, как работает нормализация. В вашем случае разложение исходного отношения дает одно отношение в 4NF (как минимум) и одно отношение в 6NF. По определению, оба они также в 3NF, но не существует нормального (кашляющего) способа разложить ваше отношение 2NF для получения отношений в 3NF и не выше .

3 голосов
/ 05 июня 2012

Целью нормальной формы является формальное указание и обеспечение определенного качества схемы. Например схема, удовлетворяющая только условиям второй нормальной формы, содержит атрибуты / функциональные зависимости, которые не входят в схему вместе, что приводит к избыточности и аномалиям. исходная схема: ({A, B, C, D, E, F}, {A → B C, C → A D, E → A B C, F → C D, C D → B E F, A B → D}) основные атрибуты: {A, C, E, F}, ключи-кандидаты: {A}, {C}, {E}, {F} не простые атрибуты: {B, D}

  1. Нормальная форма: должна быть принята для других нормальных форм.

  2. Нормальная форма: каждый не простой атрибут должен полностью функционально зависеть от каждого ключа-кандидата.

Схема точно во второй нормальной форме!

  1. Нормальная форма: для каждой функциональной зависимости α → β α должен быть суперключом или каждый атрибут на стороне β должен быть тривиальным или атрибутом простого ключа.

    α-сторона {A} из A → B C является суперключом схемы (т. Е. Ключ содержит как минимум атрибуты ключа-кандидата).

    α-сторона {C} из C → A D является суперключом схемы (т. Е. Ключ содержит как минимум атрибуты ключа-кандидата).

    α-сторона {E} из E → A B C является суперключом схемы (т. Е. Ключ содержит как минимум атрибуты ключа-кандидата).

    α-сторона {F} из F → C D является суперключом схемы (т. Е. Ключ содержит как минимум атрибуты ключа-кандидата).

    α-сторона {C, D} из C D → B E F является суперключом схемы (т. Е. Ключ содержит как минимум атрибуты ключа-кандидата).

    α-сторона {A, B} из A B → D является суперключом схемы (т. Е. Ключ содержит как минимум атрибуты ключа-кандидата).

Схема как минимум в третьей нормальной форме!

Форма Бойса-Кодда-Норма: Для каждой функциональной зависимости α → β должна ли α-сторона быть суперключом или функциональная зависимость должна быть тривиальной.

The α-side {A} from A → B C is a superkey of the schema (i.e. the key contains at least the attributes of a candidate-key).

The α-side {C} from C → A D is a superkey of the schema (i.e. the key contains at least the attributes of a candidate-key).

The α-side {E} from E → A B C is a superkey of the schema (i.e. the key contains at least the attributes of a candidate-key).

The α-side {F} from F → C D is a superkey of the schema (i.e. the key contains at least the attributes of a candidate-key).

The α-side {C, D} from C D → B E F is a superkey of the schema (i.e. the key contains at least the attributes of a candidate-key).

The α-side {A, B} from A B → D is a superkey of the schema (i.e. the key contains at least the attributes of a candidate-key).
...