comparison gnv-artifacts/doc/schema/externalinterface_schema.sql @ 1119:7c4f81f74c47

merged gnv-artifacts
author Thomas Arendsen Hein <thomas@intevation.de>
date Fri, 28 Sep 2012 12:14:00 +0200
parents f953c9a559d8
children
comparison
equal deleted inserted replaced
1027:fca4b5eb8d2f 1119:7c4f81f74c47
1 /*
2 * Copyright (c) 2010 by Intevation GmbH
3 *
4 * This program is free software under the LGPL (>=v2.1)
5 * Read the file LGPL.txt coming with the software for details
6 * or visit http://www.gnu.org/licenses/ if it does not exist.
7 */
8
9 /*
10 * Lookup-Tabelle für das FIS anhand eines Gebietes.
11 * Diese Tabelle ist in der ArcSDE als Layer zu integrieren.
12 * Die Inhalte der Spalte id_fis müssen mit den vergebenen IDs
13 * in der Konfiguration des Artefaktservers übereinstimmen.
14 *
15 * Abbildung als Layer in der ArcSDE
16 * Das hier bereitgestellte SQL ist lediglich als Anhalt zu betrachten.
17 */
18 create table fis_has_region (
19 id_fis varchar2(30 char) not null, /* TODO maximale Länge bestimmen und ggf. anpassen.*/
20 description varchar2(90 char),
21 geometry ??? not null
22 );
23
24 ALTER TABLE fis_has_region ADD PRIMARY KEY (id_fis);
25
26 /*
27 * Lookup-Tabelle für das FIS anhand eines Mapservices.
28 * Die Inhalte der Spalte id_fis müssen mit den vergebenen IDs
29 * in der Konfiguration des Artefaktservers übereinstimmen.
30 * Die Inhalte der Spalte id_mapservice müssen mit den vergebenen
31 * IDs der Services im Mapviewer übereinstimmen.
32 */
33 create table fis_has_mapservice(
34 id_fis varchar2(30 char) not null, /* TODO maximale Länge bestimmen und ggf. anpassen.*/
35 id_mapservice varchar2(100 char) not null /* TODO maximale Länge bestimmen und ggf. anpassen.*/
36 );
37
38 ALTER TABLE fis_has_mapservice ADD PRIMARY KEY (id_fis,id_mapservice);
39
40 /**
41 * Lookuptabelle zwischen einer LayerID und dem dazugehörigen
42 * Mapservice und den im Layer dargestellten Parameter.
43 * Fremdschlüsselbeziehung zu der Tabelle fis_has_mapservice.
44 * Primärschlüssel: id_mapservice, id_layer, id_parameter
45 * id_parameter referenziert zusätzlich die Tabelle MEDIAN.PARAMETER.
46 *
47 * Auf eine explizite Abbildung von GroupLayern kann verzichtet werden,
48 * da sie lediglich einen "ordnenden" Charakter haben.
49 * vgl. S 52 Pflichtenheft.
50 *
51 * Über id_group wird abgebildet ob ein Layer zu einer Gruppe von
52 * Layern gehört.
53 */
54 create table layer_has_parameter(
55 id_mapservice varchar2(100 char) not null, /* TODO maximale Länge bestimmen und ggf. anpassen.*/
56 id_layer NUMBER(10) not null, /* TODO maximale Länge bestimmen und ggf. anpassen.*/
57 layer_name varchar2(30 char) not null, /* TODO maximale Länge bestimmen und ggf. anpassen.*/
58 id_group varchar2(30 char ), /* TODO maximale Länge bestimmen und ggf. anpassen.*/
59 id_parameter NUMBER(10) not null /* Referenz zur Tabelle MEDIAN.PARAMETER */
60 );
61
62 ALTER TABLE layer_has_parameter ADD
63 PRIMARY KEY (id_mapservice,id_layer,id_parameter);
64
65 /**
66 * Lookuptabelle ob ein Mapservice genau einen Parameter darstellt.
67 * Wenn in dieser Tabelle nichts vorhanden ist muss unter zurhilfenahme
68 * der Layer-ID in der Tabelle layer_has_parameter gesucht werden.
69 * Die Inhalte der Spalte id_mapservice müssen mit den vergebenen
70 * IDs der Services im Mapviewer übereinstimmen.
71 * id_parameter referenziert zusätzlich die Tabelle MEDIAN.PARAMETER.
72 */
73 create table mapservice_has_parameter(
74 id_mapservice varchar2(100 char) not null, /* TODO maximale Länge bestimmen und ggf. anpassen.*/
75 id_parameter NUMBER(10) not null /* Referenz zur Tabelle MEDIAN.PARAMETER */
76 );
77
78
79 ALTER TABLE mapservice_has_parameter ADD
80 PRIMARY KEY (id_mapservice,id_parameter);

http://dive4elements.wald.intevation.org