-- Copyright 2010, Intevation GmbH, Germany, <info@intevation.de>
--
-- This file is part of FGSK.
--
-- FGSK is free software: you can redistribute it and/or modify it under
-- the terms of the GNU General Public License as published by the
-- Free Software Foundation, either version 2 of the License, or (at your
-- option) any later version.
--
-- FGSK is distributed in the hope that it will be useful, but WITHOUT
-- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-- FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
-- License for more details.
--
-- You should have received a copy of the GNU General Public
-- License along with FGSK. If not, see <http://www.gnu.org/licenses/>.
--
-- FGSK has been developed on behalf of the
-- Landesamt fuer Umwelt und Geologie Mecklenburg Vorpommern (LUNG-MV)
-- by Intevation GmbH. 
-- biota Institut fuer oekologische Forschung und Planung GmbH has provided
-- the functional background.
--
-- Authors:
-- Tim Englich <tim.englich@intevation.de>
-- Ingo Weinzierl <ingo.weinzierl@intevation.de>

BEGIN;
/*Anfang Tabellen zur Auswertung von Laufentwicklung*/
CREATE TABLE laufkruemmung_auswertung(
    /*Auswertetabelle für Laufkruemmung*/
    id_laufkruemmung integer references laufkruemmung,
    id_gewaessertyp numeric references gewaessertyp,
    bewertung integer,
    PRIMARY KEY(id_laufkruemmung,id_gewaessertyp)
);

CREATE TABLE laengsbaenke_auswertung(
    /*Auswertetabelle für Anzahl der Laengsbänke*/
    anz_laengsbaenke_von numeric not null,
    anz_laengsbaenke_bis numeric not null,
    id_gewaessertyp numeric references gewaessertyp,
    abschnittslaenge numeric not null,
    bewertung integer,
    PRIMARY KEY(anz_laengsbaenke_von,anz_laengsbaenke_bis,id_gewaessertyp)
);

CREATE TABLE laufstrukturen_auswertung(
    /*Auswertetabelle für Anzahl der Laengsbänke*/
    anz_laufstrukturen_von numeric not null,
    anz_laufstrukturen_bis numeric not null,
    id_gewaessertyp numeric references gewaessertyp,
    abschnittslaenge numeric not null,
    bewertung integer,
    PRIMARY KEY(anz_laufstrukturen_von,anz_laufstrukturen_bis,id_gewaessertyp)
);

CREATE TABLE kruemmungserosion_auswertung(
    /*Auswertetabelle für Laufkruemmung*/
    id_kruemmungserosion integer references kruemmungserosion,
    id_gewaessertyp numeric references gewaessertyp,
    bewertung integer,
    PRIMARY KEY(id_kruemmungserosion,id_gewaessertyp)
);
/*Ende Tabellen zur Auswertung von Laufentwicklung*/


/*Anfang Tabellen zur Auswertung von Längsprofil*/

CREATE TABLE querbaenke_auswertung(
    /*Auswertetabelle für Anzahl der Querbänke*/
    anz_querbaenke_von numeric not null,
    anz_querbaenke_bis numeric not null,
    id_gewaessertyp numeric references gewaessertyp,
    abschnittslaenge numeric not null,
    bewertung integer,
    PRIMARY KEY(anz_querbaenke_von,anz_querbaenke_bis,id_gewaessertyp)
);

CREATE TABLE stroemungs_diversitaet_auswertung(
    /*Auswertetabelle für Strömungsdiversität*/
    id_stroemungs_diversitaet integer references stroemungs_diversitaet,
    id_gewaessertyp numeric references gewaessertyp,
    bewertung integer,
    PRIMARY KEY(id_stroemungs_diversitaet,id_gewaessertyp)
);

CREATE TABLE tiefenvarianz_auswertung(
    /*Auswertetabelle für Tiefenvarianz*/
    id_tiefenvarianz integer references tiefenvarianz,
    id_gewaessertyp numeric references gewaessertyp,
    bewertung integer,
    PRIMARY KEY(id_tiefenvarianz,id_gewaessertyp)
);

