ER-модель данных, Структура таблиц, Схемы работы модулей - Разработка автоматизированной системы учета материальных ценностей "АС УМЦ"

Модель сущность-связь представлена в приложении 1.

Структура таблиц

Следует отметить назначение полей, которые встречаются во всех таблицах:

    - id -- уникальный идентификатор записи - company_id -- значение поля из таблицы companies, а именно, компания, к которой относится запись - comment -- примечание. Пользователь на свое усмотрение может добавить комментарий как для себя. Так и для остальных пользователей Системы. - deleted -- признак удаления. Если значение поля равно 0, то запись считается не удаленной и отображается в списке. Если пользователь удаляет выбранные записи, они полностью не стираются из таблицы, меняется только значение флага deleted на 1. Такие записи легко восстановить в основном списке, поменяв вручную значение поля deleted на 0. - creator -- автор создания записи. В поле записывается идентификатор из таблицы users (пользователи Системы). Поле creator связано внешним ключом (foreign key) с полем id в таблице users. - author -- автор последней редакции записи. В поле записывается идентификатор из таблицы users (пользователи Системы). Поле author связано внешним ключом (foreign key) с полем id в таблице users. - created -- дата и время создания записи. В поле после сохранения новой записи записывается текущая дата и время с учетом часового пояса. - lastchanged -- дата и время последней редакции записи. В поле после сохранения новой или отредактированной записывается текущая дата и время с учетом часового пояса.

Следует отметить назначение полей, которые встречаются в таблицах, которые синхронизируются между Главным Управлением и Подотчетными объектами:

    - oid -- уникальный идентификатор записи на Подотчетном Объекте. На сервере Подотчетного Объекта равен id записи. На сервере Главного Управления уникальным ключом является значение полей company_id и oid. - rootid -- значение oid родительской записи. При создании записи rootid равен oid. - signed -- статус записи. Если значение поля signed равно -1, то запись отклонена, если signed равно 0, то запись была отредактирована и ожидает подтверждения/отклонения, если signed равно 1, то запись является подтвержденной. - is_last -- признак последней утвержденной записи. Если значение поля is_last равно 1, значит текущая запись является утвержденной, в противном случае, запись либо не является утвержденной, либо является не последней утвержденной. - is_last_draft -- признак последнего черновика. Если значение поля is_last_draft равно 1, значит текущая запись является последним отредактированным черновиком. - for_delete -- если значение равно 1, то запись направлена на удаление.

Ниже приведена структура таблиц, которые были разработаны мною в процессе разработки Системы.

Таблица companies

В этой таблице (Таблица 3) хранятся данные о компаниях (Главном Управлении и Подотчетных Объектах).

Таблица 3 -- Структура таблицы companies.

Ключ

Название поля

Тип данных/ длина символов

Значение по умолчанию

Примечание

PRI

Id

Int(10)

AUTO_

INCREMENT

ID записи

MUL

Company_id

Int(11)

NULL

ID компании

Fullname

Varchar(255)

NULL

Наименование

City

Varchar(255)

''

Город

Addr_u

Mediumtext

NULL

Юридический адрес

Addr_p

Mediumtext

NULL

Фактический адрес

Ip_addr

Varchar(50)

NULL

IP адрес сервера

Phone

Varchar(255)

NULL

Телефон(ы)

Latitude

Float

0

Широта расположения организации

Longitude

Float

0

Долгота расположения организации

Last_sync

Datetime

NULL

Дата и время последней успешной синхронизации

Is_main

Tinyint(3)

0

1 - Главное Управление, 0 - Подотчетный объект

Comment

Varchar(255)

NULL

Примечание

Deleted

Int(10)

0

Признак удаления. 1 - удалено, 0 - нет

MUL

Author

Int(11)

NULL

Автор записи

Lastchanged

Timestamp

NULL

Дата-время последнего изменения

MUL

Creator

Int(11)

NULL

Создатель записи

Created

Timestamp

CURRENT_

Дата-время создания записи

TIMESTAMP

Таблица assets

В этой таблице хранятся данные о материальных ценностях (таблица 4).

Таблица 4 -- Структура таблицы assets.

Ключ

Название поля

Тип данных/ длина символов

Значение по умолчанию

Примечание

PRI

Id

Int(10)

AUTO_

INCREMENT

ID записи

UNI

Oid

Int(10)

NULL

ID записи для синхронизации

Company_id

Int(11)

NULL

ID компании из таблицы companies

MUL

Rootid

Int(10)

NULL

ID родительской записи из текущей таблицы

Is_last

Tinyint(4)

0

1 - последняя утвержденная версией

Is_last_draft

Tinyint(4)

0

1 - последний черновиком

Signed

Tinyint(4)

0

Статус. 1 - утверждено, 0 - ожидает подтверждения, -1 - отклонено

Title

Varchar(511)

NULL

Название

Category

Tinyint(3)

NULL

Категория

Org_id

Int(10)

NULL

ID сторонней организации из таблицы organizations

Did

Int(10)

NULL

ID подразделения из таблицы departments

Pid

Int(10)

NULL

