Seperate inserts and creates in sql files
This commit is contained in:
138
sql/base.sql
138
sql/base.sql
@ -1,142 +1,4 @@
|
|||||||
|
|
||||||
CREATE TABLE country (
|
|
||||||
alpha2 TEXT NOT NULL CHECK(LENGTH(alpha2) = 2),
|
|
||||||
alpha3 TEXT NOT NULL CHECK(LENGTH(alpha3) = 3),
|
|
||||||
num INTEGER NOT NULL CHECK(num >= 0),
|
|
||||||
name TEXT NOT NULL,
|
|
||||||
|
|
||||||
is_visible INTEGER NOT NULL CHECK(is_visible = TRUE OR is_visible = FALSE) DEFAULT TRUE,
|
|
||||||
|
|
||||||
CONSTRAINT pk_country PRIMARY KEY (alpha2),
|
|
||||||
CONSTRAINT sk_country_alpha3 UNIQUE (alpha3),
|
|
||||||
CONSTRAINT sk_country_numeric UNIQUE (num),
|
|
||||||
CONSTRAINT sk_country_name UNIQUE (name)
|
|
||||||
) STRICT;
|
|
||||||
|
|
||||||
CREATE TABLE currency (
|
|
||||||
code TEXT NOT NULL CHECK(LENGTH(code) = 3),
|
|
||||||
name TEXT NOT NULL,
|
|
||||||
symbol TEXT,
|
|
||||||
|
|
||||||
one_euro INTEGER,
|
|
||||||
|
|
||||||
CONSTRAINT pk_currency PRIMARY KEY (code)
|
|
||||||
) STRICT;
|
|
||||||
|
|
||||||
CREATE TABLE wine_variety (
|
|
||||||
code TEXT NOT NULL CHECK(LENGTH(code) = 2),
|
|
||||||
type TEXT NOT NULL CHECK(type IN ('R', 'W')),
|
|
||||||
name TEXT NOT NULL,
|
|
||||||
comment TEXT,
|
|
||||||
|
|
||||||
CONSTRAINT pk_wine_variety PRIMARY KEY (code)
|
|
||||||
) STRICT;
|
|
||||||
|
|
||||||
CREATE TABLE AT_bundesland (
|
|
||||||
id INTEGER NOT NULL CHECK(id >= 0),
|
|
||||||
short1 TEXT NOT NULL,
|
|
||||||
short2 TEXT,
|
|
||||||
name TEXT NOT NULL,
|
|
||||||
|
|
||||||
CONSTRAINT pk_AT_bundesland PRIMARY KEY (id),
|
|
||||||
CONSTRAINT sk_AT_bundesland_short1 UNIQUE (short1),
|
|
||||||
CONSTRAINT sk_AT_bundesland_short2 UNIQUE (short2),
|
|
||||||
CONSTRAINT sk_AT_bundesland_name UNIQUE (name)
|
|
||||||
) STRICT;
|
|
||||||
|
|
||||||
CREATE TABLE AT_gemeinde (
|
|
||||||
gkz INTEGER NOT NULL CHECK(gkz >= 10000 AND gkz <= 99999),
|
|
||||||
land_id INTEGER NOT NULL CHECK(land_id = gkz / 10000),
|
|
||||||
name TEXT NOT NULL,
|
|
||||||
|
|
||||||
CONSTRAINT pk_AT_gemeinde PRIMARY KEY (gkz),
|
|
||||||
CONSTRAINT fk_AT_gemeinde_AT_bundesland FOREIGN KEY (land_id) REFERENCES AT_bundesland (id)
|
|
||||||
ON UPDATE CASCADE
|
|
||||||
ON DELETE RESTRICT
|
|
||||||
) STRICT;
|
|
||||||
|
|
||||||
CREATE TABLE AT_ort (
|
|
||||||
okz INTEGER NOT NULL CHECK(okz > 0),
|
|
||||||
gkz INTEGER NOT NULL,
|
|
||||||
name TEXT NOT NULL,
|
|
||||||
|
|
||||||
CONSTRAINT pk_AT_ort PRIMARY KEY (okz),
|
|
||||||
CONSTRAINT fk_AT_ort_AT_gemeinde FOREIGN KEY (gkz) REFERENCES AT_gemeinde (gkz)
|
|
||||||
ON UPDATE CASCADE
|
|
||||||
ON DELETE RESTRICT
|
|
||||||
) STRICT;
|
|
||||||
|
|
||||||
CREATE TABLE AT_plz (
|
|
||||||
plz INTEGER NOT NULL CHECK(plz >= 1000 AND plz <= 9999),
|
|
||||||
okz INTEGER NOT NULL,
|
|
||||||
id INTEGER NOT NULL CHECK(id = plz * 100000 + okz),
|
|
||||||
name TEXT NOT NULL,
|
|
||||||
|
|
||||||
CONSTRAINT pk_AT_plz PRIMARY KEY (plz, okz),
|
|
||||||
CONSTRAINT sk_AT_plz_id UNIQUE (id),
|
|
||||||
CONSTRAINT fk_AT_plz_AT_ort FOREIGN KEY (okz) REFERENCES AT_ort (okz)
|
|
||||||
ON UPDATE CASCADE
|
|
||||||
ON DELETE RESTRICT
|
|
||||||
) STRICT;
|
|
||||||
|
|
||||||
CREATE TABLE origin (
|
|
||||||
id TEXT NOT NULL CHECK(LENGTH(id) = 4),
|
|
||||||
parent_id TEXT,
|
|
||||||
name TEXT NOT NULL,
|
|
||||||
|
|
||||||
land_id INTEGER,
|
|
||||||
|
|
||||||
CONSTRAINT pk_origin PRIMARY KEY (id),
|
|
||||||
CONSTRAINT sk_origin_name UNIQUE (name),
|
|
||||||
CONSTRAINT fk_origin_origin FOREIGN KEY (parent_id) REFERENCES origin (id)
|
|
||||||
ON UPDATE CASCADE
|
|
||||||
ON DELETE RESTRICT,
|
|
||||||
CONSTRAINT fk_origin_AT_bundesland FOREIGN KEY (land_id) REFERENCES AT_bundesland (id)
|
|
||||||
ON UPDATE CASCADE
|
|
||||||
ON DELETE RESTRICT
|
|
||||||
) STRICT;
|
|
||||||
|
|
||||||
-- Weinbauland
|
|
||||||
--CREATE TABLE wbl() STRICT;
|
|
||||||
|
|
||||||
-- Weinbauregion
|
|
||||||
--CREATE TABLE wbr() STRICT;
|
|
||||||
|
|
||||||
-- Generisches Weinbaugebiet
|
|
||||||
--CREATE TABLE wbgg() STRICT;
|
|
||||||
|
|
||||||
-- Spezifisches Weinbaugebeit
|
|
||||||
--CREATE TABLE wbgs() STRICT;
|
|
||||||
|
|
||||||
-- Großlage
|
|
||||||
CREATE TABLE wbgl (
|
|
||||||
id INTEGER NOT NULL,
|
|
||||||
|
|
||||||
CONSTRAINT pk_wbgl PRIMARY KEY (id)
|
|
||||||
) STRICT;
|
|
||||||
|
|
||||||
-- Weinbaugemeinde
|
|
||||||
CREATE TABLE wbgem (
|
|
||||||
id INTEGER NOT NULL,
|
|
||||||
|
|
||||||
CONSTRAINT pk_wbgem PRIMARY KEY (id)
|
|
||||||
) STRICT;
|
|
||||||
|
|
||||||
-- Weinbaukatastralgemeinde
|
|
||||||
CREATE TABLE wbkg (
|
|
||||||
id INTEGER NOT NULL,
|
|
||||||
|
|
||||||
CONSTRAINT pk_wbkg PRIMARY KEY (id)
|
|
||||||
) STRICT;
|
|
||||||
|
|
||||||
-- Ried
|
|
||||||
CREATE TABLE wbrd (
|
|
||||||
id INTEGER NOT NULL,
|
|
||||||
|
|
||||||
CONSTRAINT pk_wbrd PRIMARY KEY (id)
|
|
||||||
) STRICT;
|
|
||||||
|
|
||||||
|
|
||||||
INSERT INTO country VALUES
|
INSERT INTO country VALUES
|
||||||
('AT', 'AUT', 40, 'Österreich', TRUE),
|
('AT', 'AUT', 40, 'Österreich', TRUE),
|
||||||
('DE', 'DEU', 276, 'Deutschland', FALSE),
|
('DE', 'DEU', 276, 'Deutschland', FALSE),
|
||||||
|
137
sql/create.sql
Normal file
137
sql/create.sql
Normal file
@ -0,0 +1,137 @@
|
|||||||
|
|
||||||
|
CREATE TABLE country (
|
||||||
|
alpha2 TEXT NOT NULL CHECK(LENGTH(alpha2) = 2),
|
||||||
|
alpha3 TEXT NOT NULL CHECK(LENGTH(alpha3) = 3),
|
||||||
|
num INTEGER NOT NULL CHECK(num >= 0),
|
||||||
|
name TEXT NOT NULL,
|
||||||
|
|
||||||
|
is_visible INTEGER NOT NULL CHECK(is_visible = TRUE OR is_visible = FALSE) DEFAULT TRUE,
|
||||||
|
|
||||||
|
CONSTRAINT pk_country PRIMARY KEY (alpha2),
|
||||||
|
CONSTRAINT sk_country_alpha3 UNIQUE (alpha3),
|
||||||
|
CONSTRAINT sk_country_numeric UNIQUE (num),
|
||||||
|
CONSTRAINT sk_country_name UNIQUE (name)
|
||||||
|
) STRICT;
|
||||||
|
|
||||||
|
CREATE TABLE currency (
|
||||||
|
code TEXT NOT NULL CHECK(LENGTH(code) = 3),
|
||||||
|
name TEXT NOT NULL,
|
||||||
|
symbol TEXT,
|
||||||
|
|
||||||
|
one_euro INTEGER,
|
||||||
|
|
||||||
|
CONSTRAINT pk_currency PRIMARY KEY (code)
|
||||||
|
) STRICT;
|
||||||
|
|
||||||
|
CREATE TABLE wine_variety (
|
||||||
|
code TEXT NOT NULL CHECK(LENGTH(code) = 2),
|
||||||
|
type TEXT NOT NULL CHECK(type IN ('R', 'W')),
|
||||||
|
name TEXT NOT NULL,
|
||||||
|
comment TEXT,
|
||||||
|
|
||||||
|
CONSTRAINT pk_wine_variety PRIMARY KEY (code)
|
||||||
|
) STRICT;
|
||||||
|
|
||||||
|
CREATE TABLE AT_bundesland (
|
||||||
|
id INTEGER NOT NULL CHECK(id >= 0),
|
||||||
|
short1 TEXT NOT NULL,
|
||||||
|
short2 TEXT,
|
||||||
|
name TEXT NOT NULL,
|
||||||
|
|
||||||
|
CONSTRAINT pk_AT_bundesland PRIMARY KEY (id),
|
||||||
|
CONSTRAINT sk_AT_bundesland_short1 UNIQUE (short1),
|
||||||
|
CONSTRAINT sk_AT_bundesland_short2 UNIQUE (short2),
|
||||||
|
CONSTRAINT sk_AT_bundesland_name UNIQUE (name)
|
||||||
|
) STRICT;
|
||||||
|
|
||||||
|
CREATE TABLE AT_gemeinde (
|
||||||
|
gkz INTEGER NOT NULL CHECK(gkz >= 10000 AND gkz <= 99999),
|
||||||
|
land_id INTEGER NOT NULL CHECK(land_id = gkz / 10000),
|
||||||
|
name TEXT NOT NULL,
|
||||||
|
|
||||||
|
CONSTRAINT pk_AT_gemeinde PRIMARY KEY (gkz),
|
||||||
|
CONSTRAINT fk_AT_gemeinde_AT_bundesland FOREIGN KEY (land_id) REFERENCES AT_bundesland (id)
|
||||||
|
ON UPDATE CASCADE
|
||||||
|
ON DELETE RESTRICT
|
||||||
|
) STRICT;
|
||||||
|
|
||||||
|
CREATE TABLE AT_ort (
|
||||||
|
okz INTEGER NOT NULL CHECK(okz > 0),
|
||||||
|
gkz INTEGER NOT NULL,
|
||||||
|
name TEXT NOT NULL,
|
||||||
|
|
||||||
|
CONSTRAINT pk_AT_ort PRIMARY KEY (okz),
|
||||||
|
CONSTRAINT fk_AT_ort_AT_gemeinde FOREIGN KEY (gkz) REFERENCES AT_gemeinde (gkz)
|
||||||
|
ON UPDATE CASCADE
|
||||||
|
ON DELETE RESTRICT
|
||||||
|
) STRICT;
|
||||||
|
|
||||||
|
CREATE TABLE AT_plz (
|
||||||
|
plz INTEGER NOT NULL CHECK(plz >= 1000 AND plz <= 9999),
|
||||||
|
okz INTEGER NOT NULL,
|
||||||
|
id INTEGER NOT NULL CHECK(id = plz * 100000 + okz),
|
||||||
|
name TEXT NOT NULL,
|
||||||
|
|
||||||
|
CONSTRAINT pk_AT_plz PRIMARY KEY (plz, okz),
|
||||||
|
CONSTRAINT sk_AT_plz_id UNIQUE (id),
|
||||||
|
CONSTRAINT fk_AT_plz_AT_ort FOREIGN KEY (okz) REFERENCES AT_ort (okz)
|
||||||
|
ON UPDATE CASCADE
|
||||||
|
ON DELETE RESTRICT
|
||||||
|
) STRICT;
|
||||||
|
|
||||||
|
CREATE TABLE origin (
|
||||||
|
code TEXT NOT NULL CHECK(LENGTH(code) = 4),
|
||||||
|
parent_code TEXT,
|
||||||
|
name TEXT NOT NULL,
|
||||||
|
|
||||||
|
land_id INTEGER,
|
||||||
|
|
||||||
|
CONSTRAINT pk_origin PRIMARY KEY (code),
|
||||||
|
CONSTRAINT sk_origin_name UNIQUE (name),
|
||||||
|
CONSTRAINT fk_origin_origin FOREIGN KEY (parent_code) REFERENCES origin (code)
|
||||||
|
ON UPDATE CASCADE
|
||||||
|
ON DELETE RESTRICT,
|
||||||
|
CONSTRAINT fk_origin_AT_bundesland FOREIGN KEY (land_id) REFERENCES AT_bundesland (id)
|
||||||
|
ON UPDATE CASCADE
|
||||||
|
ON DELETE RESTRICT
|
||||||
|
) STRICT;
|
||||||
|
|
||||||
|
-- Weinbauland
|
||||||
|
--CREATE TABLE wbl() STRICT;
|
||||||
|
|
||||||
|
-- Weinbauregion
|
||||||
|
--CREATE TABLE wbr() STRICT;
|
||||||
|
|
||||||
|
-- Generisches Weinbaugebiet
|
||||||
|
--CREATE TABLE wbgg() STRICT;
|
||||||
|
|
||||||
|
-- Spezifisches Weinbaugebeit
|
||||||
|
--CREATE TABLE wbgs() STRICT;
|
||||||
|
|
||||||
|
-- Großlage
|
||||||
|
CREATE TABLE wbgl (
|
||||||
|
id INTEGER NOT NULL,
|
||||||
|
|
||||||
|
CONSTRAINT pk_wbgl PRIMARY KEY (id)
|
||||||
|
) STRICT;
|
||||||
|
|
||||||
|
-- Weinbaugemeinde
|
||||||
|
CREATE TABLE wbgem (
|
||||||
|
id INTEGER NOT NULL,
|
||||||
|
|
||||||
|
CONSTRAINT pk_wbgem PRIMARY KEY (id)
|
||||||
|
) STRICT;
|
||||||
|
|
||||||
|
-- Weinbaukatastralgemeinde
|
||||||
|
CREATE TABLE wbkg (
|
||||||
|
id INTEGER NOT NULL,
|
||||||
|
|
||||||
|
CONSTRAINT pk_wbkg PRIMARY KEY (id)
|
||||||
|
) STRICT;
|
||||||
|
|
||||||
|
-- Ried
|
||||||
|
CREATE TABLE wbrd (
|
||||||
|
id INTEGER NOT NULL,
|
||||||
|
|
||||||
|
CONSTRAINT pk_wbrd PRIMARY KEY (id)
|
||||||
|
) STRICT;
|
Reference in New Issue
Block a user