Update db schema, Weinbaugemeinden
This commit is contained in:
@ -5,3 +5,5 @@ INSERT INTO AT_plz VALUES
|
|||||||
(2134, 5115, 'Staaz-Kautendorf');
|
(2134, 5115, 'Staaz-Kautendorf');
|
||||||
|
|
||||||
UPDATE AT_ort SET name = 'Etzmannsdorf am Kamp' WHERE okz = 3938;
|
UPDATE AT_ort SET name = 'Etzmannsdorf am Kamp' WHERE okz = 3938;
|
||||||
|
|
||||||
|
DELETE FROM AT_plz WHERE (plz, okz) = (2231, 5011);
|
||||||
|
131
sql/sample.sql
Normal file
131
sql/sample.sql
Normal file
@ -0,0 +1,131 @@
|
|||||||
|
|
||||||
|
INSERT INTO wb_gl VALUES
|
||||||
|
(1, 'WLWV', 'Matzner Hügel'),
|
||||||
|
(2, 'WLWV', 'Wolkersdorfer Hochleiten'),
|
||||||
|
(3, 'WLWV', 'Falkensteiner Hügelland');
|
||||||
|
|
||||||
|
-- Wien
|
||||||
|
-- Gemeinde Wien
|
||||||
|
INSERT INTO wb_gem VALUES
|
||||||
|
(90001, 'WIEN');
|
||||||
|
|
||||||
|
-- Weinviertel
|
||||||
|
-- Bezirke Mistelbach (316), Gänserndorf (308), Korneuburg (312), Hollabrunn (310), Horn (311)
|
||||||
|
INSERT INTO wb_gem
|
||||||
|
SELECT gkz, 'WLWV'
|
||||||
|
FROM AT_gem
|
||||||
|
WHERE gkz / 100 IN (308, 310, 311, 312, 316);
|
||||||
|
|
||||||
|
-- Carnuntum
|
||||||
|
-- Bezirk Bruck/Leitha (307)
|
||||||
|
INSERT INTO wb_gem
|
||||||
|
SELECT gkz, 'WLCA'
|
||||||
|
FROM AT_gem
|
||||||
|
WHERE gkz / 100 IN (307);
|
||||||
|
|
||||||
|
-- Thermenregion
|
||||||
|
-- Bezirke Mödling (317), Baden (306), Wr. Neustadt (323), Wr. Neustadt (304), Neunkirchen (318)
|
||||||
|
INSERT INTO wb_gem
|
||||||
|
SELECT gkz, 'WLTH'
|
||||||
|
FROM AT_gem
|
||||||
|
WHERE gkz / 100 IN (304, 306, 317, 318, 323);
|
||||||
|
|
||||||
|
-- Traisental
|
||||||
|
-- Bezirke St. Pölten Land (319), St. Pölten (302)
|
||||||
|
INSERT INTO wb_gem
|
||||||
|
SELECT gkz, 'WLTT'
|
||||||
|
FROM AT_gem
|
||||||
|
WHERE gkz / 100 IN (302, 319);
|
||||||
|
|
||||||
|
-- Wagram
|
||||||
|
-- Bezirk Tulln (321)
|
||||||
|
INSERT INTO wb_gem
|
||||||
|
SELECT gkz, 'WLWG'
|
||||||
|
FROM AT_gem
|
||||||
|
WHERE gkz / 100 IN (321);
|
||||||
|
|
||||||
|
-- Kamptal
|
||||||
|
-- Gemeinden Grafenegg (31308), Straß im Straßertale (31346), Schönberg am Kamp (31355), Langenlois (31322),
|
||||||
|
-- Hadersdorf-Kammern (31315), Lengenfeld (31323)
|
||||||
|
INSERT INTO wb_gem
|
||||||
|
SELECT gkz, 'WLKA'
|
||||||
|
FROM AT_gem
|
||||||
|
WHERE gkz IN (31308, 31346, 31355, 31322, 31315, 31323);
|
||||||
|
|
||||||
|
-- Kremstal
|
||||||
|
-- Gemeinden Krems an der Donau (30101), Stratzing (31347), Droß (31356), Senftenberg (31343), Paudorf (31333),
|
||||||
|
-- Furth bei Göttweig (31309)
|
||||||
|
INSERT INTO wb_gem
|
||||||
|
SELECT gkz, 'WLKT'
|
||||||
|
FROM AT_gem
|
||||||
|
WHERE gkz IN (30101, 31347, 31356, 31343, 31333, 31309);
|
||||||
|
|
||||||
|
-- Wachau
|
||||||
|
-- Gemeinden Mautern an der Donau (31327), Bergern im Dunkelsteinerwald (31303), Dürnstein (31304),
|
||||||
|
-- Rossatz-Arnsdorf (31338), Aggsbach (31301), Spitz (31344), Mühldorf (31330),
|
||||||
|
-- Weißenkirchen in der Wachau (31351)
|
||||||
|
INSERT INTO wb_gem
|
||||||
|
SELECT gkz, 'WLWA'
|
||||||
|
FROM AT_gem
|
||||||
|
WHERE gkz IN (31327, 31303, 31304, 31338, 31301, 31344, 31330, 31351);
|
||||||
|
|
||||||
|
-- Neusiedlersee
|
||||||
|
-- Bezirk Neusiedl am See (107)
|
||||||
|
INSERT INTO wb_gem
|
||||||
|
SELECT gkz, 'WLNS'
|
||||||
|
FROM AT_gem
|
||||||
|
WHERE gkz / 100 IN (107);
|
||||||
|
|
||||||
|
-- Leithaberg
|
||||||
|
-- Bezirke Eisenstadt Umgebung (103), Eisenstadt (101), Rust (102)
|
||||||
|
INSERT INTO wb_gem
|
||||||
|
SELECT gkz, 'WLLB'
|
||||||
|
FROM AT_gem
|
||||||
|
WHERE gkz / 100 IN (101, 102, 103);
|
||||||
|
|
||||||
|
-- Rosalia
|
||||||
|
-- Bezirk Mattersburg (106)
|
||||||
|
INSERT INTO wb_gem
|
||||||
|
SELECT gkz, 'WLRO'
|
||||||
|
FROM AT_gem
|
||||||
|
WHERE gkz / 100 IN (106);
|
||||||
|
|
||||||
|
-- Mittelburgenland
|
||||||
|
-- Bezirk Oberpullendorf (106)
|
||||||
|
INSERT INTO wb_gem
|
||||||
|
SELECT gkz, 'WLMB'
|
||||||
|
FROM AT_gem
|
||||||
|
WHERE gkz / 100 IN (108);
|
||||||
|
|
||||||
|
-- Eisenberg
|
||||||
|
-- Bezirke Oberwart (109), Güssing (104), Jennersdorf (105)
|
||||||
|
INSERT INTO wb_gem
|
||||||
|
SELECT gkz, 'WLEB'
|
||||||
|
FROM AT_gem
|
||||||
|
WHERE gkz / 100 IN (104, 105, 109);
|
||||||
|
|
||||||
|
INSERT INTO wb_kg
|
||||||
|
SELECT k.kgnr, 1
|
||||||
|
FROM wb_gem wg
|
||||||
|
LEFT JOIN AT_gem g ON g.gkz = wg.gkz
|
||||||
|
LEFT JOIN AT_kg k ON k.gkz = g.gkz
|
||||||
|
WHERE origin = 'WLWV' AND g.gkz / 100 IN (308, 316) AND k.name IN
|
||||||
|
('Angern', 'Großschweinbarth', 'Mannersdorf', 'Prottes', 'Stillfried', 'Grub an der March', 'Auersthal', 'Dörfles',
|
||||||
|
'Ebenthal', 'Hohenruppersdorf', 'Kleinharras', 'Kollnbrunn', 'Matzen', 'Ollersdorf', 'Pirawarth', 'Raggendorf',
|
||||||
|
'Reyersdorf', 'Schönkirchen', 'Spannberg', 'Stripfing', 'Tallesbrunn', 'Götzendorf', 'Velm', 'Waidendorf',
|
||||||
|
'Dürnkrut', 'Baumgarten an der March', 'Gänserndorf', 'Weikendorf');
|
||||||
|
|
||||||
|
INSERT INTO wb_kg
|
||||||
|
SELECT k.kgnr, 2
|
||||||
|
FROM wb_gem wg
|
||||||
|
LEFT JOIN AT_gem g ON g.gkz = wg.gkz
|
||||||
|
LEFT JOIN AT_kg k ON k.gkz = g.gkz
|
||||||
|
WHERE origin = 'WLWV' AND g.gkz / 100 IN (308, 316) AND k.name IN ('Bockfließ', 'Großengersdorf');
|
||||||
|
|
||||||
|
INSERT INTO wb_kg
|
||||||
|
SELECT k.kgnr, 3
|
||||||
|
FROM wb_gem wg
|
||||||
|
LEFT JOIN AT_gem g ON g.gkz = wg.gkz
|
||||||
|
LEFT JOIN AT_kg k ON k.gkz = g.gkz
|
||||||
|
WHERE origin = 'WLWV' AND g.gkz / 100 IN (308, 316) AND
|
||||||
|
k.name IN ('Erdpreß', 'Martinsdorf', 'Niedersulz', 'Großinzersdorf', 'Palterndorf');
|
@ -1,6 +1,10 @@
|
|||||||
|
|
||||||
PRAGMA foreign_keys = ON;
|
PRAGMA foreign_keys = ON;
|
||||||
|
|
||||||
|
CREATE TABLE meta (
|
||||||
|
version INTEGER NOT NULL DEFAULT 1
|
||||||
|
);
|
||||||
|
|
||||||
CREATE TABLE country (
|
CREATE TABLE country (
|
||||||
alpha2 TEXT NOT NULL CHECK (alpha2 REGEXP '[A-Z]{2}'),
|
alpha2 TEXT NOT NULL CHECK (alpha2 REGEXP '[A-Z]{2}'),
|
||||||
alpha3 TEXT NOT NULL CHECK (alpha3 REGEXP '[A-Z]{3}'),
|
alpha3 TEXT NOT NULL CHECK (alpha3 REGEXP '[A-Z]{3}'),
|
||||||
@ -26,8 +30,8 @@ CREATE TABLE currency (
|
|||||||
) STRICT;
|
) STRICT;
|
||||||
|
|
||||||
CREATE TABLE postal_dest (
|
CREATE TABLE postal_dest (
|
||||||
country TEXT NOT NULL,
|
country TEXT NOT NULL,
|
||||||
id INTEGER NOT NULL,
|
id TEXT NOT NULL,
|
||||||
|
|
||||||
CONSTRAINT pk_postal_dest PRIMARY KEY (country, id),
|
CONSTRAINT pk_postal_dest PRIMARY KEY (country, id),
|
||||||
CONSTRAINT fk_postal_dest_country FOREIGN KEY (country) REFERENCES country (alpha2)
|
CONSTRAINT fk_postal_dest_country FOREIGN KEY (country) REFERENCES country (alpha2)
|
||||||
@ -35,20 +39,6 @@ CREATE TABLE postal_dest (
|
|||||||
ON DELETE RESTRICT
|
ON DELETE RESTRICT
|
||||||
) STRICT;
|
) STRICT;
|
||||||
|
|
||||||
CREATE TABLE bank (
|
|
||||||
country TEXT NOT NULL,
|
|
||||||
id TEXT NOT NULL,
|
|
||||||
|
|
||||||
name_full TEXT NOT NULL,
|
|
||||||
name TEXT,
|
|
||||||
name_short TEXT,
|
|
||||||
|
|
||||||
CONSTRAINT pk_bank PRIMARY KEY (country, id),
|
|
||||||
CONSTRAINT fk_bank_country FOREIGN KEY (country) REFERENCES country (alpha2)
|
|
||||||
ON UPDATE CASCADE
|
|
||||||
ON DELETE RESTRICT
|
|
||||||
) STRICT;
|
|
||||||
|
|
||||||
CREATE TABLE wine_variety (
|
CREATE TABLE wine_variety (
|
||||||
code TEXT NOT NULL CHECK (code REGEXP '[A-Z]{2}'),
|
code TEXT NOT NULL CHECK (code REGEXP '[A-Z]{2}'),
|
||||||
type TEXT NOT NULL CHECK (type IN ('R', 'W')),
|
type TEXT NOT NULL CHECK (type IN ('R', 'W')),
|
||||||
@ -112,8 +102,8 @@ CREATE TABLE AT_plz (
|
|||||||
plz INTEGER NOT NULL CHECK (plz >= 1000 AND plz <= 9999),
|
plz INTEGER NOT NULL CHECK (plz >= 1000 AND plz <= 9999),
|
||||||
okz INTEGER NOT NULL,
|
okz INTEGER NOT NULL,
|
||||||
|
|
||||||
country TEXT NOT NULL GENERATED ALWAYS AS ('AT') STORED,
|
country TEXT NOT NULL GENERATED ALWAYS AS ('AT') VIRTUAL,
|
||||||
id INTEGER NOT NULL GENERATED ALWAYS AS (plz * 100000 + okz) STORED,
|
id TEXT NOT NULL GENERATED ALWAYS AS (plz * 100000 + okz) STORED,
|
||||||
|
|
||||||
dest TEXT NOT NULL,
|
dest TEXT NOT NULL,
|
||||||
|
|
||||||
@ -145,18 +135,6 @@ BEGIN
|
|||||||
DELETE FROM postal_dest WHERE (country, id) = (old.country, old.id);
|
DELETE FROM postal_dest WHERE (country, id) = (old.country, old.id);
|
||||||
END;
|
END;
|
||||||
|
|
||||||
CREATE TABLE AT_bank (
|
|
||||||
blz INTEGER NOT NULL,
|
|
||||||
fbnr TEXT,
|
|
||||||
|
|
||||||
country TEXT NOT NULL GENERATED ALWAYS AS ('AT') STORED,
|
|
||||||
|
|
||||||
CONSTRAINT pk_AT_bank PRIMARY KEY (blz),
|
|
||||||
CONSTRAINT fk_AT_bank_bank FOREIGN KEY (country, blz) REFERENCES bank (country, id)
|
|
||||||
ON UPDATE CASCADE
|
|
||||||
ON DELETE CASCADE
|
|
||||||
) STRICT;
|
|
||||||
|
|
||||||
CREATE TABLE wine_origin (
|
CREATE TABLE wine_origin (
|
||||||
code TEXT NOT NULL CHECK (code REGEXP '[A-Z]{4}'),
|
code TEXT NOT NULL CHECK (code REGEXP '[A-Z]{4}'),
|
||||||
parent_code TEXT,
|
parent_code TEXT,
|
||||||
@ -189,15 +167,25 @@ CREATE TABLE wb_gl (
|
|||||||
|
|
||||||
-- Weinbaugemeinde
|
-- Weinbaugemeinde
|
||||||
CREATE TABLE wb_gem (
|
CREATE TABLE wb_gem (
|
||||||
id INTEGER NOT NULL,
|
gkz INTEGER NOT NULL,
|
||||||
origin TEXT NOT NULL,
|
origin TEXT NOT NULL,
|
||||||
gl_id INTEGER,
|
|
||||||
|
|
||||||
CONSTRAINT pk_wb_gem PRIMARY KEY (id),
|
CONSTRAINT pk_wb_gem PRIMARY KEY (gkz),
|
||||||
CONSTRAINT fk_wb_gem_AT_gem FOREIGN KEY (id) REFERENCES AT_gem (gkz)
|
CONSTRAINT fk_wb_gem_AT_gem FOREIGN KEY (gkz) REFERENCES AT_gem (gkz)
|
||||||
ON UPDATE CASCADE
|
ON UPDATE CASCADE
|
||||||
ON DELETE RESTRICT,
|
ON DELETE RESTRICT,
|
||||||
CONSTRAINT fk_wb_gem_wine_origin FOREIGN KEY (origin) REFERENCES wine_origin (code)
|
CONSTRAINT fk_wb_gem_wine_origin FOREIGN KEY (origin) REFERENCES wine_origin (code)
|
||||||
|
ON UPDATE CASCADE
|
||||||
|
ON DELETE RESTRICT
|
||||||
|
) STRICT;
|
||||||
|
|
||||||
|
-- Weinbaukatastralgemeinde
|
||||||
|
CREATE TABLE wb_kg (
|
||||||
|
kgnr INTEGER NOT NULL,
|
||||||
|
gl_id INTEGER,
|
||||||
|
|
||||||
|
CONSTRAINT pk_wb_kg PRIMARY KEY (kgnr),
|
||||||
|
CONSTRAINT fk_wb_kg_AT_kg FOREIGN KEY (kgnr) REFERENCES AT_kg (kgnr)
|
||||||
ON UPDATE CASCADE
|
ON UPDATE CASCADE
|
||||||
ON DELETE RESTRICT,
|
ON DELETE RESTRICT,
|
||||||
CONSTRAINT fk_wb_gem_wb_gl FOREIGN KEY (gl_id) REFERENCES wb_gl (id)
|
CONSTRAINT fk_wb_gem_wb_gl FOREIGN KEY (gl_id) REFERENCES wb_gl (id)
|
||||||
@ -205,16 +193,15 @@ CREATE TABLE wb_gem (
|
|||||||
ON DELETE RESTRICT
|
ON DELETE RESTRICT
|
||||||
) STRICT;
|
) STRICT;
|
||||||
|
|
||||||
-- Weinbaukatastralgemeinde
|
|
||||||
CREATE TABLE wb_kg (
|
|
||||||
id INTEGER NOT NULL,
|
|
||||||
|
|
||||||
CONSTRAINT pk_wb_kg PRIMARY KEY (id)
|
|
||||||
) STRICT;
|
|
||||||
|
|
||||||
-- Ried
|
-- Ried
|
||||||
CREATE TABLE wb_rd (
|
CREATE TABLE wb_rd (
|
||||||
id INTEGER NOT NULL,
|
kgnr INTEGER NOT NULL,
|
||||||
|
rdid INTEGER NOT NULL,
|
||||||
|
|
||||||
CONSTRAINT pk_wb_rd PRIMARY KEY (id)
|
name TEXT NOT NULL,
|
||||||
|
|
||||||
|
CONSTRAINT pk_wb_rd PRIMARY KEY (kgnr, rdid),
|
||||||
|
CONSTRAINT fk_wb_rd_wb_kg FOREIGN KEY (kgnr) REFERENCES wb_kg (kgnr)
|
||||||
|
ON UPDATE CASCADE
|
||||||
|
ON DELETE RESTRICT
|
||||||
) STRICT;
|
) STRICT;
|
@ -4,7 +4,14 @@ INSERT INTO country VALUES
|
|||||||
('DE', 'DEU', 276, 'Deutschland', FALSE),
|
('DE', 'DEU', 276, 'Deutschland', FALSE),
|
||||||
('CZ', 'CZE', 203, 'Tschechien', FALSE),
|
('CZ', 'CZE', 203, 'Tschechien', FALSE),
|
||||||
('HU', 'HUN', 348, 'Ungarn', FALSE),
|
('HU', 'HUN', 348, 'Ungarn', FALSE),
|
||||||
('SK', 'SVK', 703, 'Slowakei', FALSE);
|
('SK', 'SVK', 703, 'Slowakei', FALSE),
|
||||||
|
('IT', 'ITA', 380, 'Italien', FALSE),
|
||||||
|
('NL', 'NLD', 528, 'Niederlande', FALSE),
|
||||||
|
('LU', 'LUX', 442, 'Luxemburg', FALSE),
|
||||||
|
('BE', 'BEL', 56, 'Belgien', FALSE),
|
||||||
|
('FR', 'FRA', 250, 'France', FALSE),
|
||||||
|
('ES', 'ESP', 724, 'Spanien', FALSE),
|
||||||
|
('PT', 'PRT', 620, 'Portugal', FALSE);
|
||||||
|
|
||||||
INSERT INTO currency VALUES
|
INSERT INTO currency VALUES
|
||||||
('EUR', 'Euro', '€', 10000),
|
('EUR', 'Euro', '€', 10000),
|
||||||
@ -55,9 +62,6 @@ INSERT INTO wine_origin VALUES
|
|||||||
('WLMB', 'WLBL', 'Mittelburgenland', NULL),
|
('WLMB', 'WLBL', 'Mittelburgenland', NULL),
|
||||||
('WLEB', 'WLBL', 'Eisenberg', NULL);
|
('WLEB', 'WLBL', 'Eisenberg', NULL);
|
||||||
|
|
||||||
INSERT INTO wb_gl VALUES
|
|
||||||
(1, 'WLWV', 'Matzner Hügel');
|
|
||||||
|
|
||||||
INSERT INTO wine_variety VALUES
|
INSERT INTO wine_variety VALUES
|
||||||
('BL', 'R', 'Blauburger', NULL),
|
('BL', 'R', 'Blauburger', NULL),
|
||||||
('BB', 'R', 'Blauer Burgunder', 'Blauer Spätburgunder, Blauburgunder, Pinot Noir'),
|
('BB', 'R', 'Blauer Burgunder', 'Blauer Spätburgunder, Blauburgunder, Pinot Noir'),
|
Reference in New Issue
Block a user