This commit is contained in:
zhuxu 2025-03-06 20:10:53 +08:00
parent 605f12f227
commit 96a6b779da
2 changed files with 86 additions and 16 deletions

View File

@ -19,42 +19,42 @@ CREATE TABLE BASIC.DATA_TYPE (
CREATE TABLE BASIC.ATTRIBUTE ( CREATE TABLE BASIC.ATTRIBUTE (
ID SERIAL PRIMARY KEY, ID SERIAL PRIMARY KEY,
ATTRIBUTE_GROUP VARCHAR(64) NOT NULL DEFAULT '',
ATTRIBUTE VARCHAR(128) NOT NULL DEFAULT '', ATTRIBUTE VARCHAR(128) NOT NULL DEFAULT '',
DATA_TYPE_ID INTEGER NOT NULL DEFAULT -1, DATA_TYPE VARCHAR(64) NOT NULL DEFAULT '',
LENGTH_PRECISION INTEGER NOT NULL DEFAULT -1, LENGTH_PRECISION INTEGER NOT NULL DEFAULT -1,
SCALE INTEGER NOT NULL DEFAULT -1, SCALE INTEGER NOT NULL DEFAULT -1,
IS_NOT_NULL SMALLINT NOT NULL DEFAULT -1,
DEFAULT_VALUE VARCHAR(64) NOT NULL DEFAULT '', DEFAULT_VALUE VARCHAR(64) NOT NULL DEFAULT '',
VALUE_RANGE VARCHAR(128) NOT NULL DEFAULT '[,]', VALUE_RANGE VARCHAR(128) NOT NULL DEFAULT ',',
ATTRIBUTE_GROUP_ID INTEGER NOT NULL DEFAULT -1,
IS_NOT_NULL INTEGER NOT NULL DEFAULT -1,
IS_INDEX INTEGER NOT NULL DEFAULT -1,
UNIQUE(ATTRIBUTE), UNIQUE(ATTRIBUTE),
FOREIGN KEY (DATA_TYPE_ID) REFERENCES BASIC.DATA_TYPE (ID), FOREIGN KEY (DATA_TYPE) REFERENCES BASIC.DATA_TYPE (DATA_TYPE),
FOREIGN KEY (ATTRIBUTE_GROUP_ID) REFERENCES BASIC.ATTRIBUTE_GROUP (ID) FOREIGN KEY (ATTRIBUTE_GROUP) REFERENCES BASIC.ATTRIBUTE_GROUP (GROUP_TYPE)
); );
CREATE TABLE BASIC.ATTRIBUTE_TEMPLATE ( CREATE TABLE BASIC.ATTRIBUTE_TEMPLATE (
ID SERIAL PRIMARY KEY, ID SERIAL PRIMARY KEY,
TEMPLATE_NAME VARCHAR(64) NOT NULL DEFAULT '', TEMPLATE_NAME VARCHAR(64) NOT NULL DEFAULT '',
DATA_TYPE_ID INTEGER NOT NULL DEFAULT -1, ATTRIBUTE_GROUP VARCHAR(64) NOT NULL DEFAULT '',
LENGTH_PRECISION VARCHAR(16) NOT NULL DEFAULT '', DATA_TYPE VARCHAR(64) NOT NULL DEFAULT '',
SCALE VARCHAR(16) NOT NULL DEFAULT '', LENGTH_PRECISION INTEGER NOT NULL DEFAULT -1,
SCALE INTEGER NOT NULL DEFAULT -1,
IS_NOT_NULL SMALLINT NOT NULL DEFAULT -1,
DEFAULT_VALUE VARCHAR(64) NOT NULL DEFAULT '', DEFAULT_VALUE VARCHAR(64) NOT NULL DEFAULT '',
VALUE_RANGE VARCHAR(128) NOT NULL DEFAULT '', VALUE_RANGE VARCHAR(128) NOT NULL DEFAULT '',
ATTRIBUTE_GROUP_ID INTEGER NOT NULL DEFAULT -1,
IS_NOT_NULL INTEGER NOT NULL DEFAULT -1,
IS_INDEX INTEGER NOT NULL DEFAULT -1,
FOREIGN KEY (DATA_TYPE_ID) REFERENCES BASIC.DATA_TYPE (ID), FOREIGN KEY (DATA_TYPE) REFERENCES BASIC.DATA_TYPE (DATA_TYPE),
FOREIGN KEY (ATTRIBUTE_GROUP_ID) REFERENCES BASIC.ATTRIBUTE_GROUP (ID) FOREIGN KEY (ATTRIBUTE_GROUP) REFERENCES BASIC.ATTRIBUTE_GROUP (GROUP_TYPE)
); );
CREATE TABLE BASIC.MODEL_ATTRIBUTE ( CREATE TABLE BASIC.MODEL_ATTRIBUTE (
ID SERIAL PRIMARY KEY, ID SERIAL PRIMARY KEY,
MODEL_TYPE VARCHAR(64) NOT NULL DEFAULT '', MODEL_TYPE VARCHAR(64) NOT NULL DEFAULT '',
MODEL_NAME VARCHAR(64) NOT NULL DEFAULT '',
ATTRIBUTE_ID INTEGER NOT NULL DEFAULT -1, ATTRIBUTE_ID INTEGER NOT NULL DEFAULT -1,
REMARK VARCHAR(128) NOT NULL DEFAULT '',
FOREIGN KEY (ATTRIBUTE_ID) REFERENCES BASIC.ATTRIBUTE (ID) FOREIGN KEY (ATTRIBUTE_ID) REFERENCES BASIC.ATTRIBUTE (ID)
); );
@ -63,5 +63,5 @@ CREATE TABLE BASIC.MODEL_CONNECTIVITY (
ID SERIAL PRIMARY KEY, ID SERIAL PRIMARY KEY,
FROM_MODEL VARCHAR (64) NOT NULL DEFAULT '', FROM_MODEL VARCHAR (64) NOT NULL DEFAULT '',
TO_MODEL VARCHAR(64) NOT NULL DEFAULT '', TO_MODEL VARCHAR(64) NOT NULL DEFAULT '',
CONNECTIVITY INTEGER NOT NULL DEFAULT -1 CONNECTIVITY SMALLINT NOT NULL DEFAULT -1
); );

