Вторая нормальная форма (2НФ)

2НФ требует, чтобы:

· первичный ключ был неизбыточным (не содержал неглавных атрибутов);

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

Оба требования похожи, дополняют и раскрывают друг друга.

Пр 1. Объект Отпуск товаров

 
 
Счёт №123 Дата Покупатель Адрес 10.04.04 Каф. АПП КубГТУ Краснодар, Красная, 135-189 Товар Кол-во, шт. Цена ед_изм Общая стоим Компьютер 10 14 000 140 000 Стол компьют 10 920 9 200 Кресло компьют 10 1440 14 400


Составим таблицу (требования 1НФ не учитываем).

Если ключ - № счёта + Товар + цена, то отношение ОТПУСК ТОВАРОВ примет вид:

Таблица БД Отпуск товаров

№ счёта +Цена ед_изм + Товар Дата Покуп-ль Город Адрес Кол-во.шт Общая стоим.
123 + компьютер+ 14000 р 10.04.04 Каф. АПП КубГТУ Краснодар Красная, 135-189    
123 + Стол + 920 р 10.04.04 Каф. АПП КубГТУ Краснодар Красная, 135-189    
123 + Кресло +1440 р 10.04.04 Каф. АПП КубГТУ Краснодар Красная, 135-189    

Недостатки:

1 Дата и Покупатель зависят только от № счёта (для данного № счёта не может быть другой даты и покупателя), Количество и Общая стоимость зависят только от Товар + Цена, и Общая стоимость зависит только от Цена.

2 Первичный ключ избыточен, т.к. № счёта + Товар уже однозначно определяют каждую запись

Вносим изменения:

1 Убираем из первичного ключа атрибут Цена, требование избыточности выполнено, а зависимость от части ключа осталась.

2 Выделяем поля, зависящие от части первичного ключа в отдельную таблицу:

· Покупатель зависит только от № счёта, а от Покупатель зависят Город и Адрес – выделяем таблицу Покупатель { Покупатель, Город, Адрес}

· Дата зависит только от № счёта – выделяем таблицу № счёта {№ счёта, Дата}

Связи Покупатель-№счёта, связь 1:N, т.к.один покупатель м.б. в нескольких счетах.

№ счёта и Отпуск товаров – 1:N, т.к. одному счёту может соответствовать много товаров

Таблица БД Отпуск товаров

№ счёта + Товар Дата Кол-во.шт Общая стоим.
123 + компьютер 10.04.04    
123 + Стол 10.04.04    
123 + Кресло 10.04.04    

N N

Товар

Товар Цена Покупатель
Компьютер   Каф. АПП КубГТУ
Стол   Каф. АПП КубГТУ
Кресло   Каф. АПП КубГТУ

1 Покупатель

Покупатель Город Адрес
Каф. АПП КубГТУ Краснодар Красная, 135-189

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



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