ВУЗ:
Составители:
Рубрика:
– 53 –
Дальнейший анализ полученных таблиц показывает, что значения поля
«Покупатель» не зависят от первичного ключа «Номер накладной» и «Товар», а
зависит только от значения
«Номер накладной». Поэтому данное поле, и завися-
щие от его значения поля
«Город» и «Адрес» выделим в таблицу «ПОКУПАТЕЛИ»
(см. 0).
Анализируя далее структуру таблицы
«ОТПУСК ТОВАРОВ»,
обнаружим, что
поле
«Дата» зависит только от значения поля «Номер накладной». Поэтому вы-
деляем поля
«Дата» и «Номер накладной» в самостоятельную таблицу «НАКЛАД‐
НЫЕ». Установим связи между этими таблицами. Один покупатель может встре-
титься во многих накладных. Поэтому между таблицами
«ПОКУПАТЕЛИ» и «НА‐
КЛАДНЫЕ» имеется связь 1:М по полю «Покупатель». Одной накладной может со-
ответствовать несколько
товаров. Поэтому между
таблицами
«НАКЛАДНЫЕ»
и
«ОТПУСК ТОВАРОВ» ус-
тановим связь 1:М по
полю
«Номер наклад‐
ной
». В итоге получим
схему базы данных, при-
веденную на 0.
Итак, чтобы перей-
ти от
1НФ к 2НФ, нужно выполнить следующие шаги:
1. Определить, на какие части можно разбить первичный ключ так, чтобы
некоторые из неключевых полей зависели от одной из этих частей.
2. Создать новую таблицу для каждой части ключа и группы зависящих от
нее полей и переместить их в эту таблицу. Часть бывшего первичного ключа
при
этом станет первичным ключом новой таблицы.
3. Удалить из исходной таблицы поля, перемещенные в другие таблицы,
кроме тех из них, которые станут вторичными ключами.
ТОВАР
Товар
Един_измер
Цена_за_ед_изм
ОТПУСКТОВАРОВ
Номер накладной
Товар (FK)
Дата
Отпущ_единиц
Общая_стоим
ПОКУПАТЕЛИ
Покупатель
Город
Адрес
Рис. 2.16. Таблицы «ТОВАР», «ОТПУСК ТОВАРОВ»
и
«ПОКУПАТЕЛИ»
Рис. 2.17. База данных, приведенная к 2НФ
Страницы
- « первая
- ‹ предыдущая
- …
- 51
- 52
- 53
- 54
- 55
- …
- следующая ›
- последняя »
