view gnv-artifacts/doc/schema/externalinterface_schema.sql @ 605:e8ebdbc7f1e3

First step of removing the cache blob. The static part of the describe document will be created by using the input data stored at each state. Some TODOs left (see ChangeLog). gnv-artifacts/trunk@671 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Tue, 09 Feb 2010 14:27:55 +0000
parents 4c6d2b4df3ae
children f953c9a559d8
line wrap: on
line source
/* 
 * 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);

http://dive4elements.wald.intevation.org