diff backend/doc/schema/oracle.sql @ 7352:c6825778de1f

Merged double-precision branch.
author Sascha L. Teichmann <teichmann@intevation.de>
date Wed, 16 Oct 2013 13:03:13 +0200
parents 28748bb1b676
children 44a9233c62eb
line wrap: on
line diff
--- a/backend/doc/schema/oracle.sql	Wed Oct 16 12:39:33 2013 +0200
+++ b/backend/doc/schema/oracle.sql	Wed Oct 16 13:03:13 2013 +0200
@@ -27,17 +27,18 @@
 
 CREATE TABLE attributes (
     id              NUMBER(38,0) NOT NULL, 
-    value           VARCHAR2(255) NOT NULL UNIQUE, 
+    value           VARCHAR2(255) UNIQUE, 
     primary key     (id)
 );
-
+-- value can not be NOT NULL in Oracle:
+-- '' is needed here and silently converted to NULL in Oracle
 
 -- CROSS_SECTION_LINES
 CREATE SEQUENCE CROSS_SECTION_LINES_ID_SEQ;
 
 CREATE TABLE cross_section_lines (
     id                  NUMBER(38,0) NOT NULL,
-    km                  NUMBER(38,2) NOT NULL,
+    km                  NUMBER(38,5) NOT NULL,
     cross_section_id    NUMBER(38,0) NOT NULL, 
     PRIMARY KEY         (id),
     UNIQUE (km, cross_section_id)
@@ -53,7 +54,7 @@
     x                       NUMBER(38,2) NOT NULL,
     y                       NUMBER(38,2) NOT NULL,
     cross_section_line_id   NUMBER(38,0) NOT NULL,
-    PRIMARY KEY             (id),
+    PRIMARY KEY             (id)
 );
 
 
@@ -94,7 +95,7 @@
     id                  NUMBER(38,0) NOT NULL,
     description         VARCHAR2(255) NOT NULL,
     bfg_id              VARCHAR2(50),
-    kind                NUMBER(38,0) NOT NULL DEFAULT 0,
+    kind                NUMBER(38,0) DEFAULT 0 NOT NULL,
     gauge_id            NUMBER(38,0) NOT NULL,
     time_interval_id    NUMBER(38,0),
     PRIMARY KEY         (id),
@@ -121,9 +122,9 @@
     aeo                 NUMBER(38,2) NOT NULL,
     datum               NUMBER(38,2) NOT NULL, 
     name                VARCHAR2(255) NOT NULL,
-    station             NUMBER(38,2) NOT NULL,
+    station             NUMBER(38,4) NOT NULL,
     official_number     NUMBER(38,0),
-    range_id            NUMBER(38,0) NOT NULL,
+    range_id            NUMBER(38,0),
     -- TODO: remove river id here because range_id references river already
     river_id            NUMBER(38,0) NOT NULL,
     PRIMARY KEY         (id),
@@ -215,8 +216,6 @@
     gauge_id            NUMBER(38,0) NOT NULL,
     named_value_id      NUMBER(38,0) NOT NULL,
     time_interval_id    NUMBER(38,0),
-
-    -- TODO: better checks
     UNIQUE (gauge_id, named_value_id, time_interval_id),
     PRIMARY KEY         (id)
 );
@@ -252,7 +251,8 @@
     b                   NUMBER(38,10),
     river_id            NUMBER(38,0),
     UNIQUE (river_id, a, b),
-    PRIMARY KEY (id)
+    PRIMARY KEY (id),
+    CHECK (a < b)
 );
 
 
@@ -263,7 +263,7 @@
 CREATE TABLE rivers (
     id                  NUMBER(38,0) NOT NULL,
     official_number     NUMBER(38,0),
-    km_up               NUMBER(38,0) NOT NULL DEFAULT 0,
+    km_up               NUMBER(38,0) DEFAULT 0 NOT NULL,
     name                VARCHAR2(255) NOT NULL UNIQUE,
     wst_unit_id         NUMBER(38,0) NOT NULL,
     PRIMARY KEY         (id)
@@ -325,7 +325,8 @@
     id                  NUMBER(38,0) NOT NULL,
     description         VARCHAR2(255),
     name                VARCHAR2(255) NOT NULL,
-    position            NUMBER(38,0) NOT NULL DEFAULT 0,
+    source              VARCHAR(256),
+    position            NUMBER(38,0) DEFAULT 0 NOT NULL,
     time_interval_id    NUMBER(38,0),
     wst_id              NUMBER(38,0) NOT NULL,
     UNIQUE (wst_id, name),
@@ -416,7 +417,7 @@
 ALTER TABLE wst_column_q_ranges ADD CONSTRAINT cWstColumnQRangesWstQRanges FOREIGN KEY (wst_q_range_id) REFERENCES wst_q_ranges ON DELETE CASCADE;
 ALTER TABLE wst_columns ADD CONSTRAINT cWstColumnsWsts FOREIGN KEY (wst_id) REFERENCES wsts ON DELETE CASCADE;
 ALTER TABLE wst_column_values ADD CONSTRAINT cWstColumnValuesWstColumns FOREIGN KEY (wst_column_id) REFERENCES wst_columns ON DELETE CASCADE;
-ALTER TABLE wst_q_ranges ADD CONSTRAINT cWstQRangesRanges FOREIGN KEY (range_id) REFERENCES RANGES ON LETE CASCADE;
+ALTER TABLE wst_q_ranges ADD CONSTRAINT cWstQRangesRanges FOREIGN KEY (range_id) REFERENCES RANGES ON DELETE CASCADE;
 ALTER TABLE wsts ADD CONSTRAINT cWstsRivers FOREIGN KEY (river_id) REFERENCES rivers ON DELETE CASCADE;
 ALTER TABLE wsts ADD CONSTRAINT cWstsWstKinds FOREIGN KEY (kind) REFERENCES wst_kinds;
 

http://dive4elements.wald.intevation.org