Changeset 250 for trunk


Ignore:
Timestamp:
02/01/13 16:58:00 (11 years ago)
Author:
astrid.emde
Message:

CONSTRAINTS und View noch prüfen

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/import/nutzungsart_definition_ORACLE.sql

    r249 r250  
    22--- 
    33--- 
    4  
    5 SET client_encoding = 'UTF-8'; 
     4define alkis_epsg=&1 
    65 
    76DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='NUTZUNG_META'; 
     
    98/ 
    109CREATE 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) 
     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) 
    1817); 
    19 COMMENT ON TABLE  nutzung_meta                IS 'Gruppierung und Indizierung der zusammen gefassten Nutzungsarten in der Tabelle "nutzung".'; 
    20 COMMENT ON COLUMN nutzung_meta.nutz_id        IS 'Index fuer die Quell-Tabelle bei der Zusammenfassung in der Tabelle "nutzung".'; 
    21 COMMENT ON COLUMN nutzung_meta.source_table   IS 'Name der importierten Tabelle aus PostNAS.'; 
    22 COMMENT ON COLUMN nutzung_meta.gruppe         IS 'Objektartengruppe, Gruppierung der Nutzungsart.'; 
    23 COMMENT ON COLUMN nutzung_meta.title          IS 'Vorzeigbare Bezeichnung der Nutzungsartentabelle.'; 
    24 COMMENT ON COLUMN nutzung_meta.fldclass       IS 'Name des Feldes aus "source_table", das in Feld "nutzung.class" kopiert wird.'; 
    25 COMMENT ON COLUMN nutzung_meta.fldinfo        IS 'Name des Feldes aus "source_table", das in Feld "nutzung.info" kopiert wird.'; 
     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.'; 
    2625 
    27 DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='NUTZUNG'; 
     26DELETE FROM user_sdo_geom_METAdata WHERE upper(table_name)='NUTZUNG'; 
    2827BEGIN EXECUTE IMMEDIATE 'DROP TABLE NUTZUNG CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END; 
    2928/ 
    3029CREATE 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 ) 
    44 WITH (OIDS=FALSE); 
    45 SELECT AddGeometryColumn('nutzung','ora_geometry','25832','POLYGON',2); 
    46 CREATE INDEX ALKIS_KEY_1  ON nutzung (nutz_id, class); 
    47 CREATE INDEX ALKIS_KEY_2 ON NUTZUNG(ORA_GEOMETRY) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL; 
    48 COMMENT ON TABLE  nutzung             IS 'Zusammenfassung von 26 Tabellen des Objektbereiches "TatsÀchliche Nutzung".'; 
    49 COMMENT ON COLUMN nutzung.gml_id      IS 'Identifikator, global eindeutig'; 
    50 COMMENT ON COLUMN nutzung.nutz_id     IS 'Index fuer die Quell-Tabelle bei der Zusammenfassung in der Tabelle "nutzung".'; 
    51 COMMENT ON COLUMN nutzung.class       IS 'Klassifizierung innerhalb der Nutzung. Aus verschiedenen Feldern importiert. Siehe "nutzung_meta.fldclass".'; 
    52 COMMENT ON COLUMN nutzung.info        IS 'Weitere verschlÃŒsselte Information zur Nutzung. Aus verschiedenen Feldern importiert. Siehe "nutzung_meta.fldinfo".'; 
    53 COMMENT ON COLUMN nutzung.name        IS 'NAM Eigenname'; 
    54 COMMENT ON COLUMN nutzung.bezeichnung IS 'weitere unverschlÃŒsselte Information wie Zweitname, Bezeichnung, fachliche Nummerierung usw.'; 
    55 COMMENT ON COLUMN nutzung.zustand     IS 'ZUS "Zustand" beschreibt, ob der Abschnitt ungenutzt ist.'; 
     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.'; 
    5657 
    5758DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='NUTZUNG_CLASS'; 
     
    5960/ 
    6061CREATE 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 
     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 
    6970); 
    70 COMMENT ON TABLE  nutzung_class            IS 'SchlÃŒsseltabelle. Feinere Klassifizierung der zusammen gefassten Nutzungsarten.'; 
    71 COMMENT ON COLUMN nutzung_class.nutz_id    IS 'Index fuer die Quell-Tabelle bei der Zusammenfassung in der Tabelle nutzung.'; 
    72 COMMENT ON COLUMN nutzung_class.class      IS 'Key, SchlÃŒsselwert.'; 
    73 COMMENT ON COLUMN nutzung_class.label      IS 'EntschlÃŒsselung. Art der Nutzung, Dies Feld soll in der Auskunft angezeigt werden.'; 
    74 COMMENT ON COLUMN nutzung_class.blabla     IS 'Weitere ErlÀuterungen und Definitionen dazu.'; 
    75 CREATE 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 
     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 
    8487        ; 
    8588purge recyclebin; 
Note: See TracChangeset for help on using the changeset viewer.