Add herkunft and sql

This commit is contained in:
2022-11-10 18:06:22 +01:00
parent 7d8604c9d8
commit 5696cc7e98
3 changed files with 117 additions and 0 deletions

View File

@ -28,3 +28,8 @@ https://www.fma.gv.at/banken/
* WPF * WPF
* LINQ * LINQ
* SQLite * SQLite
# Links
[PLZ](https://www.post.at/g/c/postlexikon)

40
herkunft.md Normal file
View File

@ -0,0 +1,40 @@
# Herkunft
[Kürzelliste für Weinformulare - Bundeskellereiinspektion](https://www.bundeskellereiinspektion.at/downloads/allgemein/kuerzel.pdf)
[Weinbau in Österreich - Wikipedia](https://de.wikipedia.org/wiki/Weinbau_in_%C3%96sterreich#Weinbaugebiete_in_%C3%96sterreich)
```
AUSL - Ausland
EUXX - Verschnitt von mehreren Weinen der EU
OEST - Österreich
BLXX - Bergland
BLKA - Kärnten
BLOO - Oberösterreich
BLSB - Salzburg
BLTI - Tirol
BLVO - Vorarlberg
SLXX - Steirerland
SLST - Steiermark
SLSS - Südsteiermark
SLVL - Vulkanland Steiermark
SLWS - Weststeiermark
WLXX - Weinland
WIEN - Wien
WLNO - Niederösterreich
WLCA - Carnuntum
WLKA - Kamptal
WLKT - Kremstal
WLTH - Thermenregion
WLTT - Traisental
WLWA - Wachau
WLWG - Wagram
WLWV - Weinviertel
WLBL - Burgenland
WLNS - Neusiedlersee
WLLB - Leithaberg
WLRO - Rosalia
WLMB - Mittelburgenland
WLEB - Eisenberg
```

72
sql/base.sql Normal file
View File

@ -0,0 +1,72 @@
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 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)
) 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)
) STRICT;
CREATE TABLE AT_plz (
plz INTEGER NOT NULL CHECK(plz >= 1000 AND plz <= 9999),
okz INTEGER NOT NULL,
name TEXT NOT NULL,
CONSTRAINT pk_AT_plz PRIMARY KEY (plz, okz),
CONSTRAINT fk_AT_plz_AT_ort FOREIGN KEY (okz) REFERENCES AT_ort (okz)
) STRICT;
INSERT INTO country VALUES
('AT', 'AUT', 40, 'Österreich', TRUE),
('DE', 'DEU', 276, 'Deutschland', FALSE),
('CZ', 'CZE', 203, 'Tschechien', FALSE),
('HU', 'HUN', 348, 'Ungarn', FALSE),
('SK', 'SVK', 703, 'Slowakei', FALSE);
INSERT INTO AT_bundesland VALUES
(1, 'B', 'Bgld.', 'Burgenland'),
(2, 'K', 'Ktn.', 'Kärnten'),
(3, 'N', '', 'Niederösterreich'),
(4, 'O', '', 'Oberösterreich'),
(5, 'S', 'Sbg.', 'Salzburg'),
(6, 'St', 'Stmk.', 'Steiermark'),
(7, 'T', NULL, 'Tirol'),
(8, 'V', 'Vbg.', 'Vorarlberg'),
(9, 'W', NULL, 'Wien');