Mercurial > dive4elements > gnv-client
diff gnv-artifacts/doc/schema/externalinterface_schema.sql @ 875:5e9efdda6894
merged gnv-artifacts/1.0
author | Thomas Arendsen Hein <thomas@intevation.de> |
---|---|
date | Fri, 28 Sep 2012 12:13:56 +0200 |
parents | 4c6d2b4df3ae |
children | f953c9a559d8 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gnv-artifacts/doc/schema/externalinterface_schema.sql Fri Sep 28 12:13:56 2012 +0200 @@ -0,0 +1,72 @@ +/* + * Lookup-Tabelle für das FIS anhand eines Gebietes. + * Diese Tabelle ist in der ArcSDE als Layer zu integrieren. + * Die Inhalte der Spalte id_fis müssen mit den vergebenen IDs + * in der Konfiguration des Artefaktservers übereinstimmen. + * + * Abbildung als Layer in der ArcSDE + * Das hier bereitgestellte SQL ist lediglich als Anhalt zu betrachten. + */ +create table fis_has_region ( + id_fis varchar2(30 char) not null, /* TODO maximale Länge bestimmen und ggf. anpassen.*/ + description varchar2(90 char), + geometry ??? not null +); + +ALTER TABLE fis_has_region ADD PRIMARY KEY (id_fis); + +/* + * Lookup-Tabelle für das FIS anhand eines Mapservices. + * Die Inhalte der Spalte id_fis müssen mit den vergebenen IDs + * in der Konfiguration des Artefaktservers übereinstimmen. + * Die Inhalte der Spalte id_mapservice müssen mit den vergebenen + * IDs der Services im Mapviewer übereinstimmen. + */ +create table fis_has_mapservice( + id_fis varchar2(30 char) not null, /* TODO maximale Länge bestimmen und ggf. anpassen.*/ + id_mapservice varchar2(100 char) not null /* TODO maximale Länge bestimmen und ggf. anpassen.*/ +); + +ALTER TABLE fis_has_mapservice ADD PRIMARY KEY (id_fis,id_mapservice); + +/** + * Lookuptabelle zwischen einer LayerID und dem dazugehörigen + * Mapservice und den im Layer dargestellten Parameter. + * Fremdschlüsselbeziehung zu der Tabelle fis_has_mapservice. + * Primärschlüssel: id_mapservice, id_layer, id_parameter + * id_parameter referenziert zusätzlich die Tabelle MEDIAN.PARAMETER. + * + * Auf eine explizite Abbildung von GroupLayern kann verzichtet werden, + * da sie lediglich einen "ordnenden" Charakter haben. + * vgl. S 52 Pflichtenheft. + * + * Über id_group wird abgebildet ob ein Layer zu einer Gruppe von + * Layern gehört. + */ +create table layer_has_parameter( + id_mapservice varchar2(100 char) not null, /* TODO maximale Länge bestimmen und ggf. anpassen.*/ + id_layer NUMBER(10) not null, /* TODO maximale Länge bestimmen und ggf. anpassen.*/ + layer_name varchar2(30 char) not null, /* TODO maximale Länge bestimmen und ggf. anpassen.*/ + id_group varchar2(30 char ), /* TODO maximale Länge bestimmen und ggf. anpassen.*/ + id_parameter NUMBER(10) not null /* Referenz zur Tabelle MEDIAN.PARAMETER */ +); + +ALTER TABLE layer_has_parameter ADD + PRIMARY KEY (id_mapservice,id_layer,id_parameter); + +/** + * Lookuptabelle ob ein Mapservice genau einen Parameter darstellt. + * Wenn in dieser Tabelle nichts vorhanden ist muss unter zurhilfenahme + * der Layer-ID in der Tabelle layer_has_parameter gesucht werden. + * Die Inhalte der Spalte id_mapservice müssen mit den vergebenen + * IDs der Services im Mapviewer übereinstimmen. + * id_parameter referenziert zusätzlich die Tabelle MEDIAN.PARAMETER. + */ +create table mapservice_has_parameter( + id_mapservice varchar2(100 char) not null, /* TODO maximale Länge bestimmen und ggf. anpassen.*/ + id_parameter NUMBER(10) not null /* Referenz zur Tabelle MEDIAN.PARAMETER */ +); + + +ALTER TABLE mapservice_has_parameter ADD + PRIMARY KEY (id_mapservice,id_parameter); \ No newline at end of file