Вторая нормальная форма. (вопрос 56). Реляционная таблица находится во второй нормальной форме, если она находится в первой нормальной форме и ее неключевые поля полностью зависят от всего

Реляционная таблица находится во второй нормальной форме, если она находится в первой нормальной форме и ее неключевые поля полностью зависят от всего первичного ключа.

Таблица не должна содержать неключевых столбцов, зависящих только от части составного первичного ключа.

Таблица Ordered Products находится в первой, но не во второй нормальной форме, так как поля Customer ID, Address и Order Date зависят только от поля OrderID, являющегося частью составного первичного ключа OrderID, Product ID.

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

1) Определить, на какие части можно разбить первичный ключ, так чтобы некоторые из неключевых полей зависели от одной из этих частей (эти части необязательно должны состоять из одной колонки).

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

3) Из исходной таблицы удалить поля, перемещенные в другие таблицы, кроме тех из них, которые станут внешними ключами.

Для приведения таблицы Ordered Products ко второй нормальной форме нужно переместить поля Customer ID, Address и Order Date в новую таблицу Orders Info. При этом поле Order ID станет первичным ключом новой таблицы (рис. 5.16).

Рис. 5.16. Приведение таблицы Ordered Products ко второй нормальной форме.

В результате проведенной процедуры таблицы приобретут вид (рис. 5.17.):

Рис. 5.17. Таблицы во второй нормальной форме.

Таблицы, находящиеся во второй нормальной форме, по-прежнему содержат аномалии модификации данных.

Так для таблицы Orders Info эти аномалии связаны со следующими ситуациями:

• адрес конкретного клиента по-прежнему может содержаться в базе данных только тогда, когда клиент заказал хотя бы один продукт;

• удаление записи о заказе в таблице приводит к удалению записи о самом клиенте;

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

Устранение этих аномалий связано с переходом к третьей нормальной форме.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: