Clean repo

This commit is contained in:
wqy
2022-08-27 11:54:33 +08:00
parent ad60cf262e
commit 690e924dfd
73 changed files with 0 additions and 41 deletions

View File

@@ -0,0 +1,6 @@
-- [TITLE]
CREATE TABLE TITLE
(
Value TEXT
);

View File

@@ -0,0 +1,29 @@
-- [STATUS]
CREATE TYPE STATUS_PIPE_PUMP_STATUS AS ENUM ('OPEN', 'CLOSED');
CREATE TABLE STATUS_PIPE
(
ID VARCHAR(32) PRIMARY KEY REFERENCES PIPES(ID)
, Status STATUS_PIPE_PUMP_STATUS NOT NULL
);
CREATE TABLE STATUS_PUMP
(
ID VARCHAR(32) PRIMARY KEY REFERENCES PUMPS(ID)
, Status STATUS_PIPE_PUMP_STATUS NOT NULL
);
CREATE TYPE STATUS_VALVE_STATUS AS ENUM ('OPEN', 'CLOSED', 'ACTIVE');
CREATE TABLE STATUS_VALVE
(
ID VARCHAR(32) PRIMARY KEY REFERENCES VALVES(ID)
, Status STATUS_VALVE_STATUS NOT NULL
);
CREATE TABLE STATUS_LINK
(
ID VARCHAR(32) PRIMARY KEY REFERENCES _LINK(ID)
, Setting NUMERIC NOT NULL
);

View File

@@ -0,0 +1,7 @@
-- [PATTERNS]
CREATE TABLE PATTERNS
(
ID VARCHAR(32) REFERENCES _PATTERN(ID) NOT NULL
, Multipliers NUMERIC NOT NULL
);

View File

@@ -0,0 +1,8 @@
-- [CURVES]
CREATE TABLE CURVES
(
ID VARCHAR(32) REFERENCES _CURVE(ID) NOT NULL
, X NUMERIC NOT NULL
, Y NUMERIC NOT NULL
);

View File

@@ -0,0 +1,30 @@
-- [CONTROLS]
CREATE TYPE CONTROLS_1_PREP AS ENUM ('ABOVE', 'BELOW');
-- LINK linkID status IF NODE nodeID ABOVE / BELOW value
CREATE TABLE CONTROLS_1
(
LinkID VARCHAR(32) PRIMARY KEY REFERENCES _LINK(ID)
, Status TEXT NOT NULL -- OPEN / CLOSED, a pump speed setting, or a control valve setting
, NodeID VARCHAR(32) REFERENCES _NODE(ID) NOT NULL
, Prep CONTROLS_1_PREP NOT NULL
, Value NUMERIC NOT NULL
);
-- LINK linkID status AT TIME time
CREATE TABLE CONTROLS_2
(
LinkID VARCHAR(32) PRIMARY KEY REFERENCES _LINK(ID)
, Status TEXT NOT NULL -- OPEN / CLOSED, a pump speed setting, or a control valve setting
, Time INTERVAL HOUR
);
-- LINK linkID status AT CLOCKTIME clocktime AM / PM
CREATE TABLE CONTROLS_3
(
LinkID VARCHAR(32) PRIMARY KEY REFERENCES _LINK(ID)
, Status TEXT NOT NULL -- OPEN / CLOSED, a pump speed setting, or a control valve setting
, ClockTimeHour INTERVAL HOUR -- get AM/PM from it
, ClockTimeMin INTERVAL MINUTE
);

View File

@@ -0,0 +1,6 @@
-- [RULES]
CREATE TABLE RULES
(
Content TEXT PRIMARY KEY
);

View File

@@ -0,0 +1,24 @@
-- [ENERGY]
CREATE TYPE ENERGY_PARAM AS ENUM ('PRICE', 'PATTERN', 'EFFIC');
-- GLOBAL PRICE / PATTERN / EFFIC value
CREATE TABLE ENERGY_GLOBAL
(
Param ENERGY_PARAM NOT NULL
, Value NUMERIC NOT NULL
);
-- PUMP pumpID PRICE / PATTERN / EFFIC value
CREATE TABLE ENERGY_PUMP
(
ID VARCHAR(32) REFERENCES PUMPS(ID) NOT NULL
, Param ENERGY_PARAM NOT NULL
, Value NUMERIC NOT NULL
);
-- DEMAND CHARGE value
CREATE TABLE ENERGY_DEMAND_CHARGE
(
Value NUMERIC NOT NULL
);

View File

@@ -0,0 +1,7 @@
-- [EMITTERS]
CREATE TABLE EMITTERS
(
Junction VARCHAR(32) PRIMARY KEY REFERENCES JUNCTIONS(ID)
, Coefficient NUMERIC NOT NULL
);

