/* Oracle, Loesung 2, Tabellen erstellen, die benoetigt werden */ /* Loeschbefehle aktivieren, falls die Tabellen schon existieren */ /* DROP TABLE zeitintervall_zahlen_0_bis_9; */ /* DROP TABLE zeitintervall_tag; */ /* DROP TABLE zeitintervall_sortiert; */ /* DROP TABLE zeitintervall_gesamt_u_luecken; */ /* DROP TABLE zeitintervall_ergebnis; */ /* Tabelle, wo die Zahlen von 0 bis 9 eingefuegt werden */ CREATE TABLE zeitintervall_zahlen_0_bis_9 ( zahl NUMBER(10,0) NOT NULL, PRIMARY KEY (zahl) ); /* Tabelle fuer Tage */ CREATE TABLE zeitintervall_tag ( tag DATE NOT NULL, PRIMARY KEY (tag) ); /* Tabelle fuer sortierte Zeitintervalle */ CREATE TABLE zeitintervall_sortiert ( row_id NUMBER(10,0) NOT NULL, row_id_plus_1 NUMBER(10,0) NOT NULL, fallnr NUMBER(10,0) NOT NULL, beginn DATE NOT NULL, ende DATE NOT NULL, next_beginn DATE, PRIMARY KEY (fallnr, beginn, ende), UNIQUE (row_id) ); /* Tabelle fuer Gesamt-Intervalle und Luecken zwischen diesen */ CREATE TABLE zeitintervall_gesamt_u_luecken ( fallnr NUMBER(10,0) NOT NULL, beginn DATE NOT NULL, beginntag DATE, ende DATE NOT NULL, endetag DATE, luecke VARCHAR(4) NOT NULL, faktor NUMBER(1,0) NOT NULL, PRIMARY KEY (fallnr, beginn, ende) ); /* Tabelle fuer Ergebnis */ CREATE TABLE zeitintervall_ergebnis ( fallnr NUMBER(10,0) NOT NULL, tag DATE NOT NULL, minuten NUMBER(10,0), PRIMARY KEY (fallnr, tag) );