source: trunk/import/nutzungsart_definition_ORACLE.sql @ 421

Revision 270, 4.5 KB checked in by astrid.emde, 11 years ago (diff)

Geometriespalten und Constraints hinzugefügt. Prüfung erfolgte

Line 
1-- Automatisch mit pg-to-oci_keytables.pl konvertiert.
2---
3---
4define alkis_epsg=&1
5
6DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='NUTZUNG_META';
7BEGIN EXECUTE IMMEDIATE 'DROP TABLE NUTZUNG_META CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
8/
9CREATE TABLE NUTZUNG_META (
10        NUTZ_ID           integer NOT NULL,
11        GRUPPE            varchar2(30),
12        SOURCE_TABLE      varchar2(50),
13        TITLE             varchar2(50),
14        FLDCLASS          varchar2(30),
15        FLDINFO           varchar2(30),
16        CONSTRAINT ALKIS_KEYN_0 PRIMARY KEY (NUTZ_ID)
17);
18COMMENT ON TABLE  NUTZUNG_META                IS 'Gruppierung und Indizierung der zusammen gefassten NUTZUNGsarten in der Tabelle "NUTZUNG".';
19COMMENT ON COLUMN NUTZUNG_META.NUTZ_ID        IS 'Index fuer die Quell-Tabelle bei der Zusammenfassung in der Tabelle "NUTZUNG".';
20COMMENT ON COLUMN NUTZUNG_META.SOURCE_TABLE   IS 'Name der importierten Tabelle aus PostNAS.';
21COMMENT ON COLUMN NUTZUNG_META.GRUPPE         IS 'Objektartengruppe, Gruppierung der NUTZUNGsart.';
22COMMENT ON COLUMN NUTZUNG_META.TITLE          IS 'Vorzeigbare Bezeichnung der NUTZUNGsartentabelle.';
23COMMENT ON COLUMN NUTZUNG_META.FLDCLASS       IS 'Name des Feldes aus "source_table", das in Feld "NUTZUNG.CLASS" kopiert wird.';
24COMMENT ON COLUMN NUTZUNG_META.FLDINFO        IS 'Name des Feldes aus "source_table", das in Feld "NUTZUNG.info" kopiert wird.';
25
26DELETE FROM user_sdo_geom_METAdata WHERE upper(table_name)='NUTZUNG';
27BEGIN EXECUTE IMMEDIATE 'DROP TABLE NUTZUNG CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
28/
29CREATE TABLE NUTZUNG (
30        GML_ID          character(16),
31        BEGINNT         character(20),
32        NUTZ_ID         integer,
33        CLASS           integer,
34        INFO            integer,
35        ZUSTAND         integer,
36        NAME            varchar2(2047),
37        BEZEICHNUNG     varchar2(2047),
38        CONSTRAINT      NUTZUNG_pk      PRIMARY KEY (GML_ID, BEGINNT)
39);
40
41ALTER TABLE NUTZUNG ADD ORA_GEOMETRY MDSYS.SDO_GEOMETRY;
42INSERT INTO user_sdo_geom_metadata(table_name,column_name,srid,diminfo) VALUES ('NUTZUNG','ORA_GEOMETRY',&&alkis_epsg,mdsys.sdo_dim_array(mdsys.sdo_dim_element('X',200000,800000,0.001),mdsys.sdo_dim_element('Y',5200000,6100000,0.001)));
43
44CREATE INDEX ALKIS_KEYN_1  ON NUTZUNG (NUTZ_ID, CLASS);
45CREATE INDEX ALKIS_KEYN_2 ON NUTZUNG(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
46
47ALTER TABLE NUTZUNG ADD CONSTRAINT NUTZUNG_META_ID FOREIGN KEY (NUTZ_ID)
48REFERENCES NUTZUNG_META (NUTZ_ID) ON DELETE CASCADE;
49
50COMMENT ON TABLE  NUTZUNG             IS 'Zusammenfassung von 26 Tabellen des Objektbereiches "TatsÀchliche NUTZUNG".';
51COMMENT ON COLUMN NUTZUNG.GML_ID      IS 'Identifikator, global eindeutig';
52COMMENT ON COLUMN NUTZUNG.NUTZ_ID     IS 'Index fuer die Quell-Tabelle bei der Zusammenfassung in der Tabelle "NUTZUNG".';
53COMMENT ON COLUMN NUTZUNG.CLASS       IS 'Klassifizierung innerhalb der NUTZUNG. Aus verschiedenen Feldern importiert. Siehe "NUTZUNG_META.fldCLASS".';
54COMMENT ON COLUMN NUTZUNG.INFO        IS 'Weitere verschlÃŒsselte Information zur NUTZUNG. Aus verschiedenen Feldern importiert. Siehe "NUTZUNG_META.fldinfo".';
55COMMENT ON COLUMN NUTZUNG.NAME        IS 'NAM Eigenname';
56COMMENT ON COLUMN NUTZUNG.BEZEICHNUNG IS 'weitere unverschlÃŒsselte Information wie Zweitname, Bezeichnung, fachliche Nummerierung usw.';
57COMMENT ON COLUMN NUTZUNG.ZUSTAND     IS 'ZUS "Zustand" beschreibt, ob der Abschnitt ungenutzt ist.';
58
59DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='NUTZUNG_CLASS';
60BEGIN EXECUTE IMMEDIATE 'DROP TABLE NUTZUNG_CLASS CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
61/
62CREATE TABLE NUTZUNG_CLASS (
63        NUTZ_ID       integer NOT NULL,
64        CLASS         integer NOT NULL,
65        LABEL         varchar2(100),
66        BLABLA        varchar2(1000),
67        CONSTRAINT ALKIS_KEYN_3 PRIMARY KEY (NUTZ_ID, CLASS)
68);
69
70ALTER TABLE NUTZUNG_CLASS ADD CONSTRAINT ALKIS_KEYN_4 FOREIGN KEY (NUTZ_ID)
71REFERENCES NUTZUNG_META (NUTZ_ID) ON DELETE CASCADE;
72
73COMMENT ON TABLE  NUTZUNG_CLASS            IS 'SchlÃŒsseltabelle. Feinere Klassifizierung der zusammen gefassten NUTZUNGsarten.';
74COMMENT ON COLUMN NUTZUNG_CLASS.NUTZ_ID    IS 'Index fuer die Quell-Tabelle bei der Zusammenfassung in der Tabelle NUTZUNG.';
75COMMENT ON COLUMN NUTZUNG_CLASS.CLASS      IS 'Key, SchlÃŒsselwert.';
76COMMENT ON COLUMN NUTZUNG_CLASS.LABEL      IS 'EntschlÃŒsselung. Art der NUTZUNG, Dies Feld soll in der Auskunft angezeigt werden.';
77COMMENT ON COLUMN NUTZUNG_CLASS.BLABLA     IS 'Weitere ErlÀuterungen und Definitionen dazu.';
78
79
80CREATE OR REPLACE VIEW NUTZUNG_MEHRFACHE_GML AS
81        SELECT  a.GML_ID,
82                a.NUTZ_ID,
83                a.BEGINNT as BEGINNT1,
84                b.BEGINNT as BEGINNT2
85        FROM NUTZUNG a
86        JOIN NUTZUNG b
87          ON a.GML_ID = b.GML_ID
88        WHERE a.BEGINNT < b.BEGINNT
89        ;
90purge recyclebin;
91QUIT;
Note: See TracBrowser for help on using the repository browser.