CREATE TABLE fliessgeschwindigkeit_auswertung(
    /*Auswertetabelle für Fliessgeschwindigkeit*/
    id_fliessgeschwindigkeit integer references fliessgeschwindigkeit,
    id_gewaessertyp numeric references gewaessertyp,
    bewertung integer,
    PRIMARY KEY(id_fliessgeschwindigkeit,id_gewaessertyp)
);
/*Ende Tabellen zur Auswertung von Längsprofil*/

/*Anfang Tabellen zur Auswertung von Sohlenstruktur*/

CREATE TABLE sohlenstrukturen_auswertung(
    /*Auswertetabelle für Anzahl der besonderen Sohlenstrukturen*/
    anz_sohlenstrukturen_von numeric not null,
    anz_sohlenstrukturen_bis numeric not null,
    id_gewaessertyp numeric references gewaessertyp,
    abschnittslaenge numeric not null,
    bewertung integer,
    PRIMARY KEY(anz_sohlenstrukturen_von,anz_sohlenstrukturen_bis,id_gewaessertyp)
);

CREATE TABLE sohlenverbau_auswertung(
    /*Auswertetabelle für Sohlenverbau*/
    id_sohlenverbau integer references sohlenverbau,
    id_z_sohlenverbau integer references z_sohlenverbau,
    id_gewaessertyp numeric references gewaessertyp,
    bewertung integer,
    PRIMARY KEY(id_sohlenverbau,id_z_sohlenverbau,id_gewaessertyp)
);

CREATE TABLE belastung_sohle_max_auswertung (
    id_gewaessertyp INTEGER REFERENCES gewaessertyp,
    maximum         NUMERIC,
    PRIMARY KEY(id_gewaessertyp)
);

CREATE TABLE belastung_sohle_auswertung(
    /*Auswertetabelle für Belastung Sohle*/
    id_belastung_sohle integer references belastung_sohle,
    id_gewaessertyp numeric references gewaessertyp,
    bewertung numeric,
    PRIMARY KEY(id_belastung_sohle,id_gewaessertyp)
);



/*Ende Tabellen zur Auswertung von Sohlenstruktur*/

/*Anfang Tabellen zur Auswertung von Querprofil*/
CREATE TABLE verhaeltnis_profiltiefe_wspbreite_auswertung(
    /*Auswertetabelle für Anzahl der Querbänke*/
    verhaeltnis_von numeric not null,
    verhaeltnis_bis numeric not null,
    id_gewaessertyp numeric references gewaessertyp,
    bewertung integer,
    PRIMARY KEY(verhaeltnis_von,verhaeltnis_bis,id_gewaessertyp)
);

CREATE TABLE breitenerosion_auswertung(
    /*Auswertetabelle für Fliessgeschwindigkeit*/
    id_breitenerosion integer references bereitenerosion,
    id_gewaessertyp numeric references gewaessertyp,
    bewertung integer,
    PRIMARY KEY(id_breitenerosion,id_gewaessertyp)
);

CREATE TABLE breitenvarianz_auswertung(
    /*Auswertetabelle für Fliessgeschwindigkeit*/
    id_breitenvarianz integer references breitenvarianz,
    id_gewaessertyp numeric references gewaessertyp,
    bewertung integer,
    PRIMARY KEY(id_breitenvarianz,id_gewaessertyp)
);

CREATE TABLE profiltyp_auswertung(
    /*Auswertetabelle für Profiltyp*/
    id_profiltyp integer references profiltyp,
    id_gewaessertyp numeric references gewaessertyp,
    bewertung integer,
    PRIMARY KEY(id_profiltyp,id_gewaessertyp)
);

/*Ende Tabellen zur Auswertung von Querprofil*/

/*Anfang Tabellem für AUswertung der Uferstruktur*/
CREATE TABLE uferstrukturen_auswertung(
    /*Auswertetabelle für Anzahl der besonderen Uferstrukturen links und rechts*/
    anz_uferstrukturen_von numeric not null,
    anz_uferstrukturen_bis numeric not null,
    id_gewaessertyp numeric references gewaessertyp,
    abschnittslaenge numeric not null,
    bewertung integer,
    PRIMARY KEY(anz_uferstrukturen_von,anz_uferstrukturen_bis,id_gewaessertyp)
);

