Datenbanktheorie » MSSQL 01 CREATE TABLES
/* <-- zurück zu Zeitintervalle in SQL verarbeiten */

/* SQL Server: Tabellen anlegen, die benötigt werden */

/* Tabelle für Tage anlegen */

IF EXISTS (SELECT * FROM sys.tables WHERE name = 'zeitintervall_tag')
DROP TABLE zeitintervall_tag;

CREATE TABLE zeitintervall_tag (
    tag DATETIME NOT NULL,
    PRIMARY KEY (tag)
);

/* Tabelle für zerlegte Zeitintervalle */

IF EXISTS (SELECT * FROM sys.tables WHERE name = 'zeitintervall_zerlegt')
DROP TABLE zeitintervall_zerlegt;

CREATE TABLE zeitintervall_zerlegt (
    row_id INT NOT NULL IDENTITY(1,1),
    fallnr INT NOT NULL,
    beginn DATETIME NOT NULL,
    ende DATETIME NULL,
    PRIMARY KEY (fallnr, beginn),
    UNIQUE (row_id)
);

/* Tabelle für Ergebnis */

IF EXISTS (SELECT * FROM sys.tables WHERE name = 'zeitintervall_ergebnis')
DROP TABLE zeitintervall_ergebnis;

CREATE TABLE zeitintervall_ergebnis (
    fallnr INT NOT NULL,
    tag DATETIME NOT NULL,
    minuten INT,
    PRIMARY KEY (fallnr, tag)
);