dbSchema/base_model/ddl.sql

68 lines
2.0 KiB
MySQL
Raw Normal View History

2025-03-05 11:15:30 +08:00
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.ATTRIBUTE (
ID SERIAL PRIMARY KEY,
2025-03-06 20:10:53 +08:00
ATTRIBUTE_GROUP VARCHAR(64) NOT NULL DEFAULT '',
2025-03-05 11:15:30 +08:00
ATTRIBUTE VARCHAR(128) NOT NULL DEFAULT '',
2025-03-06 20:10:53 +08:00
DATA_TYPE VARCHAR(64) NOT NULL DEFAULT '',
2025-03-05 11:15:30 +08:00
LENGTH_PRECISION INTEGER NOT NULL DEFAULT -1,
SCALE INTEGER NOT NULL DEFAULT -1,
2025-03-06 20:10:53 +08:00
IS_NOT_NULL SMALLINT NOT NULL DEFAULT -1,
2025-03-05 11:15:30 +08:00
DEFAULT_VALUE VARCHAR(64) NOT NULL DEFAULT '',
2025-03-06 20:10:53 +08:00
VALUE_RANGE VARCHAR(128) NOT NULL DEFAULT ',',
2025-03-05 11:15:30 +08:00
UNIQUE(ATTRIBUTE),
2025-03-06 20:10:53 +08:00
FOREIGN KEY (DATA_TYPE) REFERENCES BASIC.DATA_TYPE (DATA_TYPE),
FOREIGN KEY (ATTRIBUTE_GROUP) REFERENCES BASIC.ATTRIBUTE_GROUP (GROUP_TYPE)
2025-03-05 11:15:30 +08:00
);
CREATE TABLE BASIC.ATTRIBUTE_TEMPLATE (
ID SERIAL PRIMARY KEY,
TEMPLATE_NAME VARCHAR(64) NOT NULL DEFAULT '',
2025-03-06 20:10:53 +08:00
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,
2025-03-05 11:15:30 +08:00
DEFAULT_VALUE VARCHAR(64) NOT NULL DEFAULT '',
VALUE_RANGE VARCHAR(128) NOT NULL DEFAULT '',
2025-03-06 20:10:53 +08:00
FOREIGN KEY (DATA_TYPE) REFERENCES BASIC.DATA_TYPE (DATA_TYPE),
FOREIGN KEY (ATTRIBUTE_GROUP) REFERENCES BASIC.ATTRIBUTE_GROUP (GROUP_TYPE)
2025-03-05 11:15:30 +08:00
);
CREATE TABLE BASIC.MODEL_ATTRIBUTE (
ID SERIAL PRIMARY KEY,
MODEL_TYPE VARCHAR(64) NOT NULL DEFAULT '',
2025-03-06 20:10:53 +08:00
MODEL_NAME VARCHAR(64) NOT NULL DEFAULT '',
2025-03-05 11:15:30 +08:00
ATTRIBUTE_ID INTEGER NOT NULL DEFAULT -1,
2025-03-06 20:10:53 +08:00
REMARK VARCHAR(128) NOT NULL DEFAULT '',
2025-03-05 11:15:30 +08:00
FOREIGN KEY (ATTRIBUTE_ID) REFERENCES BASIC.ATTRIBUTE (ID)
);
CREATE TABLE BASIC.MODEL_CONNECTIVITY (
ID SERIAL PRIMARY KEY,
FROM_MODEL VARCHAR (64) NOT NULL DEFAULT '',
TO_MODEL VARCHAR(64) NOT NULL DEFAULT '',
2025-03-06 20:10:53 +08:00
CONNECTIVITY SMALLINT NOT NULL DEFAULT -1
2025-03-05 11:15:30 +08:00
);