View File

@@ -0,0 +1,7 @@
-- [QUALITY]
CREATE TABLE QUALITY
(
Node VARCHAR(32) PRIMARY KEY REFERENCES _NODE(ID)
, InitialQual NUMERIC NOT NULL
);

View File

@@ -0,0 +1,11 @@
-- [SOURCES]
CREATE TYPE SOURCES_TYPE AS ENUM ('CONCEN', 'MASS', 'FLOWPACED', 'SETPOINT');
CREATE TABLE SOURCES
(
Node VARCHAR(32) PRIMARY KEY REFERENCES _NODE(ID)
, Type SOURCES_TYPE NOT NULL
, Strength NUMERIC NOT NULL
, TimePattern VARCHAR(32) REFERENCES _PATTERN(ID)
);

View File

@@ -0,0 +1,42 @@
-- [REACTIONS]
CREATE TYPE REACTIONS_ORDER_PARAM AS ENUM ('BULK', 'WALL', 'TANK');
CREATE TABLE REACTIONS_ORDER
(
Key REACTIONS_ORDER_PARAM NOT NULL
, Value NUMERIC NOT NULL
);
CREATE TYPE REACTIONS_GLOBAL_PARAM AS ENUM ('BULK', 'WALL');
CREATE TABLE REACTIONS_GLOBAL
(
Key REACTIONS_GLOBAL_PARAM NOT NULL
, Value NUMERIC NOT NULL
);
CREATE TYPE REACTIONS_PIPE_PARAM AS ENUM ('BULK', 'WALL');
CREATE TABLE REACTIONS_PIPE
(
Key REACTIONS_PIPE_PARAM NOT NULL
, Pipe VARCHAR(32) REFERENCES PIPES(ID) NOT NULL
, Value NUMERIC NOT NULL
);
CREATE TABLE REACTIONS_TANK
(
Tank VARCHAR(32) REFERENCES TANKS(ID) NOT NULL
, Value NUMERIC NOT NULL
);
CREATE TABLE REACTIONS_LIMITING_POTENTIAL
(
Value NUMERIC NOT NULL
);
CREATE TABLE REACTIONS_ROUGHNESS_CORRELATION
(
Value NUMERIC NOT NULL
);

View File

@@ -0,0 +1,9 @@
-- [JUNCTIONS]
CREATE TABLE JUNCTIONS
(
ID VARCHAR(32) PRIMARY KEY REFERENCES _NODE(ID)
, Elevation NUMERIC NOT NULL
, Demand NUMERIC
, Pattern VARCHAR(32) REFERENCES _PATTERN(ID)
);

View File

@@ -0,0 +1,10 @@
-- [MIXING]
CREATE TYPE MIXING_Model AS ENUM ('MIXED', '2COMP', 'FIFO', 'LIFO');
CREATE TABLE MIXING
(
Tank VARCHAR(32) PRIMARY KEY REFERENCES TANKS(ID)
, Model MIXING_Model NOT NULL
, Value NUMERIC
);

View File

@@ -0,0 +1,9 @@
-- [TIMES]
-- TODO: constraint
CREATE TABLE TIMES
(
Key TEXT NOT NULL
, Value TEXT NOT NULL
);

View File

@@ -0,0 +1,9 @@
-- [REPORT]
-- TODO: constraint
CREATE TABLE REPORT
(
Key TEXT NOT NULL
, Value TEXT NOT NULL
);

View File

@@ -0,0 +1,9 @@
-- [OPTIONS]
-- TODO: constraint
CREATE TABLE OPTIONS
(
Key TEXT NOT NULL
, Value TEXT NOT NULL
);

View File

@@ -0,0 +1,10 @@
-- [COORDINATES]
CREATE TABLE COORDINATES
(
Node VARCHAR(32) PRIMARY KEY REFERENCES _NODE(ID)
, Coord POINT NOT NULL DEFAULT(POINT(0.0, 0.0))
);
CREATE INDEX COORDINATES_SPGIST ON COORDINATES USING SPGIST(Coord);
CREATE INDEX COORDINATES_GIST ON COORDINATES USING GIST(Coord);

View File

@@ -0,0 +1,8 @@
-- [VERTICES]
CREATE TABLE VERTICES
(
Link VARCHAR(32) REFERENCES _LINK(ID) NOT NULL
, X NUMERIC NOT NULL
, Y NUMERIC NOT NULL
);

View File

@@ -0,0 +1,9 @@
-- [LABELS]
CREATE TABLE LABELS
(
X NUMERIC NOT NULL
, Y NUMERIC NOT NULL
, Label TEXT NOT NULL
, AnchorNode VARCHAR(32) REFERENCES _NODE(ID)
);

View File

