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