
3 Разработка информационной системы
-
Структура базы данных системы
База данных ИС состоит из 10 таблиц, краткое описание которых дается в таблице 3.1.
Таблица 3.1 — Список таблиц БД
№ |
Наименование |
Кол-во полей |
Описание |
1 |
Article |
9 |
Список товаров |
2 |
ArticleGroup |
3 |
Группа товаров |
3 |
Department |
3 |
Цех |
4 |
Store |
5 |
Склад |
5 |
Supplier |
10 |
Поставщик |
6 |
SystemUser |
11 |
Пользователь системы с указанием прав доступа |
7 |
Income |
7 |
Приходный ордер |
8 |
IncomeArticle |
3 |
Список товаров в приходном ордере с указанием количества |
9 |
Outlay |
5 |
Расходная накладная |
10 |
OutlayArticle |
2 |
Список товаров в расходной накладной с указанием количества |
Рассмотрим подробнее структуру каждой из таблиц БД.
В таблице Article хранится информация о товарах, которыми оперирует склад с указанием наименования, поставщика, базовой, учетной и стоимости реализации товара, а также единиц измерения (базовой и учетной). Детальная структура приведена в таблице 3.2.
Таблица 3.2 — Структура таблицы Article
№ |
Наименование |
Тип |
Описание |
1 |
articleId |
int, PK, NOT NULL |
Идентификатор товара |
2 |
articleGroup |
int, FK, NOT NULL |
Идентификатор группы товара |
3 |
title |
nvarchar(100), NOT NULL |
Наименование товара |
4 |
measure |
nvarchar (50), NOT NULL |
Учетная единица измерения товара |
5 |
Price |
money, NOT NULL |
Учетная цена товара |
6 |
salePrice |
money, NOT NULL |
Цена реализации товара |
Продолжение таблицы 3.2
7 |
supplier |
int, FK, NOT NULL |
Идентификатор поставщика товара |
8 |
measureBase |
nvarchar (50), NOT NULL |
Базовая единица измерения товара |
9 |
priceBase |
money, NOT NULL |
Базовая цена товара |
В таблице ArticleGroup хранится информация о группах товаров, которыми оперирует склад с указанием наименования и кода группы. Детальная структура приведена в таблице 3.3.
Таблица 3.3 — Структура таблицы ArticleGroup
№ |
Наименование |
Тип |
Описание |
1 |
articleGroupId |
int, PK, NOT NULL |
Идентификатор группы товаров |
2 |
code |
nvarchar(10), NOT NULL |
Код группы товаров |
3 |
title |
nvarchar(100), NOT NULL |
Наименование группы товаров |
В таблице Department хранится информация о цехах завода, которая используется для отражения структуры организации. Детальная структура приведена в таблице 3.4.
Таблица 3.4 — Структура таблицы Department
№ |
Наименование |
Тип |
Описание |
1 |
departmentId |
int, PK, NOT NULL |
Идентификатор цеха |
2 |
number |
nvarchar(50), NOT NULL |
Номер цеха |
3 |
title |
nvarchar(100), NOT NULL |
Наименование цеха |
В таблице Store хранится информация о складах цехов завода, которая используется для отражения структуры организации. Детальная структура приведена в таблице 3.5.
Таблица 3.5 — Структура таблицы Store
№ |
Наименование |
Тип |
Описание |
1 |
storeId |
int, PK, NOT NULL |
Идентификатор склада |
2 |
department |
int, FK, NOT NULL |
Идентфииктаор цеха |
3 |
number |
nvarchar(50), NOT NULL |
Номер склада |
Продолжение таблицы 3.5
4 |
title |
nvarchar(100), NOT NULL |
Наименование склада |
5 |
responsible |
nvarchar(100), NOT NULL |
ФИО материально ответственного лица |
В таблице Supplier хранится информация о поставщиках, с которыми работает завод с указанием реквизитов организации и деталей договора. Детальная структура приведена в таблице 3.6.
Таблица 3.6 — Структура таблицы Supplier
№ |
Наименование |
Тип |
Описание |
1 |
supplierId |
int, PK, NOT NULL |
Идентификатор поставщика |
2 |
title |
nvarchar(150), NOT NULL |
Наименование поставщика |
3 |
RNN |
char(12), NOT NULL |
РНН поставщика |
4 |
BIN |
char(12), NOT NULL |
БИН поставщика |
5 |
IIK |
char(20), NOT NULL |
ИИК поставщика |
6 |
address |
nvarchar(500), NOT NULL |
Адрес поставщика |
7 |
contractNumber |
nvarchar(50), NOT NULL |
Номер договора с поставщиком |
8 |
contractBegins |
datetime, NOT NULL |
Дата начала действия договора |
9 |
contractEnds |
datetime, NOT NULL |
Дата окончания действия договора |
10 |
VAT |
int, NOT NULL |
Сумма НДС поставщика |
В таблице SystemUser хранится информация обо всех зарегистрированных пользователях системы с указанием прав доступ. Детальная структура приведена в таблице 3.7.
Таблица 3.7 — Структура таблицы SystemUser
№ |
Наименование |
Тип |
Описание |
1 |
userId |
int, PK, NOT NULL |
Идентификатор пользователя |
2 |
loginName |
nvarchar(50), NOT NULL |
Имя входа |
Продолжение таблицы 3.7
3 |
password |
varchar(20), NOT NULL |
Пароль |
4 |
supplier |
bit, NOT NULL |
Право на редактирование справочника поставщиков |
5 |
article |
bit, NOT NULL |
Право на редактирование справочника товаров |
6 |
income |
bit, NOT NULL |
Доступ к справочнику приходных ордеров |
7 |
store |
bit, NOT NULL |
Право на редактирование справочника складов |
8 |
outlay |
bit, NOT NULL |
Доступ к справочнику расходных накладных |
9 |
admin |
bit, NOT NULL |
Право на доступ к административным функциям |
10 |
role |
nvarchar(50), NOT NULL |
Роль пользователя |
11 |
articleGroup |
bit, NOT NULL |
Право на редактирование справочника групп товаров |
В таблицах Income и IncomeArticle хранится информация обо всех приходах товара от поставщиков. Детальная структура приведена в таблицах 3.8 и 3.9.
Таблица 3.8 — Структура таблицы Income
№ |
Наименование |
Тип |
Описание |
1 |
incomeId |
int, PK, NOT NULL |
Идентификатор приходного ордера |
2 |
added |
datetime, NOT NULL |
Дата добавления ордера в БД |
3 |
supplier |
int, FK, NOT NULL |
Идентификатор поставщика |
4 |
store |
int, FK, NOT NULL |
Идентификатор склада, принявшего товар |
5 |
invoice |
nvarchar(50), NOT NULL |
Номер накладной |
6 |
docNum |
nvarchar(50), NOT NULL |
Номер сопроводительного документа |
7 |
bill |
nvarchar(50), NOT NULL |
Номер счета-фактуры |
Таблица 3.9 — Структура таблицы IncomeArticle
№ |
Наименование |
Тип |
Описание |
1 |
income |
int, PK, FK, NOT NULL |
Идентификатор приходного ордера |
2 |
article |
int, PK, FK, NOT NULL |
Идентификатор товара |
3 |
amount |
decimal(18,4), NOT NULL |
Количество товара |
В таблицах Outlay и OutlayArticle хранится информация обо всех расходных накладных, по которым была произвденеа выдача товара на склады завода. Детальная структура приведена в таблицах 3.10 и 3.11.
Таблица 3.10 — Структура таблицы Outlay
№ |
Наименование |
Тип |
Описание |
1 |
outlayId |
int, PK, NOT NULL |
Идентификатор расходной накладной |
2 |
store |
int, FK, NOT NULL |
Идентификатор склада |
3 |
added |
datetime, NOT NULL |
Дата добавления накладной |
4 |
reason |
nvarchar(100), NOT NULL |
Основание на выдачу товара |
5 |
sender |
int, FK, NOT NULL |
Идентификатор пользователя, произведшего выдачу |
Таблица 3.11 — Структура таблицы OutlayArticle
№ |
Наименование |
Тип |
Описание |
1 |
outlay |
int, PK, FK, NOT NULL |
Идентификатор расходной накладной |
2 |
article |
int, PK, FK, NOT NULL |
Идентификатор товара |
3 |
amount |
decimal(18,4), NOT NULL |
Количество товара |
В приложении Е показана схема связи таблиц базы данных между собой. В таблице 3.12 даются пояснения к каждой из связей между таблицами.