Базы данных

Вторая нормальная форма: отсутствие зависимостей частичного ключа


Чтобы привести схему Purchaselnfo к 2NF, следует устранить эти частичные зависимости от ключа посредством декомпозиции этой схемы на меньшие схемы. Эти зависимости можно устранить за один шаг. Таблица расщепляется на две таблицы: одна содержит все атрибуты схемы, не вошедшие в правую часть зависимости (независимые атрибуты), а вторая образуется всеми атрибутами, входящими в частичную зависимость от ключа. В результате декомпозиции получаются следующие две схемы.

SI: (purchaseOrderld, movield, title, quantity)

(исходная схема за исключением атрибутов, вошедших в правую часть зависимости).

S2: (purchaseOrderld, supplierld, dateOrdered, supplierName, street, city, state, zipcode)

(все участвующие в функциональной зависимости атрибуты).

Ключи первой схемы (S1) те же, что и ключи исходной схемы, поскольку ни один из первичных атрибутов не был удален. Ключ второй схемы (S2) образован левой частью функциональной зависимости. Ключ S2 — атрибут purchaseOrderld — стал внешним ключом схемы S1. Отметим, что, как и было обещано, неключевая зависимость в схеме Purchaselnfo была преобразована в ключевую зависимость в S2.

Другая частичная зависимость от ключа, movield — title, не является нарушением 2NF, так как title является первичным атрибутом и не подпадает под требование 2NF. В сущности, атрибуты movield и title являются синонимами. Оба идентифицируют фильм. Важно, что нормальные формы не запрещают синонимы и использование множественных ключей.

Можно ли утверждать, что после устранения нарушений 2NF, процесс завершен? Только в том случае, если обе результирующие схемы находятся в 2NF. Для определения того, так ли это, требуется дополнительный анализ ключей. Схема S1 имеет два ключа {purchaseOrderld, movield} и {purchaseOrderld, title}. Единственный непервичный атрибут quantity находится в полной функциональной зависимости от обоих ключей. Следовательно, эта схема находится в 4NF. Схема S2 имеет единственный ключ, состоящий из единственного атрибута, и поэтому не может содержать частичных зависимостей от ключа. Следовательно, обе новые схемы находятся в 2NF.

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

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