При проектировании реляционных БД необходимо решить вопрос о наиболее эффективной структуре данных.
Цели, которые при этом преследуются:
1. Исключить ненужные повторения, которые могут являться причиной ошибок при вводе, и нерациональное использование дискового пространства.
2. Обеспечение целостности т.о., чтобы при изменении одного объекта происходило автоматическое изменение связанных с ним объектов.
3. Обеспечение быстрого доступа к данным в таблице.
Нормализация - процесс уменьшения избыточности информации в БД.
Теория нормализации оперирует пятью нормальными формами. Эти формы предназначены для уменьшения избыточной информации от первой до пятой нормальной формы. Поэтому каждая нормальная форма удовлетворяет требованиям предыдущей формы и некоторыми своим дополнительным условием. На практике используется три первые нормальные формы чаще всего.
Наша БД будет состоять:
№ п/п
Наименование атрибута
Код_покупателя
Предприятие
Фамилия
Имя
Отчество
Телефон
Индекс
Страна
Область
Город
Остальная_часть_адреса
Кредит
Номер_заказа
Дата_заказа
Заказанное_количество
Дата_продажи
Проданное_количество
Код_менеджера
Имя_менеджера
Группа_товара
Код_товара
Наименование
Цена
Примечание
Отношение в первой нормальной форме должно удовлетворять следующему условию:
- таблица не должна иметь повторяющихся записей;
- таблица не должна иметь повторяющихся групп полей.
Покупатели
Код_покупателя
Предприятие
Фамилия
Имя
Отчество
Индекс
Страна
Область
Город
Остальная_часть_адреса
Кредит
Заказано
Номер_заказа
Код_покупателя
Дата_заказа
Дата_продажи
Код_менеджера
Имя_менеджера
Продано
Номер_заказа
Код_товара
Наименование
Группа_товара
Цена
Заказанное_количество
Проданное_количество
Примечание
Телефон
Код_покупателя
Телефон
Отношение во второй нормальной форме должно удовлетворять следующему условию:
- отношение должно удовлетворять условию первой нормальной формы;
- любое не ключевое поле однозначно идентифицируется полным набором ключевых полей.
Продано
Номер_заказа
Код_товара
Заказанное_количество
Проданное_количество
Примечание
Товар
Код_товара
Наименование
Группа_товара
Цена
Отношение в третьей нормальной форме должно удовлетворять следующему условию:
- отношение должно удовлетворять условию второй нормальной формы;
- любое не ключевое поле не должно однозначно идентифицироваться другим не ключевым полем.