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