Базы данных

Третья нормальная форма: отсутствие транзитивных зависимостей


Преобразование Purchaselnfo не устранило всех неключевых зависимостей. Схема S2 имеет следующие неключевые зависимости.

Supplierld —> {supplierName, street, city, state, zipcode} zipcode — {city, state}

{street, city, state} —> zipcode

Все эти зависимости являются нарушениями требований третьей нормальной формы. Каждая из них является неключевой зависимостью, т.е. зависимостью, в которой непервичные атрибуты зависят от атрибутов, не содержащих ключ. Каждая из этих зависимостей является транзитивной, поскольку ключ схемы определяет неключевое множество атрибутов, которое, в свою очередь, определяет набор непервичных атрибутов.

Функциональная зависимость X -> Y является транзитивной зависимостью, если существует множество атрибутов Z, не являющееся подмножеством ни одного из ключей, для которого выполняется: X -> Z и Z -> Y.

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

Комментарии закрыты