ID материально ответственного лица из таблицы persons

MUL

Class_id

Int(10)

NULL

Класс

Mark

Varchar(255)

NULL

Тип, марка

Inv_num

Varchar(255)

NULL

Инвентарный номер

Unit_measure

Varchar(50)

NULL

Единица измерения

Cnt

Double

1

Количество

Cost

Double

NULL

Цена за единицу

Sponsor

Int(11)

NULL

Спонсор

Balance

Tinyint(3)

NULL

1 - на балансе, 2 - за балансом

Adate

Date

NULL

Дата постановки на учет

Canceled

Tinyint(3)

NULL

1 - имущество списано, 0 - нет

Cancel_case

Date

NULL

Основание для списания

Cancel_act

Varchar(255)

NULL

Акт списания материальных ценностей

Cancel_date

Date

NULL

Дата списания

Rosim

Tinyint(3)

NULL

1 - передано в Росимущество, 2 - принято из Росимущества

Rosim_act

Varchar(255)

NULL

Акт передачи / приема из Росимущества

Rosim_act_date

Date

NULL

Дата акта передачи / приема

Rosim_date

Date

NULL

Дата передачи / приема из Росимущества

For_delete

Tinyint(3)

0

1 - Запись направлена к удалению

Comment

Varchar(255)

NULL

Примечание

Deleted

Int(10)

0

Признак удаления. 1 - удалено, 0 - нет

MUL

Author

Int(11)

NULL

Автор записи

Lastchanged

Timestamp

NULL

Дата-время последнего изменения

MUL

Creator

Int(11)

NULL

Создатель записи

Created

Timestamp

CURRENT_

Дата-время создания записи

TIMESTAMP

Таблица departments

В этой таблице данные о структурных подразделениях предприятия (тАблица 5).

Таблица 5 -- Структура таблицы departments.

Ключ

Название поля

Тип данных/ длина символов

Значение по умолчанию

Примечание

PRI

Id

INT(10)

AUTO_

INCREMENT

ID записи

UNI

Oid

INT(10)

NULL

ID записи для синхронизации

Company_id

INT(11)

NULL

ID компании из таблицы companies

Rootid

INT(10)

NULL

ID родительской записи из текущей таблицы

Is_last

TINYINT(4)

0

1 - последняя утвержденная версией

Is_last_draft

TINYINT(4)

0

1 - последний черновиком

Signed

TINYINT(4)

0

Статус. 1 - утверждено, 0 - ожидает подтверждения, -1 - отклонено

Fullname

VARCHAR(255)

NULL

Наименование подразделения

Disband

TINYINT(3)

0

1 - подразделение расформировано

Disband_dt

DATE

NULL

Дата, когда было расформировано

Disband_doc

INT(10)

NULL

Название документа о расформировании

Comment

VARCHAR(255)

NULL

Примечание

For_delete

TINYINT(3)

0

1 - Запись отправлена на удаление

Comment

VARCHAR(255)

NULL

Примечание

Deleted

INT(10)

0

Признак удаления. 1 - удалено, 0 - нет

MUL

Author

INT(11)

NULL

Автор записи

Lastchanged

TIMESTAMP

NULL

Дата-время последнего изменения

MUL

Creator

INT(11)

NULL

Создатель записи

Created

TIMESTAMP

CURRENT_

Дата-время создания записи

TIMESTAMP

Таблица documents

В этой таблице хранятся сообщения, которые привязаны к идентификатору структурного подразделения (тАблица 6).

Таблица 6 -- Структура таблицы documents.

Ключ

Название поля

Тип данных/ длина символов

Значение по умолчанию

Примечание

PRI

Id

INT(10)

AUTO_

INCREMENT

ID записи

UNI

Oid

INT(10)

NULL

ID записи для синхронизации

Company_id

INT(11)

NULL

ID компании из таблицы companies

Rootid

INT(10)

NULL

ID родительской записи из текущей таблицы

Is_last

TINYINT(4)

0

1 - последняя утвержденная версией

Is_last_draft

TINYINT(4)

0

1 - последний черновиком

Signed

TINYINT(4)

0

Статус. 1 - утверждено, 0 - ожидает подтверждения, -1 - отклонено

Adate

DATE

NULL

От какого числа документ

Title

VARCHAR(255)

NULL

Название документа

Comment

VARCHAR(255)

NULL

Примечание

For_delete

TINYINT(3)

0

1 - Запись отправлена на удаление

Comment

VARCHAR(255)

NULL

Примечание

Deleted

INT(10)

0

Признак удаления. 1 - удалено, 0 - нет

MUL

Author

INT(11)

NULL

Автор записи

Lastchanged

TIMESTAMP

NULL

Дата-время последнего изменения

MUL

Creator

INT(11)

NULL

Создатель записи

Created

TIMESTAMP

CURRENT_

Дата-время создания записи

Таблица organizations

В этой таблице Данные об организациях-арендаторах (таблица 7).

Таблица 7 -- Структура таблицы organizations.

Ключ

Название поля

Тип данных/ длина символов

Значение по умолчанию

Примечание