CREATE TABLE ufervegetation_auswertung(
    /*Auswertetabelle für Uferbewuchs*/
    id_ufervegetation integer references ufervegetation,
    ufervegetation_typical integer,
    id_gewaessertyp numeric references gewaessertyp,
    bewertung integer,
    PRIMARY KEY(id_ufervegetation,ufervegetation_typical,id_gewaessertyp)
);

CREATE TABLE uferverbau_auswertung(
    /*Auswertetabelle für Zustand Uferverbau*/
    id_uferverbau integer references uferverbau,
    id_z_uferverbau integer references z_uferverbau,
    id_gewaessertyp numeric references gewaessertyp,
    bewertung integer,
    PRIMARY KEY(id_uferverbau,id_z_uferverbau,id_gewaessertyp)
);

CREATE TABLE uferbelastungen_auswertung(
    /*Auswertetabelle für Uferbelastungen*/
    id_uferbelastungen integer references uferbelastungen,
    id_gewaessertyp numeric references gewaessertyp,
    bewertung numeric,
    PRIMARY KEY(id_uferbelastungen,id_gewaessertyp)
);

/*Ende Tabellem für AUswertung der Uferstruktur*/

/*Anfang Tabellen zur Auswertung von Gewässerumfeld*/

CREATE TABLE gewaesserrandstreifen_auswertung (
    /*Auswertetabelle für Gewässerrandstreifen*/
    id_gewaesserrandstreifen integer references gewaesserrandstreifen,
    id_gewaessertyp numeric references gewaessertyp,
    bewertung integer,
    PRIMARY KEY(id_gewaesserrandstreifen,id_gewaessertyp)
);

CREATE TABLE flaechennutzung_auswertung(
    /*Auswertetabelle für Flaechennutzung*/
    id_flaechennutzung integer references flaechennutzung,
    id_gewaessertyp numeric references gewaessertyp,
    bewertung integer,
    PRIMARY KEY(id_flaechennutzung,id_gewaessertyp)
);

CREATE TABLE schaedlicheumfeldstrukturen_auswertung(
    /*Auswertetabelle für schädlichen Umfeldstrukturen*/
    id_schaedlicheumfeldstrukturen integer references schaedlicheumfeldstrukturen,
    id_gewaessertyp numeric references gewaessertyp,
    bewertung numeric,
    PRIMARY KEY(id_schaedlicheumfeldstrukturen,id_gewaessertyp)
);

/*Ende Tabellen zur Auswertung von Gewässerumfeld*/

/*Anfang Tabellen für Substratdiversität*/
CREATE TABLE natuerliche_substrate_auswertung(
    /*Auswertetabelle für Anzahl der natürlichen Substrate*/
    anz_natuerliche_substrate_von numeric not null,
    anz_natuerliche_substrate_bis numeric not null,
    id_gewaessertyp numeric references gewaessertyp,
    id_gewaessersubtyp varchar(1),
    bewertung integer,
    PRIMARY KEY(anz_natuerliche_substrate_von,anz_natuerliche_substrate_bis,id_gewaessertyp,id_gewaessersubtyp)
);

CREATE TABLE prozent_kuenstliche_substrate_auswertung(
    /*Auswertetabelle für Prozentsatz der natürlichen Substrate*/
    pro_kuenstliche_substrate_von numeric not null,
    pro_kuenstliche_substrate_bis numeric not null,
    id_gewaessertyp numeric references gewaessertyp,
    id_gewaessersubtyp varchar(1),
    bewertung integer,
    PRIMARY KEY(pro_kuenstliche_substrate_von,pro_kuenstliche_substrate_bis,id_gewaessertyp,id_gewaessersubtyp)
);
CREATE TABLE prozent_organische_hartsubstrate_auswertung(
    /*Auswertetabelle für Prozentsatz der natürlichen Substrate*/
    pro_organische_hartsubstrate_von numeric not null,
    pro_organische_hartsubstrate_bis numeric not null,
    id_gewaessertyp numeric references gewaessertyp,
    id_gewaessersubtyp varchar(1),
    bewertung integer,
    PRIMARY KEY(pro_organische_hartsubstrate_von,pro_organische_hartsubstrate_bis,id_gewaessertyp,id_gewaessersubtyp)
);
/*Ende Tabellen für Substratdiversität*/
END;