@@ -0,0 +1,6 @@
-- [BACKDROP]
CREATE TABLE BACKDROP
(
Content TEXT PRIMARY KEY
);

View File

@@ -0,0 +1 @@
-- [END]

View File

@@ -0,0 +1,8 @@
-- [RESERVOIRS]
CREATE TABLE RESERVOIRS
(
ID VARCHAR(32) PRIMARY KEY REFERENCES _NODE(ID)
, Head NUMERIC NOT NULL
, Pattern VARCHAR(32) REFERENCES _PATTERN(ID)
);

View File

@@ -0,0 +1,16 @@
-- [TANKS]
CREATE TYPE TANKS_OVERFLOW AS ENUM ('YES', 'NO');
CREATE TABLE TANKS
(
ID VARCHAR(32) PRIMARY KEY REFERENCES _NODE(ID)
, Elevation NUMERIC NOT NULL
, InitLevel NUMERIC NOT NULL
, MinLevel NUMERIC NOT NULL
, MaxLevel NUMERIC NOT NULL
, Diameter NUMERIC NOT NULL
, MinVol NUMERIC NOT NULL
, VolCurve VARCHAR(32) REFERENCES _CURVE(ID)
, Overflow TANKS_OVERFLOW
);

View File

@@ -0,0 +1,15 @@
-- [PIPES]
CREATE TYPE PIPES_STATUS AS ENUM ('OPEN', 'CLOSED', 'CV');
CREATE TABLE PIPES
(
ID VARCHAR(32) PRIMARY KEY REFERENCES _LINK(ID)
, Node1 VARCHAR(32) REFERENCES _NODE(ID) NOT NULL
, Node2 VARCHAR(32) REFERENCES _NODE(ID) NOT NULL
, Length NUMERIC NOT NULL
, Diameter NUMERIC NOT NULL
, Roughness NUMERIC NOT NULL
, MinorLoss NUMERIC NOT NULL
, Status PIPES_STATUS NOT NULL
);

View File

@@ -0,0 +1,32 @@
-- [PUMPS]
CREATE TABLE PUMPS
(
ID VARCHAR(32) PRIMARY KEY REFERENCES _LINK(ID)
, Node1 VARCHAR(32) REFERENCES _NODE(ID) NOT NULL
, Node2 VARCHAR(32) REFERENCES _NODE(ID) NOT NULL
);
CREATE TABLE PUMPS_PROPERTY_POWER
(
ID VARCHAR PRIMARY KEY REFERENCES PUMPS(ID)
, Value VARCHAR(32) NOT NULL
);
CREATE TABLE PUMPS_PROPERTY_SPEED
(
ID VARCHAR PRIMARY KEY REFERENCES PUMPS(ID)
, Value VARCHAR(32) NOT NULL
);
CREATE TABLE PUMPS_PROPERTY_HEAD
(
ID VARCHAR PRIMARY KEY REFERENCES PUMPS(ID)
, Head VARCHAR(32) REFERENCES _CURVE(ID) NOT NULL
);
CREATE TABLE PUMPS_PROPERTY_PATTERN
(
ID VARCHAR PRIMARY KEY REFERENCES PUMPS(ID)
, Pattern VARCHAR(32) REFERENCES _PATTERN(ID) NOT NULL
);

View File

@@ -0,0 +1,14 @@
-- [VALVES]
CREATE TYPE VALVES_TYPE AS ENUM ('PRV', 'PSV', 'PBV', 'FCV', 'TCV', 'GPV');
CREATE TABLE VALVES
(
ID VARCHAR(32) PRIMARY KEY REFERENCES _LINK(ID)
, Node1 VARCHAR(32) REFERENCES _NODE(ID) NOT NULL
, Node2 VARCHAR(32) REFERENCES _NODE(ID) NOT NULL
, Diameter NUMERIC NOT NULL
, Type VALVES_TYPE NOT NULL
, Setting NUMERIC NOT NULL
, MinorLoss NUMERIC NOT NULL
);

View File

@@ -0,0 +1,13 @@
-- [TAGS]
CREATE TABLE TAGS_NODE
(
ID VARCHAR(32) PRIMARY KEY REFERENCES _NODE(ID)
, Tag TEXT NOT NULL
);
CREATE TABLE TAGS_LINK
(
ID VARCHAR(32) PRIMARY KEY REFERENCES _LINK(ID)
, Tag TEXT NOT NULL
);

View File

@@ -0,0 +1,9 @@
-- [DEMANDS]
CREATE TABLE DEMANDS
(
Junction VARCHAR(32) REFERENCES JUNCTIONS(ID) NOT NULL
, Demand NUMERIC NOT NULL
, Pattern VARCHAR(32) REFERENCES _PATTERN(ID)
, Category TEXT NOT NULL
);