source: trunk/import/nutzungsart_definition_ORACLE.sql @ 249

Revision 249, 4.4 KB checked in by astrid.emde, 11 years ago (diff)

Vorbereitung

Line 
1-- Automatisch mit pg-to-oci_keytables.pl konvertiert.
2---
3---
4
5SET client_encoding = 'UTF-8';
6
7DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='NUTZUNG_META';
8BEGIN EXECUTE IMMEDIATE 'DROP TABLE NUTZUNG_META CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
9/
10CREATE TABLE NUTZUNG_META (
11        nutz_id           integer NOT NULL,
12        gruppe            character varying(30),
13        source_table      character varying(50),
14        title             character varying(50),
15        fldclass          character varying(30),
16        fldinfo           character varying(30),
17        CONSTRAINT ALKIS_KEY_0 PRIMARY KEY (nutz_id)
18);
19COMMENT ON TABLE  nutzung_meta                IS 'Gruppierung und Indizierung der zusammen gefassten Nutzungsarten in der Tabelle "nutzung".';
20COMMENT ON COLUMN nutzung_meta.nutz_id        IS 'Index fuer die Quell-Tabelle bei der Zusammenfassung in der Tabelle "nutzung".';
21COMMENT ON COLUMN nutzung_meta.source_table   IS 'Name der importierten Tabelle aus PostNAS.';
22COMMENT ON COLUMN nutzung_meta.gruppe         IS 'Objektartengruppe, Gruppierung der Nutzungsart.';
23COMMENT ON COLUMN nutzung_meta.title          IS 'Vorzeigbare Bezeichnung der Nutzungsartentabelle.';
24COMMENT ON COLUMN nutzung_meta.fldclass       IS 'Name des Feldes aus "source_table", das in Feld "nutzung.class" kopiert wird.';
25COMMENT ON COLUMN nutzung_meta.fldinfo        IS 'Name des Feldes aus "source_table", das in Feld "nutzung.info" kopiert wird.';
26
27DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='NUTZUNG';
28BEGIN EXECUTE IMMEDIATE 'DROP TABLE NUTZUNG CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
29/
30CREATE TABLE NUTZUNG (
31        gml_id          character(16),
32        beginnt         character(20),
33        nutz_id         integer,
34        class           integer,
35        info            integer,
36        zustand         integer,
37        "name"          varchar2(2047),
38        bezeichnung     varchar2(2047),
39        CONSTRAINT      nutzung_pk      PRIMARY KEY (gml_id, beginnt),
40        CONSTRAINT      nutzung_meta_id FOREIGN KEY (nutz_id)
41                REFERENCES nutzung_meta (nutz_id) MATCH SIMPLE
42                ON UPDATE NO ACTION ON DELETE CASCADE
43)
44WITH (OIDS=FALSE);
45SELECT AddGeometryColumn('nutzung','ora_geometry','25832','POLYGON',2);
46CREATE INDEX ALKIS_KEY_1  ON nutzung (nutz_id, class);
47CREATE INDEX ALKIS_KEY_2 ON NUTZUNG(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
48COMMENT ON TABLE  nutzung             IS 'Zusammenfassung von 26 Tabellen des Objektbereiches "TatsÀchliche Nutzung".';
49COMMENT ON COLUMN nutzung.gml_id      IS 'Identifikator, global eindeutig';
50COMMENT ON COLUMN nutzung.nutz_id     IS 'Index fuer die Quell-Tabelle bei der Zusammenfassung in der Tabelle "nutzung".';
51COMMENT ON COLUMN nutzung.class       IS 'Klassifizierung innerhalb der Nutzung. Aus verschiedenen Feldern importiert. Siehe "nutzung_meta.fldclass".';
52COMMENT ON COLUMN nutzung.info        IS 'Weitere verschlÃŒsselte Information zur Nutzung. Aus verschiedenen Feldern importiert. Siehe "nutzung_meta.fldinfo".';
53COMMENT ON COLUMN nutzung.name        IS 'NAM Eigenname';
54COMMENT ON COLUMN nutzung.bezeichnung IS 'weitere unverschlÃŒsselte Information wie Zweitname, Bezeichnung, fachliche Nummerierung usw.';
55COMMENT ON COLUMN nutzung.zustand     IS 'ZUS "Zustand" beschreibt, ob der Abschnitt ungenutzt ist.';
56
57DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='NUTZUNG_CLASS';
58BEGIN EXECUTE IMMEDIATE 'DROP TABLE NUTZUNG_CLASS CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
59/
60CREATE TABLE NUTZUNG_CLASS (
61        nutz_id       integer NOT NULL,
62        class         integer NOT NULL,
63        label         character varying(100),
64        blabla        character varying(1000),
65        CONSTRAINT ALKIS_KEY_3 PRIMARY KEY (nutz_id, class),
66        CONSTRAINT ALKIS_KEY_4 FOREIGN KEY (nutz_id)
67                REFERENCES nutzung_meta (nutz_id) MATCH SIMPLE
68                ON UPDATE NO ACTION ON DELETE CASCADE
69);
70COMMENT ON TABLE  nutzung_class            IS 'SchlÃŒsseltabelle. Feinere Klassifizierung der zusammen gefassten Nutzungsarten.';
71COMMENT ON COLUMN nutzung_class.nutz_id    IS 'Index fuer die Quell-Tabelle bei der Zusammenfassung in der Tabelle nutzung.';
72COMMENT ON COLUMN nutzung_class.class      IS 'Key, SchlÃŒsselwert.';
73COMMENT ON COLUMN nutzung_class.label      IS 'EntschlÃŒsselung. Art der Nutzung, Dies Feld soll in der Auskunft angezeigt werden.';
74COMMENT ON COLUMN nutzung_class.blabla     IS 'Weitere ErlÀuterungen und Definitionen dazu.';
75CREATE OR REPLACE VIEW nutzung_mehrfache_gml AS
76        SELECT  a.gml_id,
77                a.nutz_id,
78                a.beginnt as beginnt1,
79                b.beginnt as beginnt2
80        FROM nutzung a
81        JOIN nutzung b
82          ON a.gml_id = b.gml_id
83        WHERE a.beginnt < b.beginnt
84        ;
85purge recyclebin;
86QUIT;
Note: See TracBrowser for help on using the repository browser.