/* SQLite: Loesung 2, Tabellen erstellen, die benoetigt werden */ /* Tabelle, wo die Zahlen von 0 bis 9 eingefuegt werden */ DROP TABLE IF EXISTS zeitintervall_zahlen_0_bis_9; CREATE TABLE zeitintervall_zahlen_0_bis_9 ( zahl INTEGER NOT NULL, PRIMARY KEY (zahl) ); /* Tabelle fuer Tage */ DROP TABLE IF EXISTS zeitintervall_tag; CREATE TABLE zeitintervall_tag ( tag DATE NOT NULL, PRIMARY KEY (tag) ); /* Tabelle, um fuer das Ergebnis irrelevante Intervalle zu identifizieren */ DROP TABLE IF EXISTS zeitintervall_irrelevant; CREATE TABLE zeitintervall_irrelevant ( row_id INTEGER NOT NULL, PRIMARY KEY (row_id) ); /* Tabelle fuer sortierte Zeitintervalle */ DROP TABLE IF EXISTS zeitintervall_sortiert; CREATE TABLE zeitintervall_sortiert ( row_id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, fallnr INTEGER NOT NULL, beginn DATETIME NOT NULL, ende DATETIME NOT NULL, next_beginn DATETIME ); /* Temp-Table, da SQLite keine UPDATE-JOIN-Befehle erlaubt */ DROP TABLE IF EXISTS zeitintervall_sortiert_temp; CREATE TABLE zeitintervall_sortiert_temp ( row_id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, fallnr INTEGER NOT NULL, beginn DATETIME NOT NULL, ende DATETIME NOT NULL ); /* Tabelle fuer Ergebnis */ DROP TABLE IF EXISTS zeitintervall_ergebnis; CREATE TABLE zeitintervall_ergebnis ( fallnr INTEGER NOT NULL, tag DATE NOT NULL, minuten INTEGER, PRIMARY KEY (fallnr, tag) );