/* <-- zurück zu Zeitintervalle in SQL verarbeiten */ /* MySQL: Tabellen erstellen, die benötigt werden */ /* Tabelle, wo die Zahlen von 0 bis 9 eingefügt werden */ DROP TABLE IF EXISTS zeitintervall_zahlen_0_bis_9; CREATE TABLE zeitintervall_zahlen_0_bis_9 ( zahl INT NOT NULL, PRIMARY KEY (zahl) ); /* Tabelle für Tage */ DROP TABLE IF EXISTS zeitintervall_tag; CREATE TABLE zeitintervall_tag ( tag DATE NOT NULL, PRIMARY KEY (tag), KEY (tag) ); /* Tabelle für sortierte Zeitintervalle */ DROP TABLE IF EXISTS zeitintervall_sortiert; CREATE TABLE zeitintervall_sortiert ( row_id INT NOT NULL AUTO_INCREMENT, fallnr INT NOT NULL, beginn DATETIME NOT NULL, ende DATETIME NOT NULL, next_beginn DATETIME, PRIMARY KEY (fallnr, beginn, ende), UNIQUE (row_id), KEY (fallnr, row_id, beginn) ); /* Tabelle für Gesamt-Intervalle und Lücken zwischen diesen */ DROP TABLE IF EXISTS zeitintervall_gesamt_und_luecken; CREATE TABLE zeitintervall_gesamt_und_luecken ( fallnr INT NOT NULL, beginn DATETIME NOT NULL, beginntag DATE, ende DATETIME NOT NULL, endetag DATE, luecke VARCHAR(1) NOT NULL, faktor INT NOT NULL, PRIMARY KEY (fallnr, beginn, ende) ); /* Tabelle für Ergebnis */ DROP TABLE IF EXISTS zeitintervall_ergebnis; CREATE TABLE zeitintervall_ergebnis ( fallnr INT NOT NULL, tag DATE NOT NULL, minuten INT, PRIMARY KEY (fallnr, tag) );