Mercurial > dive4elements > river
diff flys-backend/doc/schema/oracle-minfo.sql @ 2877:f0a67bc0e777 2.7
merged flys-backend/2.7
author | Thomas Arendsen Hein <thomas@intevation.de> |
---|---|
date | Fri, 28 Sep 2012 12:14:31 +0200 |
parents | c36106f15ac9 |
children | a2a33eff93aa |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/flys-backend/doc/schema/oracle-minfo.sql Fri Sep 28 12:14:31 2012 +0200 @@ -0,0 +1,353 @@ +SET AUTOCOMMIT ON; + +CREATE SEQUENCE LOCATION_SYSTEM_SEQ; + +CREATE TABLE location_system ( + id NUMBER(38,0) NOT NULL, + name VARCHAR(32) NOT NULL, + description VARCHAR(255), + PRIMARY KEY(id) +); + + +CREATE SEQUENCE ELEVATION_MODEL_SEQ; + +CREATE TABLE elevation_model ( + id NUMBER(38,0) NOT NULL, + name VARCHAR(32) NOT NULL, + unit_id NUMBER(38,0) NOT NULL, + PRIMARY KEY(id), + CONSTRAINT fk_unit FOREIGN KEY (unit_id) REFERENCES units(id) +); + +CREATE SEQUENCE BED_HEIGHT_TYPE_SEQ; + +CREATE TABLE bed_height_type ( + id NUMBER(38,0) NOT NULL, + name VARCHAR(16) NOT NULL, + description VARCHAR(255), + PRIMARY KEY(id) +); + + + +CREATE SEQUENCE BED_HEIGHT_SINGLE_ID_SEQ; + +CREATE TABLE bed_height_single ( + id NUMBER(38,0) NOT NULL, + river_id NUMBER(38,0) NOT NULL, + year NUMBER(38,0) NOT NULL, + sounding_width NUMBER(38,0) NOT NULL, + type_id NUMBER(38,0) NOT NULL, + location_system_id NUMBER(38,0) NOT NULL, + cur_elevation_model_id NUMBER(38,0) NOT NULL, + old_elevation_model_id NUMBER(38,0), + range_id NUMBER(38,0) NOT NULL, + evaluation_by VARCHAR(255), + description VARCHAR(255), + PRIMARY KEY(id), + CONSTRAINT fk_bed_single_river_id FOREIGN KEY (river_id) REFERENCES rivers(id), + CONSTRAINT fk_type FOREIGN KEY (type_id) REFERENCES bed_height_type(id), + CONSTRAINT fk_location_system FOREIGN KEY (location_system_id) REFERENCES location_system(id), + CONSTRAINT fk_cur_elevation_model FOREIGN KEY (cur_elevation_model_id) REFERENCES elevation_model(id), + CONSTRAINT fk_old_elevation_model FOREIGN KEY (old_elevation_model_id) REFERENCES elevation_model(id), + CONSTRAINT fk_range FOREIGN KEY (range_id) REFERENCES ranges(id) +); + + +CREATE SEQUENCE BED_HEIGHT_EPOCH_ID_SEQ; + +CREATE TABLE bed_height_epoch ( + id NUMBER(38,0) NOT NULL, + river_id NUMBER(38,0) NOT NULL, + time_interval_id NUMBER(38,0) NOT NULL, + -- sounding_with NUMBER(38,0) NOT NULL, + -- type_id NUMBER(38,0) NOT NULL, + cur_elevation_model_id NUMBER(38,0) NOT NULL, + old_elevation_model_id NUMBER(38,0), + range_id NUMBER(38,0) NOT NULL, + evaluation_by VARCHAR(255), + description VARCHAR(255), + PRIMARY KEY(id), + CONSTRAINT fk_time_interval FOREIGN KEY (time_interval_id) REFERENCES time_intervals(id), + CONSTRAINT fk_epoch_cur_elevation_model FOREIGN KEY (cur_elevation_model_id) REFERENCES elevation_model(id), + CONSTRAINT fk_epoch_old_elevation_model FOREIGN KEY (old_elevation_model_id) REFERENCES elevation_model(id), + CONSTRAINT fk_epoch_range FOREIGN KEY (range_id) REFERENCES ranges(id) +); + + +CREATE SEQUENCE BED_SINGLE_VALUES_ID_SEQ; + +CREATE TABLE bed_height_single_values ( + id NUMBER(38,0) NOT NULL, + bed_height_single_id NUMBER(38,0) NOT NULL, + station NUMBER(38,2) NOT NULL, + height NUMBER(38,2), + uncertainty NUMBER(38,2), + data_gap NUMBER(38,2) NOT NULL, + sounding_width NUMBER(38,2) NOT NULL, + width NUMBER(38,2) NOT NULL, + PRIMARY KEY(id), + CONSTRAINT fk_bed_single_values_parent FOREIGN KEY (bed_height_single_id) REFERENCES bed_height_single(id) +); + + +CREATE SEQUENCE BED_EPOCH_VALUES_ID_SEQ; + +CREATE TABLE bed_height_epoch_values ( + id NUMBER(38,0) NOT NULL, + bed_height_epoch_id NUMBER(38,0) NOT NULL, + station NUMBER(38,2) NOT NULL, + height NUMBER(38,2), + PRIMARY KEY(id), + CONSTRAINT fk_bed_epoch_values_parent FOREIGN KEY (bed_height_epoch_id) REFERENCES bed_height_epoch(id) +); + + +CREATE SEQUENCE DEPTHS_ID_SEQ; + +CREATE TABLE depths ( + id NUMBER(38,0) NOT NULL, + lower NUMBER(38,2) NOT NULL, + upper NUMBER(38,2) NOT NULL, + unit_id NUMBER(38,0) NOT NULL, + PRIMARY KEY(id), + CONSTRAINT fk_depths_unit_id FOREIGN KEY (unit_id) REFERENCES units(id) +); + + +CREATE SEQUENCE SEDIMENT_DENSITY_ID_SEQ; + +CREATE TABLE sediment_density ( + id NUMBER(38,0) NOT NULL, + river_id NUMBER(38,0) NOT NULL, + depth_id NUMBER(38,0) NOT NULL, + unit_id NUMBER(38,0) NOT NULL, + description VARCHAR(256), + PRIMARY KEY(id), + CONSTRAINT fk_sd_river_id FOREIGN KEY (river_id) REFERENCES rivers(id), + CONSTRAINT fk_sd_depth_id FOREIGN KEY (depth_id) REFERENCES depths(id), + CONSTRAINT fk_sd_unit_id FOREIGN KEY (unit_id) REFERENCES units(id) +); + + +CREATE SEQUENCE SEDIMENT_DENSITY_VALUES_ID_SEQ; + +CREATE TABLE sediment_density_values ( + id NUMBER(38,0) NOT NULL, + sediment_density_id NUMBER(38,0) NOT NULL, + station NUMBER(38,2) NOT NULL, + density NUMBER(38,2) NOT NULL, + description VARCHAR(256), + PRIMARY KEY(id), + CONSTRAINT fk_sdv_sediment_density_id FOREIGN KEY(sediment_density_id) REFERENCES sediment_density(id) +); + + +CREATE SEQUENCE MORPHOLOGIC_WIDTH_ID_SEQ; + +CREATE TABLE morphologic_width ( + id NUMBER(38,0) NOT NULL, + river_id NUMBER(38,0) NOT NULL, + unit_id NUMBER(38,0) NOT NULL, + PRIMARY KEY(id), + CONSTRAINT fk_mw_river_id FOREIGN KEY(river_id) REFERENCES rivers(id), + CONSTRAINT fk_mw_unit_id FOREIGN KEY(unit_id) REFERENCES units(id) +); + + +CREATE SEQUENCE MORPH_WIDTH_VALUES_ID_SEQ; + +CREATE TABLE morphologic_width_values ( + id NUMBER(38,0) NOT NULL, + morphologic_width_id NUMBER(38,0) NOT NULL, + station NUMBER(38,3) NOT NULL, + width NUMBER(38,3) NOT NULL, + description VARCHAR(256), + PRIMARY KEY(id), + CONSTRAINT fk_mwv_morphologic_width_id FOREIGN KEY (morphologic_width_id) REFERENCES morphologic_width(id) +); + + +CREATE SEQUENCE DISCHARGE_ZONE_ID_SEQ; + +CREATE TABLE discharge_zone ( + id NUMBER(38,0) NOT NULL, + river_id NUMBER(38,0) NOT NULL, + gauge_name VARCHAR(64) NOT NULL, -- this is not very proper, but there are gauges with no db instance + value NUMBER(38,3) NOT NULL, + lower_discharge VARCHAR(16) NOT NULL, + upper_discharge VARCHAR(16), + PRIMARY KEY(id), + CONSTRAINT fk_dz_river_id FOREIGN KEY (river_id) REFERENCES rivers(id) +); + + +CREATE SEQUENCE FLOW_VELOCITY_MODEL_ID_SEQ; + +CREATE TABLE flow_velocity_model ( + id NUMBER(38,0) NOT NULL, + river_id NUMBER(38,0) NOT NULL, + discharge_zone_id NUMBER(38,0) NOT NULL, + description VARCHAR(256), + PRIMARY KEY (id), + CONSTRAINT fk_fvm_river_id FOREIGN KEY (river_id) REFERENCES rivers(id), + CONSTRAINT fk_fvm_discharge_zone_id FOREIGN KEY (discharge_zone_id) REFERENCES discharge_zone (id) +); + + +CREATE SEQUENCE FLOW_VELOCITY_M_VALUES_ID_SEQ; + +CREATE TABLE flow_velocity_model_values ( + id NUMBER(38,0) NOT NULL, + flow_velocity_model_id NUMBER(38,0) NOT NULL, + station NUMBER(38,3) NOT NULL, + q NUMBER(38,3) NOT NULL, + total_channel NUMBER(38,3) NOT NULL, + main_channel NUMBER(38,3) NOT NULL, + shear_stress NUMBER(38,3) NOT NULL, + PRIMARY KEY(id), + CONSTRAINT fk_fvv_flow_velocity_model_id FOREIGN KEY (flow_velocity_model_id) REFERENCES flow_velocity_model(id) +); + + + +CREATE SEQUENCE FV_MEASURE_ID_SEQ; + +CREATE TABLE flow_velocity_measurements ( + id NUMBER(38,0) NOT NULL, + river_id NUMBER(38,0) NOT NULL, + description VARCHAR(256), + PRIMARY KEY (id), + CONSTRAINT fk_fvm_rivers_id FOREIGN KEY (river_id) REFERENCES rivers(id) +); + +CREATE SEQUENCE FV_MEASURE_VALUES_ID_SEQ; + +CREATE TABLE flow_velocity_measure_values ( + id NUMBER(38,0) NOT NULL, + measurements_id NUMBER(38,0) NOT NULL, + station NUMBER(38,3) NOT NULL, + datetime TIMESTAMP, + w NUMBER(38,3) NOT NULL, + q NUMBER(38,3) NOT NULL, + v NUMBER(38,3) NOT NULL, + description VARCHAR(256), + PRIMARY KEY (id), + CONSTRAINT fk_fvmv_measurements_id FOREIGN KEY (measurements_id) REFERENCES flow_velocity_measurements (id) +); + + +CREATE SEQUENCE GRAIN_FRACTION_ID_SEQ; + +CREATE TABLE grain_fraction ( + id NUMBER(38,0) NOT NULL, + name VARCHAR(64) NOT NULL, + lower NUMBER(38,3), + upper NUMBER(38,3), + unit_id NUMBER (38,0), + PRIMARY KEY (id), + CONSTRAINT fk_gf_unit_id FOREIGN KEY (unit_id) REFERENCES units(id) +); + + +CREATE SEQUENCE SEDIMENT_YIELD_ID_SEQ; + +CREATE TABLE sediment_yield ( + id NUMBER(38,0) NOT NULL, + river_id NUMBER(38,0) NOT NULL, + grain_fraction_id NUMBER(38,0), + unit_id NUMBER(38,0) NOT NULL, + time_interval_id NUMBER(38,0) NOT NULL, + description VARCHAR(256), + PRIMARY KEY (id), + CONSTRAINT fk_sy_river_id FOREIGN KEY (river_id) REFERENCES rivers(id), + CONSTRAINT fk_sy_grain_fraction_id FOREIGN KEY (grain_fraction_id) REFERENCES grain_fraction(id), + CONSTRAINT fk_sy_unit_id FOREIGN KEY (unit_id) REFERENCES units(id), + CONSTRAINT fk_sy_time_interval_id FOREIGN KEY (time_interval_id) REFERENCES time_intervals(id) +); + + +CREATE SEQUENCE SEDIMENT_YIELD_VALUES_ID_SEQ; + +CREATE TABLE sediment_yield_values ( + id NUMBER(38,0) NOT NULL, + sediment_yield_id NUMBER(38,0) NOT NULL, + station NUMBER(38,3) NOT NULL, + value NUMBER(38,3) NOT NULL, + PRIMARY KEY (id), + CONSTRAINT fk_syv_sediment_yield_id FOREIGN KEY (sediment_yield_id) REFERENCES sediment_yield(id) +); + + +CREATE SEQUENCE WATERLEVEL_ID_SEQ; + +CREATE TABLE waterlevel ( + id NUMBER(38,0) NOT NULL, + river_id NUMBER(38,0) NOT NULL, + unit_id NUMBER(38,0) NOT NULL, + description VARCHAR(256), + PRIMARY KEY (id), + CONSTRAINT fk_w_river_id FOREIGN KEY (river_id) REFERENCES rivers(id), + CONSTRAINT fk_w_unit_id FOREIGN KEY (unit_id) REFERENCES units(id) +); + + +CREATE SEQUENCE WATERLEVEL_Q_RANGES_ID_SEQ; + +CREATE TABLE waterlevel_q_range ( + id NUMBER(38,0) NOT NULL, + waterlevel_id NUMBER(38,0) NOT NULL, + q NUMBER(38,2) NOT NULL, + PRIMARY KEY (id), + CONSTRAINT fk_wqr_waterlevel_id FOREIGN KEY (waterlevel_id) REFERENCES waterlevel(id) +); + + +CREATE SEQUENCE WATERLEVEL_VALUES_ID_SEQ; + +CREATE TABLE waterlevel_values( + id NUMBER(38,0) NOT NULL, + waterlevel_q_range_id NUMBER(38,0) NOT NULL, + station NUMBER(38,3) NOT NULL, + w NUMBER(38,2) NOT NULL, + PRIMARY KEY (id), + CONSTRAINT fk_wv_waterlevel_q_range_id FOREIGN KEY (waterlevel_q_range_id) REFERENCES waterlevel_q_range(id) +); + + +CREATE SEQUENCE WATERLEVEL_DIFFERENCE_ID_SEQ; + +CREATE TABLE waterlevel_difference ( + id NUMBER(38,0) NOT NULL, + river_id NUMBER(38,0) NOT NULL, + unit_id NUMBER(38,0) NOT NULL, + description VARCHAR(256), + PRIMARY KEY (id), + CONSTRAINT fk_wd_river_id FOREIGN KEY (river_id) REFERENCES rivers (id), + CONSTRAINT fk_wd_unit_id FOREIGN KEY (unit_id) REFERENCES units(id) +); + + +CREATE SEQUENCE WATERLEVEL_DIFF_COLUMN_ID_SEQ; + +CREATE TABLE waterlevel_difference_column ( + id NUMBER(38,0) NOT NULL, + difference_id NUMBER(38,0) NOT NULL, + description VARCHAR(256), + PRIMARY KEY (id), + CONSTRAINT fk_wdc_difference_id FOREIGN KEY (difference_id) REFERENCES waterlevel_difference (id) +); + + +CREATE SEQUENCE WATERLEVEL_DIFF_VALUES_ID_SEQ; + +CREATE TABLE waterlevel_difference_values ( + id NUMBER(38,0) NOT NULL, + column_id NUMBER(38,0) NOT NULL, + station NUMBER(38,3) NOT NULL, + value NUMBER(38,2) NOT NULL, + PRIMARY KEY (id), + CONSTRAINT fk_wdv_column_id FOREIGN KEY (column_id) REFERENCES waterlevel_difference_column (id) +); +