НТЦ РАС

Основные таблицы

Общая информация

ПараметрЗначение
СУБДMySQL 8.0+
Кодировкаutf8mb4_unicode_ci
Движок таблицInnoDB
Дата создания схемы2025-11-20

Список таблиц и краткое назначение

ТаблицаОписаниеТип связей, в которых участвует
users Пользователи системы, управляющие событиями модулей1→N module_events
module_typesТипы модулей (МК-4, МСК и др.)1→N module_type_nodes, 1→N modules
locationsСправочник местоположений модулей1→N modules
event_typesТипы событий модулей (диагностика, ремонт и др.)1→N module_events
modulesМодули с типом, местоположением и статусомN→1 module_types, N→1 locations, 1→N module_events, 1→1 module_events (last_module_event_id)
module_eventsЖурнал событий модулей с типом и пользователемN→1 modules, N→1 event_types, N→1 users
componentsКомпоненты модулей с артикулом и спецификацией1→N module_type_node_components
module_type_nodesУзлы типов модулей (экстрактор, субузлы и т.п.)N→1 module_types, 1→N module_type_node_components
module_type_node_componentsКомпоненты внутри узлов со refdes и количествомN→1 module_type_nodes, N→1 components

Связи между таблицами

Тип связиТаблица-родитель → Таблица-дочьПоле-ключ в дочерней таблицеON DELETEON UPDATEКомментарий
1Один ко многимmodule_typesmodule_type_nodesmodule_type_nodes.module_type_idRESTRICTRESTRICTУзлы принадлежат типам модулей
2Один ко многимmodule_typesmodulesmodules.module_type_idRESTRICTRESTRICTКаждый модуль привязан к типу
3Один ко многимlocationsmodulesmodules.location_idRESTRICTRESTRICTМодули привязаны к локациям
4Один ко многимevent_typesmodule_eventsmodule_events.event_type_idRESTRICTRESTRICTСобытие относится к справочному типу
5Один ко многимusersmodule_eventsmodule_events.user_idRESTRICTRESTRICTСобытие создаётся пользователем
6Один ко многимmodulesmodule_eventsmodule_events.module_idRESTRICTRESTRICTКаждому модулю соответствует журнал событий
7Один ко многимmodule_type_nodesmodule_type_node_componentsmodule_type_node_components.module_type_node_idRESTRICTRESTRICTУзлы агрегируют компоненты
8Один ко многимcomponentsmodule_type_node_componentsmodule_type_node_components.component_idRESTRICTRESTRICTКомпоненты входят в узлы
9Один к одномуmodule_eventsmodulesmodules.last_module_event_idRESTRICTRESTRICTМодуль хранит ссылку на последнее событие

Подробное описание таблиц

1. users - таблица пользователей

ПолеТипОписаниеConstraints
idBIGINT UNSIGNEDPKAUTO_INCREMENT PRIMARY KEY
nameVARCHAR(255)ФИО пользователяNOT NULL
emailVARCHAR(255)Электронная почтаNOT NULL UNIQUE
email_verified_atTIMESTAMPДата верификации электронной почтыNULL
passwordVARCHAR(255)ПарольNOT NULL
two_factor_secretTEXTNULL
two_factor_recovery_codesTEXTNULL
two_factor_confirmed_atTIMESTAMPNULL
remember_tokenVARCHAR(100)NULL
created_atTIMESTAMPNULL
updated_atTIMESTAMPNULL

2. module_types - типы модулей

ПолеТипОписаниеConstraints
idBIGINT UNSIGNEDPKAUTO_INCREMENT PRIMARY KEY
nameVARCHAR(50)Название типа модуля (МК-4, МСК и т.д.)NOT NULL
designatorVARCHAR(50)Обозначение (ЖРГА.ХХХХХХ.ХХХ-ХХ)NOT NULL UNIQUE
prefixTINYINT UNSIGNEDКод типа модуляNOT NULL
noteVARCHAR(255)ПримечаниеNULL
created_atTIMESTAMPNULL
updated_atTIMESTAMPNULL

3. locations - справочник местоположения модулей

ПолеТипОписаниеConstraints
idBIGINT UNSIGNEDPKAUTO_INCREMENT PRIMARY KEY
nameVARCHAR(150)НТЦ РАС, Пантес, Модульный участок и т. д.NOT NULL UNIQUE
departmentVARCHAR(150)Октябрьской ж. д., Северо-Кавказской ж. д. и т. д.NULL

4. event_types - справочник типов событий модулей

ПолеТипОписаниеConstraints
idBIGINT UNSIGNEDPKAUTO_INCREMENT PRIMARY KEY
nameVARCHAR(255)Диагностика, ремонт, перемещение, отказ и т. д.NOT NULL UNIQUE

5. modules - модули

ПолеТипОписаниеConstraints
idBIGINT UNSIGNEDPKAUTO_INCREMENT PRIMARY KEY
module_type_idBIGINT UNSIGNEDFK → module_types.idNOT NULL
serial_numberVARCHAR(50)Заводской номер (код типа модуля и ГГММNNN)NOT NULL UNIQUE
statusENUM('OK','FAULTY','TECH')Статус модуля (исправен, неисправен, технологический модуль)NOT NULL DEFAULT 'OK'
location_idBIGINT UNSIGNEDFK → locations.idNOT NULL
last_module_event_idBIGINT UNSIGNEDFK → module_events.idNULL
created_atTIMESTAMPNULL
updated_atTIMESTAMPNULL

6. module_events - события модулей

ПолеТипОписаниеConstraints
idBIGINT UNSIGNEDPKAUTO_INCREMENT PRIMARY KEY
module_idBIGINT UNSIGNEDFK → modules.idNOT NULL
event_type_idBIGINT UNSIGNEDFK → event_types.idNOT NULL
status_afterENUM('OK','FAULTY','TECH')Новый статус модуля после событияNOT NULL
user_idBIGINT UNSIGNEDFK → users.idNOT NULL
detailsJSONВсе дополнительные данные событияNULL
created_atTIMESTAMPNULL

7. components - компоненты

ПолеТипОписаниеConstraints
idBIGINT UNSIGNEDPKAUTO_INCREMENT PRIMARY KEY
part_numberVARCHAR(100)АртикулNOT NULL UNIQUE
descriptionTEXTОписаниеNULL
specsJSONВсе параметры компонентаNULL
created_atTIMESTAMPNULL
updated_atTIMESTAMPNULL

8. module_type_nodes - узлы типов модулей

ПолеТипОписаниеConstraints
idBIGINT UNSIGNEDPKAUTO_INCREMENT PRIMARY KEY
module_type_idBIGINT UNSIGNEDFK → module_types.idNOT NULL
nameVARCHAR(150)Узел экстрактора и т. д.NOT NULL
created_atTIMESTAMPNULL
updated_atTIMESTAMPNULL

9. module_type_node_components - компоненты узлов типов модулей

ПолеТипОписаниеConstraints
idBIGINT UNSIGNEDPKAUTO_INCREMENT PRIMARY KEY
module_type_node_idBIGINT UNSIGNEDFK → module_type_nodes.idNOT NULL
component_idBIGINT UNSIGNEDFK → components.idNOT NULL
refdesVARCHAR(20)Позиционное обозначение R1, C12, U5 и т.д.NOT NULL
quantityTINYINT UNSIGNEDКоличествоDEFAULT 1
created_atTIMESTAMPNULL
updated_atTIMESTAMPNULL