Определение третьей нормальной формы

Таблица, находящаяся в 3НФ должна отвечать всем требования 2НФ, а также ни одно из неключевых полей не идентифицируется при помощи другого неключевого поля, т.е. в таблице нет полей, которые не зависят от ключа.

3.1 Определим связи: т.к. один покупатель может встречаться в нескольких накладных, поэтому таблицы «ПОКУПАТЕЛИ» и «НАКЛАДНЫЕ» имеют связь «один-ко-многим» по полю «ПОКУПАТЕЛЬ» и, соответственно, одной накладной может соответствовать несколько товаров. Таблицы «НАКЛАДНЫЕ» и «ОТПУСК ТОВАР СО СКЛАДА» также имеют связь «один-ко-многим» по полю «№_НАКЛАДНОЙ».

Следовательно, связи между таблицами в ЗНФ

ОТПУСК ТОВАР СО СКЛАДА
КОД_ТОВАРА
КОД_ПОКУПАТЕЛЯ
КОЛИЧЕСТВО
ОБЩАЯ_СТОИМОСТЬ
№_НАКЛАДНОЙ

ПОКУПАТЕЛИ

КОД_ПОКУПАТЕЛЯ
ФАМИЛИЯ И ИНИЦИАЛЫ ПОКУПАТЕЛЯ
ГОРОД
АДРЕС

ТОВАРЫ

КОД_ТОВАРА
НАИМЕНОВАНИЕ_ТОВАРА
Е _ИЗМ
ЦЕНА_ЗА_ЕД
НАКЛАДНЫЕ
№_НАКЛАДНОЙ
ДАТА
КОД_ПОКУПАТЕЛЯ

Таблица «ОТПУСК ТОВАР СО СКЛАДА» не находится в 3НФ, т.к. неключевое поле «ОБЩАЯ_СТОИМОСТЬ» имеет зависимость от поля «КОЛИЧЕСТВО». Значение поля «ОБЩАЯ_СТОИМОСТЬ» может вычисляться, как значение поля «КОЛИЧЕСТВО» умноженное на значение поля «ЦЕНА_ЗА_ЕД» из таблицы «ТОВАРЫ». Исключение поля «ОБЩАЯ_СТОИМОСТЬ» из таблицы «ОТПУСК ТОВАР СО СКЛАДА» приводит БД к 3НФ (нормализованной БД (3НФ)).

Конечный результат:

ОТПУСК ТОВАР СО СКЛАДА

№_НАКЛАДНОЙ
КОД_ПОКУПАТЕЛЯ
КОД_ТОВАРА
КОЛИЧЕСТВО

ПОКУПАТЕЛИ

КОД_ПОКУПАТЕЛЯ
ФАМИЛИЯ И ИНИЦИАЛЫ ПОКУПАТЕЛЯ
ГОРОД
АДРЕС
ТОВАРЫ
КОД_ТОВ РА
НАИМЕНОВАНИЕ_ТОВАРА
ЕД_ИЗМ
Ц НА_ЗА_ЕД
НАКЛАДНЫЕ
№_НАКЛАДНОЙ
ДАТА
КОД_ПОКУПАТЕЛЯ

РЕАЛИЗАЦИЯ БАЗЫ ДАННЫХ

Лабораторная работа 3

ИЗУЧЕНИЕ ИНТЕРФЕЙСА И ФУНКЦИОНАЛЬНЫХ ВОЗМОЖНОСТЕЙ ПРОГРАММНОГО КОМПОНЕНТА DATABASE DESKTOP В DELPHI/LAZARUS/LAZARUS. СОЗДАНИЕ, РЕДАКТИРОВАНИЕ И ПРЕДСТАВЛЕНИЕ ТАБЛИЦ. СОЗДАНИЕ ПРОСТЕЙШИХ ПРИЛОЖЕНИЙ СИСТЕМЫ БАЗ ДАННЫХ ПРИ ПОМОЩИ СРЕДСТВА РАЗРАБОТКИ DELPHI/LAZARUS/LAZARUS

Цель: получить навыки создания таблиц при помощи утилиты Database Desktop. Получить навыки создания простейших приложений системы баз данных при помощи средства разработки DELPHI/LAZARUS/LAZARUS, а также установления связей Master-Detail между наборами данных при создании приложений баз данных.


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



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