diff --git a/base_model/ddl_v2.sql b/base_model/ddl_v2.sql index 4389b43..5cc3e22 100644 --- a/base_model/ddl_v2.sql +++ b/base_model/ddl_v2.sql @@ -4,7 +4,8 @@ CREATE TABLE BASIC.ATTRIBUTE_GROUP ( ID SERIAL PRIMARY KEY, GROUP_TYPE VARCHAR(64) NOT NULL DEFAULT '', GROUP_NAME VARCHAR(64) NOT NULL DEFAULT '', - IS_REQUIRED SMALLINT NOT NULL DEFAULT -1, + IS_PUBLIC SMALLINT NOT NULL DEFAULT -1, + REMARK VARCHAR(128) NOT NULL DEFAULT '', UNIQUE (GROUP_TYPE) ); @@ -26,40 +27,49 @@ CREATE TABLE BASIC.MODEL_TYPE ( UNIQUE (MODEL_TYPE) ); +CREATE TABLE BASIC.MAPPING_MODEL_GROUP ( + ID SERIAL PRIMARY KEY, + MODEL_TYPE_ID INTEGER NOT NULL DEFAULT -1, + ATTRIBUTE_GROUP_ID INTEGER NOT NULL DEFAULT -1, + + UNIQUE (MODEL_TYPE_ID, ATTRIBUTE_GROUP_ID), + + FOREIGN KEY (MODEL_TYPE_ID) REFERENCES BASIC.MODEL_TYPE (ID), + FOREIGN KEY (ATTRIBUTE_GROUP_ID) REFERENCES BASIC.ATTRIBUTE_GROUP (ID) +); + CREATE TABLE BASIC.ATTRIBUTE ( ID SERIAL PRIMARY KEY, - ATTRIBUTE_GROUP VARCHAR(64) NOT NULL DEFAULT '', + ATTRIBUTE_GROUP_ID INTEGER NOT NULL DEFAULT -1, ATTRIBUTE VARCHAR(128) NOT NULL DEFAULT '', ATTRIBUTE_NAME VARCHAR(64) NOT NULL DEFAULT '', - DATA_TYPE VARCHAR(64) NOT NULL DEFAULT '', - LENGTH_PRECISION INTEGER NOT NULL DEFAULT -1, - SCALE INTEGER NOT NULL DEFAULT -1, + DATA_TYPE_ID INTEGER NOT NULL DEFAULT -1, + LENGTH_PRECISION INTEGER NOT NULL DEFAULT 0, + SCALE INTEGER NOT NULL DEFAULT 0, IS_NOT_NULL SMALLINT NOT NULL DEFAULT -1, DEFAULT_VALUE VARCHAR(64) NOT NULL DEFAULT '', VALUE_RANGE VARCHAR(128) NOT NULL DEFAULT ',', - MODEL_TYPE VARCHAR(64) NOT NULL DEFAULT '', - UNIQUE (ATTRIBUTE_GROUP, ATTRIBUTE), + UNIQUE (ATTRIBUTE_GROUP_ID, ATTRIBUTE), UNIQUE (ATTRIBUTE, ATTRIBUTE_NAME), - FOREIGN KEY (ATTRIBUTE_GROUP) REFERENCES BASIC.ATTRIBUTE_GROUP (GROUP_TYPE), - FOREIGN KEY (DATA_TYPE) REFERENCES BASIC.DATA_TYPE (DATA_TYPE), - FOREIGN KEY (MODEL_TYPE) REFERENCES BASIC.MODEL_TYPE (MODEL_TYPE) + FOREIGN KEY (ATTRIBUTE_GROUP_ID) REFERENCES BASIC.ATTRIBUTE_GROUP (ID), + FOREIGN KEY (DATA_TYPE_ID) REFERENCES BASIC.DATA_TYPE (ID) ); CREATE TABLE BASIC.ATTRIBUTE_TEMPLATE ( ID SERIAL PRIMARY KEY, TEMPLATE_NAME VARCHAR(64) NOT NULL DEFAULT '', - ATTRIBUTE_GROUP VARCHAR(64) NOT NULL DEFAULT '', - DATA_TYPE VARCHAR(64) NOT NULL DEFAULT '', - LENGTH_PRECISION INTEGER NOT NULL DEFAULT -1, - SCALE INTEGER NOT NULL DEFAULT -1, + ATTRIBUTE_GROUP_ID INTEGER NOT NULL DEFAULT -1, + DATA_TYPE_ID INTEGER NOT NULL DEFAULT -1, + LENGTH_PRECISION INTEGER NOT NULL DEFAULT 0, + SCALE INTEGER NOT NULL DEFAULT 0, IS_NOT_NULL SMALLINT NOT NULL DEFAULT -1, DEFAULT_VALUE VARCHAR(64) NOT NULL DEFAULT '', VALUE_RANGE VARCHAR(128) NOT NULL DEFAULT '', - FOREIGN KEY (ATTRIBUTE_GROUP) REFERENCES BASIC.ATTRIBUTE_GROUP (GROUP_TYPE), - FOREIGN KEY (DATA_TYPE) REFERENCES BASIC.DATA_TYPE (DATA_TYPE) + FOREIGN KEY (ATTRIBUTE_GROUP_ID) REFERENCES BASIC.ATTRIBUTE_GROUP (ID), + FOREIGN KEY (DATA_TYPE_ID) REFERENCES BASIC.DATA_TYPE (ID) ); CREATE TABLE BASIC.MODEL_CONNECTIVITY ( diff --git a/base_model/dml.sql b/base_model/dml.sql index 546bb05..de4752f 100644 --- a/base_model/dml.sql +++ b/base_model/dml.sql @@ -1,16 +1,16 @@ INSERT INTO - BASIC.ATTRIBUTE_GROUP (GROUP_TYPE, GROUP_NAME, IS_REQUIRED) + BASIC.ATTRIBUTE_GROUP (GROUP_TYPE, GROUP_NAME, PUBLIC, REMARK) VALUES - ('base', '基础信息', 1), - ('base_extend', '基础信息扩展', 0), - ('rated', '额定参数', 0), - ('setup','设定参数',0), - ('model','模型参数',0), - ('stable','稳定参数',0), - ('bay','间隔信息',1), - ('craft','工艺与负荷',0), - ('integrity','设备完整性',0), - ('behavior','行为信息',0); + ('base', '基础信息', 1,''), + ('base_extend', '基础信息扩展', 0,''), + ('rated', '额定参数', 0,''), + ('setup','设定参数',0,''), + ('model','模型参数',0,''), + ('stable','稳定参数',0,''), + ('bay','间隔信息',1,''), + ('craft','工艺与负荷',0,''), + ('integrity','设备完整性',0,''), + ('behavior','行为信息',0,''); INSERT INTO