70
base_model/ddl_v2.sql Normal file
View File

@ -0,0 +1,70 @@
CREATE SCHEMA IF NOT EXISTS BASIC;
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,
UNIQUE (GROUP_TYPE)
);
CREATE TABLE BASIC.DATA_TYPE (
ID SERIAL PRIMARY KEY,
DATA_TYPE VARCHAR(64) NOT NULL DEFAULT '',
DATABASE_TYPE VARCHAR(32) NOT NULL DEFAULT '',
UNIQUE (DATA_TYPE)
);
CREATE TABLE BASIC.MODEL_TYPE (
ID SERIAL PRIMARY KEY,
MODEL_TYPE VARCHAR(64) NOT NULL DEFAULT '',
MODEL_NAME VARCHAR(64) NOT NULL DEFAULT '',
REMARK VARCHAR(128) NOT NULL DEFAULT '',
UNIQUE (MODEL_TYPE)
);
CREATE TABLE BASIC.ATTRIBUTE (
ID SERIAL PRIMARY KEY,
ATTRIBUTE_GROUP VARCHAR(64) NOT NULL DEFAULT '',
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,
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, 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)
);
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,
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)
);
CREATE TABLE BASIC.MODEL_CONNECTIVITY (
ID SERIAL PRIMARY KEY,
FROM_MODEL VARCHAR(64) NOT NULL DEFAULT '',
TO_MODEL VARCHAR(64) NOT NULL DEFAULT '',
CONNECTIVITY SMALLINT NOT NULL DEFAULT -1
);