TCF-Framework-Integration/db/UDO_T_EQUIPDSCMML.sql

35 lines
2.1 KiB
SQL

/* Âûáîðêè äàííûõ îáîðóäîâàíèÿ (êëàññû îáîðóäîâàíèÿ, ìîäåëè) */
create table UDO_T_EQUIPDSCMML
(
/* Ðåãèñòðàöèîííûé íîìåð */
RN number(17) not null,
/* Ðîäèòåëü */
PRN number(17) not null,
/* Çàäà÷à (TCF - îöåíêà òåõíè÷åñêîãî ñîñòîÿíèÿ (Technical Condition Forecast), RUL - ïðîãíîçèðîâàíèå îñòàòî÷íîãî ðåñóðñà (Remaining Useful Life), FP - Ïðîãíîçèðîâàíèå îòêàçà (Failure Predict)) */
TASK varchar2(3) default 'RUL' not null,
/* Òî÷íîñòü (ïëàí) */
PRECISION_P number(3) not null,
/* Òî÷íîñòü (ôàêò) */
PRECISION_F number(3) default null,
/* Èäåíòèôèêàòîð î÷åðåäè îáðàáîòêè */
QUEUE_ID varchar2(200) default null,
/* Ñîñòîÿíèå */
STATUS number(1) default 0 not null,
/* Ñîîáùåíèå îá îøèáêå */
ERR varchar2(4000) default null,
/* Êëþ÷è */
constraint UDO_C_EQUIPDSCMML_RN_PK primary key (RN),
constraint UDO_C_EQUIPDSCMML_PRN_FK foreign key (PRN) references UDO_T_EQUIPDSCM(RN),
constraint UDO_C_EQUIPDSCMML_TASK_NB check (rtrim(TASK) is not null),
constraint UDO_C_EQUIPDSCMML_TASK_CH check (TASK in ('TCF', 'RUL', 'FP')),
constraint UDO_C_EQUIPDSCMML_PRECP_CH check ((PRECISION_P > 0) and (PRECISION_P <= 100)),
constraint UDO_C_EQUIPDSCMML_PRECF_CH check ((PRECISION_F is null) or ((PRECISION_F is not null) and (PRECISION_F > 0) and (PRECISION_F <= 100))),
constraint UDO_C_EQUIPDSCMML_QID_NB check ((QUEUE_ID is null) or (rtrim(QUEUE_ID) is not null)),
constraint UDO_C_EQUIPDSCMML_QID_CH check (((STATUS in (1, 2, 3)) and (QUEUE_ID is not null)) or (STATUS not in (1, 2, 3))),
constraint UDO_C_EQUIPDSCMML_STATUS_CH check (STATUS in (0, 1, 2, 3)),
constraint UDO_C_EQUIPDSCMML_ERR_NB check ((ERR is null) or (rtrim(ERR) is not null)),
constraint UDO_C_EQUIPDSCMML_ERR_CH check (((STATUS in (3)) and (ERR is not null)) or (STATUS not in (3))),
constraint UDO_C_EQUIPDSCMML_UN unique (PRN, TASK, PRECISION_P, QUEUE_ID),
constraint UDO_C_EQUIPDSCMML_QID_UN unique (QUEUE_ID)
);