Проектирование структуры и создание реляционных баз данных средствами СУБД Access. Виноградов Г.П - 9 стр.

UptoLike

9
2.1. Первая нормальная форма
Табл. 7 является ненормализованной таблицей.
Требования к таблице в первой нормальной форме:
1. Таблица не должна иметь повторяющихся групп полей;
2. В таблице должны отсутствовать повторяющиеся записи.
Для выполнения условия пункта 2 каждая таблица должна иметь
первичный ключ. Таблица Продажи (табл. 7) не содержит первичного
ключа, что допускает наличие в ней повторяющихся записей. Для
выполнения условия 2 добавим поле Код клиента, которое будет содержать
значение первичного ключа.
Требование 1 постулирует устранение повторяющихся групп полей.
Поскольку каждый покупатель может сделать несколько заказов, каждый из
которых в свою очередь может содержать несколько товаров, то необходимы
две таблицы. Каждая запись одной таблицы будет содержать сведения об
одном из покупателей, а второй таблицыинформацию о каждом заказе.
Поэтому надо разбить таблицу Продажи на две отдельные таблицы
Клиенты и Заказы и определить поля Код клиента в качестве ключей
связи. Структуры таблиц Клиенты и Заказы приведены на рис.1. Тип связи
между таблицами Клиенты и Заказы будет один-ко-многим.
Таким образом, для таблицы Клиенты решена проблема
повторяющихся групп полей.
Клиенты
Код клиента
Фамилия
Имя
Отчество
Телефон
Заказы
Код клиента
Код товара
Дата заказа
Заказано
Дата продажи
Продано
Цена
Примечание к заказу
Категория
Наименование товара
Таблица Заказы содержит сведения о товарах, включенных в
конкретный заказ. Для исключения повторяющихся записей можно
воспользоваться одним из способов:
1) добавить в таблицу новое уникальное ключевое поле Код заказа, что
позволит однозначно идентифицировать каждый из заказов. Однако при
работе с Ms Access это далеко не лучший метод, так как при разработке
многотабличных форм и отчетов связь между таблицами осуществляется
посредством ключевых полей с совпадающими значениями;
1
Рис.1. Первая нормальная форма