ingo@1115: /* ingo@1115: * Copyright (c) 2010 by Intevation GmbH ingo@1115: * ingo@1115: * This program is free software under the LGPL (>=v2.1) ingo@1115: * Read the file LGPL.txt coming with the software for details ingo@1115: * or visit http://www.gnu.org/licenses/ if it does not exist. ingo@1115: */ ingo@1115: ingo@1115: /* tim@489: * Lookup-Tabelle für das FIS anhand eines Gebietes. tim@489: * Diese Tabelle ist in der ArcSDE als Layer zu integrieren. tim@489: * Die Inhalte der Spalte id_fis müssen mit den vergebenen IDs tim@489: * in der Konfiguration des Artefaktservers übereinstimmen. tim@489: * tim@489: * Abbildung als Layer in der ArcSDE tim@490: * Das hier bereitgestellte SQL ist lediglich als Anhalt zu betrachten. tim@489: */ tim@489: create table fis_has_region ( tim@490: id_fis varchar2(30 char) not null, /* TODO maximale Länge bestimmen und ggf. anpassen.*/ tim@489: description varchar2(90 char), tim@490: geometry ??? not null tim@489: ); tim@489: tim@489: ALTER TABLE fis_has_region ADD PRIMARY KEY (id_fis); tim@489: tim@489: /* tim@489: * Lookup-Tabelle für das FIS anhand eines Mapservices. tim@489: * Die Inhalte der Spalte id_fis müssen mit den vergebenen IDs tim@489: * in der Konfiguration des Artefaktservers übereinstimmen. tim@489: * Die Inhalte der Spalte id_mapservice müssen mit den vergebenen tim@489: * IDs der Services im Mapviewer übereinstimmen. tim@489: */ tim@489: create table fis_has_mapservice( tim@490: id_fis varchar2(30 char) not null, /* TODO maximale Länge bestimmen und ggf. anpassen.*/ tim@490: id_mapservice varchar2(100 char) not null /* TODO maximale Länge bestimmen und ggf. anpassen.*/ tim@489: ); tim@489: tim@489: ALTER TABLE fis_has_mapservice ADD PRIMARY KEY (id_fis,id_mapservice); tim@489: tim@489: /** tim@489: * Lookuptabelle zwischen einer LayerID und dem dazugehörigen tim@489: * Mapservice und den im Layer dargestellten Parameter. tim@489: * Fremdschlüsselbeziehung zu der Tabelle fis_has_mapservice. tim@489: * Primärschlüssel: id_mapservice, id_layer, id_parameter tim@489: * id_parameter referenziert zusätzlich die Tabelle MEDIAN.PARAMETER. tim@489: * tim@489: * Auf eine explizite Abbildung von GroupLayern kann verzichtet werden, tim@489: * da sie lediglich einen "ordnenden" Charakter haben. tim@489: * vgl. S 52 Pflichtenheft. tim@489: * tim@489: * Über id_group wird abgebildet ob ein Layer zu einer Gruppe von tim@489: * Layern gehört. tim@489: */ tim@489: create table layer_has_parameter( tim@490: id_mapservice varchar2(100 char) not null, /* TODO maximale Länge bestimmen und ggf. anpassen.*/ tim@601: id_layer NUMBER(10) not null, /* TODO maximale Länge bestimmen und ggf. anpassen.*/ tim@601: layer_name varchar2(30 char) not null, /* TODO maximale Länge bestimmen und ggf. anpassen.*/ tim@490: id_group varchar2(30 char ), /* TODO maximale Länge bestimmen und ggf. anpassen.*/ tim@489: id_parameter NUMBER(10) not null /* Referenz zur Tabelle MEDIAN.PARAMETER */ tim@489: ); tim@489: tim@489: ALTER TABLE layer_has_parameter ADD tim@489: PRIMARY KEY (id_mapservice,id_layer,id_parameter); tim@489: tim@489: /** tim@489: * Lookuptabelle ob ein Mapservice genau einen Parameter darstellt. tim@489: * Wenn in dieser Tabelle nichts vorhanden ist muss unter zurhilfenahme tim@489: * der Layer-ID in der Tabelle layer_has_parameter gesucht werden. tim@489: * Die Inhalte der Spalte id_mapservice müssen mit den vergebenen tim@489: * IDs der Services im Mapviewer übereinstimmen. tim@489: * id_parameter referenziert zusätzlich die Tabelle MEDIAN.PARAMETER. tim@489: */ tim@489: create table mapservice_has_parameter( tim@490: id_mapservice varchar2(100 char) not null, /* TODO maximale Länge bestimmen und ggf. anpassen.*/ tim@489: id_parameter NUMBER(10) not null /* Referenz zur Tabelle MEDIAN.PARAMETER */ tim@489: ); tim@489: tim@489: tim@489: ALTER TABLE mapservice_has_parameter ADD ingo@1115: PRIMARY KEY (id_mapservice,id_parameter);