From 061bdf06f46d51509eb9dc8c91fa4f1802b08f42 Mon Sep 17 00:00:00 2001 From: zhuxu Date: Fri, 23 May 2025 10:34:45 +0800 Subject: [PATCH] add and update --- base_model/ddl.sql | 32 +++++++++++++++++++------- model/ddl_0_component_type.sql | 6 +++-- model/ddl_0_measurement.sql | 10 -------- model/ddl_0_types.sql | 8 +++++++ model/{ddl_0_bay.sql => ddl_4_bay.sql} | 6 ++--- model/ddl_5_measurement.sql | 14 +++++++++++ 6 files changed, 53 insertions(+), 23 deletions(-) delete mode 100644 model/ddl_0_measurement.sql create mode 100644 model/ddl_0_types.sql rename model/{ddl_0_bay.sql => ddl_4_bay.sql} (55%) create mode 100644 model/ddl_5_measurement.sql diff --git a/base_model/ddl.sql b/base_model/ddl.sql index 248e0ec..d1d4d44 100644 --- a/base_model/ddl.sql +++ b/base_model/ddl.sql @@ -1,5 +1,27 @@ +-- base model in basic schema + CREATE SCHEMA IF NOT EXISTS BASIC; +---- drop all, then create all +-- DROP TABLE IF EXISTS BASIC.MODEL_CONNECTIVITY; +-- DROP TABLE IF EXISTS BASIC.ATTRIBUTE_TEMPLATE; +-- DROP TABLE IF EXISTS BASIC.MODEL_ATTRIBUTE_PUBLIC; +-- DROP TABLE IF EXISTS BASIC.MODEL_ATTRIBUTE; +-- DROP TABLE IF EXISTS BASIC.ATTRIBUTE; +-- DROP TABLE IF EXISTS BASIC.MODEL_GROUP; +-- DROP TABLE IF EXISTS BASIC.MODEL_TYPE; +-- DROP TABLE IF EXISTS BASIC.ATTRIBUTE_GROUP; +-- DROP TABLE IF EXISTS BASIC.DATA_TYPE; + + +CREATE TABLE BASIC.DATA_TYPE ( + ID BIGSERIAL PRIMARY KEY, + DATA_TYPE VARCHAR(64) NOT NULL DEFAULT '', + DATABASE_TYPE VARCHAR(32) NOT NULL DEFAULT '', + + UNIQUE (DATA_TYPE) +); + CREATE TABLE BASIC.ATTRIBUTE_GROUP ( ID BIGSERIAL PRIMARY KEY, GROUP_TYPE VARCHAR(64) NOT NULL DEFAULT '', @@ -10,18 +32,12 @@ CREATE TABLE BASIC.ATTRIBUTE_GROUP ( UNIQUE (GROUP_TYPE) ); -CREATE TABLE BASIC.DATA_TYPE ( - ID BIGSERIAL 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 BIGSERIAL PRIMARY KEY, MODEL_TYPE VARCHAR(64) NOT NULL DEFAULT '', MODEL_NAME VARCHAR(64) NOT NULL DEFAULT '', + GRAPHIC_ELEMENT VARCHAR(64) NOT NULL DEFAULT '', -- 图元类型 + ICON BYTEA NOT NULL, -- 默认图标 REMARK VARCHAR(128) NOT NULL DEFAULT '', UNIQUE (MODEL_TYPE) diff --git a/model/ddl_0_component_type.sql b/model/ddl_0_component_type.sql index 0192f5b..fe03017 100644 --- a/model/ddl_0_component_type.sql +++ b/model/ddl_0_component_type.sql @@ -1,9 +1,11 @@ -- standard component type -DROP TABLE IF EXISTS PUBLIC.COMPONENT_TYPE; +-- DROP TABLE IF EXISTS PUBLIC.COMPONENT_TYPE; CREATE TABLE PUBLIC.COMPONENT_TYPE ( ID SERIAL PRIMARY KEY, TYPE VARCHAR(64) NOT NULL DEFAULT '', - NAME VARCHAR(64) NOT NULL DEFAULT '' + NAME VARCHAR(64) NOT NULL DEFAULT '', + + UNIQUE (TYPE) ); \ No newline at end of file diff --git a/model/ddl_0_measurement.sql b/model/ddl_0_measurement.sql deleted file mode 100644 index 5d027ce..0000000 --- a/model/ddl_0_measurement.sql +++ /dev/null @@ -1,10 +0,0 @@ --- measurement of bay - -DROP TABLE IF EXISTS PUBLIC.MEASUREMENT; - -CREATE TABLE PUBLIC.MEASUREMENT ( - ID SERIAL PRIMARY KEY, - TAG VARCHAR(64) NOT NULL DEFAULT '', - NAME VARCHAR(64) NOT NULL DEFAULT '', - BAY_ID INTEGER NOT NULL DEFAULT -1 -); \ No newline at end of file diff --git a/model/ddl_0_types.sql b/model/ddl_0_types.sql new file mode 100644 index 0000000..711d031 --- /dev/null +++ b/model/ddl_0_types.sql @@ -0,0 +1,8 @@ +-- user-defined types + +-- DROP TYPE IF EXISTS public.polar_coordinates; +---- insert into basic.data_type first +CREATE TYPE PUBLIC.POLAR_COORDINATES AS ( + MAGNITUDE DOUBLE PRECISION, + PHASE DOUBLE PRECISION +); \ No newline at end of file diff --git a/model/ddl_0_bay.sql b/model/ddl_4_bay.sql similarity index 55% rename from model/ddl_0_bay.sql rename to model/ddl_4_bay.sql index d318750..465e2fc 100644 --- a/model/ddl_0_bay.sql +++ b/model/ddl_4_bay.sql @@ -1,11 +1,11 @@ -- basic information of bay -DROP TABLE IF EXISTS PUBLIC.BAY; +-- DROP TABLE IF EXISTS PUBLIC.BAY; CREATE TABLE PUBLIC.BAY ( ID SERIAL PRIMARY KEY, NAME VARCHAR(64) NOT NULL DEFAULT '', TYPE VARCHAR(64) NOT NULL DEFAULT '', - FROM_NODE JSONB NOT NULL DEFAULT '{}', - TO_NODE JSONB NOT NULL DEFAULT '{}' + FROM_NODE JSONB NOT NULL DEFAULT '[]', -- uuids + TO_NODE JSONB NOT NULL DEFAULT '[]' -- uuids ); \ No newline at end of file diff --git a/model/ddl_5_measurement.sql b/model/ddl_5_measurement.sql new file mode 100644 index 0000000..9bdca3a --- /dev/null +++ b/model/ddl_5_measurement.sql @@ -0,0 +1,14 @@ +-- measurement of component in bay + +-- DROP TABLE IF EXISTS PUBLIC.MEASUREMENT; + +CREATE TABLE PUBLIC.MEASUREMENT ( + ID SERIAL PRIMARY KEY, + TAG VARCHAR(64) NOT NULL DEFAULT '', + NAME VARCHAR(64) NOT NULL DEFAULT '', + TYPE SMALLINT NOT NULL DEFAULT -1, + DATA_SOURCE JSONB NOT NULL DEFAULT '{}', -- {'type':,'main_pos':'','sub_pos':''} + SIZE INTEGER NOT NULL DEFAULT -1, + BAY_ID INTEGER NOT NULL DEFAULT -1, + COMPONENT_ID INTEGER NOT NULL DEFAULT -1 +); \ No newline at end of file