PRI

Id

INT(10)

AUTO_

INCREMENT

ID записи

UNI

Oid

INT(10)

NULL

ID записи для синхронизации

Company_id

INT(11)

NULL

ID компании из таблицы companies

Rootid

INT(10)

NULL

ID родительской записи из текущей таблицы

Is_last

TINYINT(4)

0

1 - последняя утвержденная версией

Is_last_draft

TINYINT(4)

0

1 - последний черновиком

Signed

TINYINT(4)

0

Статус. 1 - утверждено, 0 - ожидает подтверждения, -1 - отклонено

Title

VARCHAR(255)

NULL

Наименование организации

Comment

VARCHAR(255)

NULL

Примечание

For_delete

TINYINT(3)

0

1 - Запись отправлена на удаление

Addr

MEDIUMTEXT

NULL

Адрес

Phone

VARCHAR(255)

NULL

Телефон(ы)

Deleted

INT(10)

0

Признак удаления. 1 - удалено, 0 - нет

MUL

Author

INT(11)

NULL

Автор записи

Lastchanged

TIMESTAMP

NULL

Дата-время последнего изменения

MUL

Creator

INT(11)

NULL

Создатель записи

Created

TIMESTAMP

CURRENT_

Дата-время создания записи

TIMESTAMP

Таблица persons

В этой таблице хранятся данные о материально ответственных лицах (таблица 8).

Таблица 8 -- Структура таблицы persons.

Ключ

Название поля

Тип данных/ длина символов

Значение по умолчанию

Примечание

PRI

Id

Int(10)

AUTO_

INCREMENT

ID записи

UNI

Oid

Int(10)

NULL

ID записи для синхронизации

Company_id

Int(11)

NULL

ID компании из таблицы companies

MUL

Rootid

Int(10)

NULL

ID родительской записи из текущей таблицы

Is_last

Tinyint(4)

0

1 - последняя утвержденная версией

Is_last_draft

Tinyint(4)

0

1 - последний черновиком

Signed

Tinyint(4)

0

Статус. 1 - утверждено, 0 - ожидает подтверждения,

-1 - отклонено

Lastname

Varchar(255)

NULL

Фамилия

Firstname

Varchar(255)

NULL

Имя

Middlename

Varchar(255)

NULL

Отчество

Position

Varchar(50)

NULL

Должность

Vid

Varchar(50)

NULL

Профессиональный статус

Bdate

Date

NULL

Дата рождения

Phone

Varchar(255)

NULL

Телефон

Email

Varchar(255)

NULL

E-mail

Fired

Tinyint(11)

0

1 - уволен.

Fired_dt

Date

NULL

Дата увольнения

Comment

Varchar(255)

NULL

Примечание

For_delete

Tinyint(3)

0

1 - Запись отправлена на удаление

Comment

Varchar(255)

NULL

Примечание

Deleted

Int(10)

0

Признак удаления. 1 - удалено, 0 - нет

MUL

Author

Int(11)

NULL

Автор записи

Lastchanged

Timestamp

NULL

Дата-время последнего изменения

MUL

Creator

Int(11)

NULL

Создатель записи

Created

Timestamp

CURRENT_

Дата-время создания записи

TIMESTAMP

Таблица discussion

В Этой таблице хранятся сообщения. В поле table хранится название таблицы, к которой относится сообщение. В поле table_id хранится идентификатор из этой таблицы (таблица 9).

Таблица 9 -- Структура таблицы discussion.

Ключ

Название поля

Тип данных/ длина символов

Значение по умолчанию

Примечание

PRI

Id

INT(10)

AUTO_

INCREMENT

ID записи

MUL

Company_id

INT(11)

NULL

ID компании

Table

VARCHAR(63)

NULL

Название сторонней таблицы

MUL

Table_id

INT(10)

NULL

ID из таблицы assets

Message

TEXT

NULL

Текст сообщения

Sent

TINYINT(4)

0

    1 - сообщение отправлено, 0 - не отправлено

New

TINYINT(4)

0

1 -- сообщение еще не просмотрено, 0 -- сообщение просмотрено

Deleted

INT(10)

0

Признак удаления. 1 - удалено, 0 - нет

MUL

Author

INT(11)

NULL

Автор записи

Lastchanged

TIMESTAMP

NULL

Дата-время последнего изменения

MUL

Creator

INT(11)

NULL

Создатель записи

Created

TIMESTAMP

CURRENT_

TIMESTAMP

Дата-время создания записи

Схемы работы модулей

Редактирование записи пользователем Подотчетного Объекта на примере списка "Документы" (documents). Алгоритм работы представлен на рисунке 34.

схема работы модуля

Рисунок 34 -- Схема работы модуля "Редактирование записи".

Отклонение изменений пользователем Главного Управления. Алгоритм работы представлен на рисунок 35.

Рисунок 35 -- Схема работы модуля "Отклонение изменений в записи".

Похожие статьи




ER-модель данных, Структура таблиц, Схемы работы модулей - Разработка автоматизированной системы учета материальных ценностей "АС УМЦ"

Предыдущая | Следующая