Datenbanktheorie » MySQL 01 CREATE TABLES
/* <-- 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 zerlegte Zeitintervalle */

DROP TABLE IF EXISTS zeitintervall_zerlegt;

CREATE TABLE zeitintervall_zerlegt (
    row_id INT NOT NULL AUTO_INCREMENT,
    fallnr INT NOT NULL,
    beginn DATETIME NOT NULL,
    ende DATETIME NULL,
    PRIMARY KEY (fallnr, beginn),
    UNIQUE (row_id),
    KEY (fallnr, row_id, beginn),
    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)
);