source: trunk/data/konvert/postnas_0.5/alkis_nutzungsart_definition.sql @ 60

Revision 53, 5.0 KB checked in by frank.jaeger, 13 years ago (diff)
Line 
1
2-- ALKIS PostNAS 0.5
3
4-- ======================================================
5-- Zusammenfassung der Tabellen der tatsÀchlichen Nutzung
6-- ======================================================
7
8-- Um bei einer Feature.Info (Welche Nutzung an dieser Stelle?)
9-- oder einer Verschneidung (Welche Nutzungen auf dem FlurstÃŒck?)
10-- nicht 26 verschiedene Tabellen abfragen zu mÃŒssen, werden die wichtigsten
11-- Felder dieser Tabellen zusammen gefasst.
12
13-- Teil 1: Anlegen der Tabellen
14
15-- Stand
16--  2010-11-10 
17
18
19SET client_encoding = 'UTF-8';
20
21-- Alles auf Anfang!
22
23-- DROP TABLE nutzung;
24-- DROP TABLE nutzung_class;
25-- DROP TABLE nutzung_meta;
26
27
28-- Meta-Informationen ueber die Zusammenfassung und Gruppierung
29-- ------------------------------------------------------------
30
31CREATE TABLE nutzung_meta (
32  nutz_id           integer NOT NULL,
33  gruppe            character varying(30),
34  source_table      character varying(50),
35  title             character varying(50),
36  fldclass          character varying(30),
37  fldinfo           character varying(30),
38  CONSTRAINT nutzung_meta_pk PRIMARY KEY (nutz_id)
39);
40
41COMMENT ON TABLE  nutzung_meta                IS 'Gruppierung und Indizierung der zusammen gefassten Nutzungsarten in der Tabelle "nutzung".';
42COMMENT ON COLUMN nutzung_meta.nutz_id        IS 'Index fuer die Quell-Tabelle bei der Zusammenfassung in der Tabelle "nutzung".';
43COMMENT ON COLUMN nutzung_meta.source_table   IS 'Name der importierten Tabelle aus PostNAS.';
44COMMENT ON COLUMN nutzung_meta.gruppe         IS 'Objektartengruppe, Gruppierung der Nutzungsart.';
45COMMENT ON COLUMN nutzung_meta.title          IS 'Vorzeigbare Bezeichnung der Nutzungsartentabelle.';
46COMMENT ON COLUMN nutzung_meta.fldclass       IS 'Name des Feldes aus "source_table", das in Feld "nutzung.class" kopiert wird.';
47COMMENT ON COLUMN nutzung_meta.fldinfo        IS 'Name des Feldes aus "source_table", das in Feld "nutzung.info" kopiert wird.';
48
49
50-- Alle Abschnitte der "tatsÀchlichen Nutzung" vereinigt in einer Tabelle
51-- Sie sind dann mit einem gemeinsamen Geometrie-Index mit einer SQL-Abfrage auffindbar.
52-- Dies ist die Voraussetzung fÃŒr eine performante Auskunft.
53
54CREATE TABLE nutzung
55( gml_id       character(16),
56  nutz_id      integer,
57  class        integer,
58  info         integer,
59  zustand      integer,
60  "name"       character varying(50),
61  bezeichnung  character varying(50),
62  CONSTRAINT nutzung_pk      PRIMARY KEY (gml_id),
63  CONSTRAINT nutzung_meta_id FOREIGN KEY (nutz_id)
64      REFERENCES nutzung_meta (nutz_id) MATCH SIMPLE
65      ON UPDATE NO ACTION ON DELETE CASCADE
66)
67WITH (OIDS=FALSE);
68
69SELECT AddGeometryColumn('nutzung','wkb_geometry','25832','POLYGON',2);
70
71-- 'class' ist nur innerhalb einer Gruppe ein sinvoller Index
72CREATE INDEX idx_nutz_cls  ON nutzung USING btree (nutz_id, class);
73
74-- Geometrischer Index fÌr die rÀumliche Suche
75CREATE INDEX nutzung_geom_idx ON nutzung USING gist (wkb_geometry);
76
77-- Kommentare
78COMMENT ON TABLE  nutzung             IS 'Zusammenfassung von 26 einzelnen Tabellen des Objektbereiches "TatsÀchliche Nutzung".';
79COMMENT ON COLUMN nutzung.gml_id      IS 'Identifikator, global eindeutig';
80COMMENT ON COLUMN nutzung.nutz_id     IS 'Index fuer die Quell-Tabelle bei der Zusammenfassung in der Tabelle "nutzung".';
81COMMENT ON COLUMN nutzung.class       IS 'Klassifizierung innerhalb der Nutzung. Aus verschiedenen Feldern importiert. Siehe "nutzung_meta.fldclass".';
82COMMENT ON COLUMN nutzung.info        IS 'Weitere verschlÃŒsselte Information zur Nutzung. Aus verschiedenen Feldern importiert. Siehe "nutzung_meta.fldinfo".';
83COMMENT ON COLUMN nutzung.name        IS 'NAM Eigenname';
84COMMENT ON COLUMN nutzung.bezeichnung IS 'weitere unverschlÃŒsselte Information wie Zweitname, Bezeichnung, fachliche Nummerierung usw.';
85COMMENT ON COLUMN nutzung.zustand     IS 'ZUS "Zustand" beschreibt, ob der Abschnitt ungenutzt ist.';
86
87
88-- Schluesseltabelle: classes innerhalb einer Nutzungsart.
89-- Wird nicht aus NAS geladen sondern durch das manuell zu pflegende Script.
90--  "alkis_nutzungsart_metadaten.sql"
91
92CREATE TABLE nutzung_class (
93  nutz_id       integer NOT NULL,
94  class         integer NOT NULL,
95  label         character varying(100),
96  blabla        character varying(1000),
97  CONSTRAINT nutzung_class_pk PRIMARY KEY (nutz_id, class),
98  CONSTRAINT nutzung_class_id FOREIGN KEY (nutz_id)
99      REFERENCES nutzung_meta (nutz_id) MATCH SIMPLE
100      ON UPDATE NO ACTION ON DELETE CASCADE
101);
102
103COMMENT ON TABLE  nutzung_class            IS 'SchlÃŒsseltabelle. Feinere Klassifizierung der zusammen gefassten Nutzungsarten.';
104COMMENT ON COLUMN nutzung_class.nutz_id    IS 'Index fuer die Quell-Tabelle bei der Zusammenfassung in der Tabelle nutzung.';
105COMMENT ON COLUMN nutzung_class.class      IS 'Key, SchlÃŒsselwert.';
106COMMENT ON COLUMN nutzung_class.label      IS 'EntschlÃŒsselung. Art der Nutzung, Dies Feld soll in der Auskunft angezeigt werden.';
107COMMENT ON COLUMN nutzung_class.blabla     IS 'Weitere ErlÀuterungen und Definitionen dazu.';
108
109-- END --
Note: See TracBrowser for help on using the repository browser.