2.6.2 База данных автоматизированной системы управления складом
После того как все таблицы системы отвечают принципам нормализации БД, следует определить наборы связей между таблицами для функциональной взаимосвязанной работы базы данных в системе (рисунок 6):
Рисунок 6. Схема данных.
Для этих целей система в общем виде условно разделяется на три составляющие:
Клиенты и оформление их заказов;
Поставщики, оформление заявок;
БД товаров.
В раздел «Клиенты и оформление их заказов» включены 2 таблицы:
«Клиенты»;
«ОформлениеЗаказа».
Связываются таблица «Клиенты» с таблицей «ОформлениеЗаказа» по ключевому полю «IDклиента», используя отношение типа «один ко многим». Схема связей показана на рисунке 7:
Рисунок 7. Схема связи «Клиенты и оформление их заказов».
В раздел «Поставщики, оформление заявок» включены следующие таблицы:
«Поставщики»;
«ОформлениеЗаявки».
Связываем эти таблицы используя тип отношения «один к одному», по ключевому полю «IDпоставщика». Схема данных связей показана на рисунке 8:
Рисунок 8. Схема «Поставщики, оформление заявок».
В разделе «БД товаров» используются уже вышеупомянутые таблицы:
«ОформлениеЗаказа»;
Эти таблицы связываются между собой с помощью с помощью третьей таблицы «БД товаров» типом отношения «один ко многим». Это видно из рисунка 9:
Рисунок 9. Схема «БД товаров».
Данные полей указанных таблиц формируются из полей идентификаторов клиентов, а также выбранных клиентом в процессе работы с системой.
Для условий требований Третьей нормальной формы в таблицах предусмотрен составной ключ, включающий в себя два поля {номер заказа и идентификатор клиента}, уникальный, достаточный и неизбыточный, однозначно определяющий каждую запись в таблицах.
Одному заказанному товару соответствует один номер заказа, но если клиент в процессе работы с системой заказывает ещё один товар, то на каждую запись по этому клиенту присваивается один номер заказа.
Если заказ оформлен, то есть, принят на выполнение в работу, а клиент желает заказать дополнительный товар, тогда оформляется новый заказ, используя те же идентификаторы клиента.
Основой для разработки базы данных служат таблицы, в которых содержится необходимая информация.
В данной БД используются следующие таблицы:
1. «Клиенты» (таблица 3):
IDКлиента: идентификатор клиента. Является ключевым полем данной таблицы. По нему выполняется поиск конкретного клиента;
ФИО клиента: вводятся фамилия, имя, отчество нового клиента;
Город: предприятию необходимо знать тот город, в котором проживает клиент;
Адрес: адрес клиента;
Телефон: телефон клиента;
e-mail: необходим для того, чтобы предприятие в любой момент могло вязаться с клиентом и уточнить его заказ;
Паспортные данные: необходимы для предприятия, потому что именно паспорт является главным удостоверяющим личность клиента документом.
Все вышеперечисленные поля крайне необходимы для того, чтобы внести в БД наиболее точную и достоверную информацию о клиенте.
Таблица 3.
«Клиенты»
Название поля
Тип данных
Размер поля
IDКлиента
Счетчик, ключевое поле
Длинное целое
ФИО клиента
Текстовый
50
Город
Адрес
Телефон
Числовой
e-mail
Паспортные данные
«ОформлениеЗаказа» (таблица 4):
№заказа: является ключевым полем данной таблицы. По номеру заказа можно отследить и идентифицировать клиента;
IDКлиента: идентификатор клиента;
НаименованиеТовара: дается перечень товаров;
КоличествоЕдиницТовара: выбирается количество товара;
СтоимостьТовара: цена за единицу товара;
ДатаЗаказа: число оформления заказа;
БДТоваров: обращение к БД товаров.
Все эти поля служат для того, чтобы заказ был оформлен в индивидуальном порядке для каждого клиента.
Таблица 4.
«Оформление заказа»
№Заказа
НаименованиеТовара
КоличествоЕдиницТовара
СтоимостьТовара
Денежный
ДатаЗаказа
Дата/время
БДТоваров
Мастер подстановок
Вводится из таблицы «БДТоваров»
«Продажа» (таблица 5):
ФИОКлиента: вводятся фамилия, имя и отчество клиента;
НаименованиеТовара: выбирается из списка всех товаров;
КоличествоЕдиницТовара: количество покупаемого товара;
ДатаЗаказа: число оформления продажи.
Для того, чтобы продать товар необходимо знать то что мы продаем и в каком количестве. Это наиболее подробно представлено в таблице «Продажа» данной БД.
Таблица 5.
«Продажа»
«БДТоваров» (таблица 6):
НаименованиеТовара: предлается весь перечень имеющихся товаров;
КоличествоТовараНаСкладе: количество всех товаров, которые имеются на складе;
ЦенаЗаЕдиницуТовара: цена за единицу выбранного товара;
ОстатокТовараНаСкладе: остаток определенного товара на складе.
Продавая товар или приобретая товар через поставщиков нам необходимо руководствоваться какими-то данными. Эти данные мы получаем из таблицы «БДТоваров».
Таблица 6.
«БДТоваров»
Текстовый, ключевое поле
КоличествоТовараНаСкладе
Длинной целое
ЦенаЗаЕдиницуТовара
ОстатокТовараНаСкладе
«ОформлениеЗаявки» (таблица 7):
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12