-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcreate_db.sql
52 lines (45 loc) · 1.33 KB
/
create_db.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
CREATE SCHEMA mapisto;
SET search_path TO mapisto;
CREATE TABLE states(
state_id SERIAL PRIMARY KEY,
validity_start TIMESTAMP NOT NULL,
validity_end TIMESTAMP NOT NULL
);
CREATE TABLE state_names(
name VARCHAR(255),
state_id INTEGER REFERENCES states(state_id) ON DELETE CASCADE,
validity_start TIMESTAMP NOT NULL,
validity_end TIMESTAMP NOT NULL,
color VARCHAR(7)
);
CREATE TABLE territories(
territory_id SERIAL PRIMARY KEY,
validity_start TIMESTAMP NOT NULL,
validity_end TIMESTAMP NOT NULL,
min_x REAL NOT NULL,
max_x REAL NOT NULL,
min_y REAL NOT NULL,
max_y REAL NOT NULL,
name VARCHAR(255),
color VARCHAR(7),
state_id INTEGER REFERENCES states(state_id) ON DELETE CASCADE
);
CREATE TABLE territories_shapes(
d_path TEXT NOT NULL,
precision_in_km NUMERIC(6, 1) NOT NULL,
territory_id INTEGER REFERENCES territories(territory_id) ON DELETE CASCADE,
PRIMARY KEY (precision_in_km, territory_id)
);
CREATE TABLE lands(
land_id SERIAL PRIMARY KEY,
min_x REAL NOT NULL,
max_x REAL NOT NULL,
min_y REAL NOT NULL,
max_y REAL NOT NULL
);
CREATE TABLE lands_shapes(
d_path TEXT NOT NULL,
precision_in_km NUMERIC(6,1) NOT NULL,
land_id INTEGER REFERENCES lands(land_id) ON DELETE CASCADE,
PRIMARY KEY (precision_in_km, land_id)
);