source: trunk/import/nutzungsart_definition_ORACLE.sql @ 259

Revision 250, 4.7 KB checked in by astrid.emde, 11 years ago (diff)

CONSTRAINTS und View noch prüfen

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        --CONSTRAINT    NUTZUNG_META_id FOREIGN KEY (NUTZ_ID)       -- fuer ORACLE noch anpassen
40        --      REFERENCES NUTZUNG_META (NUTZ_ID) MATCH SIMPLE
41        --      ON UPDATE NO ACTION ON DELETE CASCADE
42);
43
44--SELECT AddGeometryColumn('NUTZUNG','ora_geometry','25832','POLYGON',2);
45INSERT 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)));
46
47CREATE INDEX ALKIS_KEYN_1  ON NUTZUNG (NUTZ_ID, CLASS);
48CREATE INDEX ALKIS_KEYN_2 ON NUTZUNG(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
49COMMENT ON TABLE  NUTZUNG             IS 'Zusammenfassung von 26 Tabellen des Objektbereiches "TatsÀchliche NUTZUNG".';
50COMMENT ON COLUMN NUTZUNG.GML_ID      IS 'Identifikator, global eindeutig';
51COMMENT ON COLUMN NUTZUNG.NUTZ_ID     IS 'Index fuer die Quell-Tabelle bei der Zusammenfassung in der Tabelle "NUTZUNG".';
52COMMENT ON COLUMN NUTZUNG.CLASS       IS 'Klassifizierung innerhalb der NUTZUNG. Aus verschiedenen Feldern importiert. Siehe "NUTZUNG_META.fldCLASS".';
53COMMENT ON COLUMN NUTZUNG.INFO        IS 'Weitere verschlÃŒsselte Information zur NUTZUNG. Aus verschiedenen Feldern importiert. Siehe "NUTZUNG_META.fldinfo".';
54COMMENT ON COLUMN NUTZUNG.NAME        IS 'NAM Eigenname';
55COMMENT ON COLUMN NUTZUNG.BEZEICHNUNG IS 'weitere unverschlÃŒsselte Information wie Zweitname, Bezeichnung, fachliche Nummerierung usw.';
56COMMENT ON COLUMN NUTZUNG.ZUSTAND     IS 'ZUS "Zustand" beschreibt, ob der Abschnitt ungenutzt ist.';
57
58DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='NUTZUNG_CLASS';
59BEGIN EXECUTE IMMEDIATE 'DROP TABLE NUTZUNG_CLASS CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
60/
61CREATE TABLE NUTZUNG_CLASS (
62        NUTZ_ID       integer NOT NULL,
63        CLASS         integer NOT NULL,
64        LABEL         varchar2(100),
65        BLABLA        varchar2(1000),
66        CONSTRAINT ALKIS_KEYN_3 PRIMARY KEY (NUTZ_ID, CLASS)--,
67        --CONSTRAINT ALKIS_KEYN_4 FOREIGN KEY (NUTZ_ID)         -- fuer ORACLE noch anpassen
68        --      REFERENCES NUTZUNG_META (nutz_id) MATCH SIMPLE
69        --      ON UPDATE NO ACTION ON DELETE CASCADE
70);
71COMMENT ON TABLE  NUTZUNG_CLASS            IS 'SchlÃŒsseltabelle. Feinere Klassifizierung der zusammen gefassten NUTZUNGsarten.';
72COMMENT ON COLUMN NUTZUNG_CLASS.NUTZ_ID    IS 'Index fuer die Quell-Tabelle bei der Zusammenfassung in der Tabelle NUTZUNG.';
73COMMENT ON COLUMN NUTZUNG_CLASS.CLASS      IS 'Key, SchlÃŒsselwert.';
74COMMENT ON COLUMN NUTZUNG_CLASS.LABEL      IS 'EntschlÃŒsselung. Art der NUTZUNG, Dies Feld soll in der Auskunft angezeigt werden.';
75COMMENT ON COLUMN NUTZUNG_CLASS.BLABLA     IS 'Weitere ErlÀuterungen und Definitionen dazu.';
76
77
78CREATE OR REPLACE VIEW NUTZUNG_MEHRFACHE_GML AS
79        SELECT  a.GML_ID,
80                a.NUTZ_ID,
81                a.BEGINNT as BEGINNT1,
82                b.BEGINNT as BEGINNT2
83        FROM NUTZUNG a
84        JOIN NUTZUNG b
85          ON a.GML_ID = b.GML_ID
86        WHERE a.BEGINNT < b.BEGINNT
87        ;
88purge recyclebin;
89QUIT;
Note: See TracBrowser for help on using the repository browser.