Datenbanktheorie » MSSQL 03 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)
);

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

CREATE TABLE zeitintervall_minute (
    minute INT NOT NULL,
    PRIMARY KEY (minute)
);

/* Tabelle erstellen, worin die Testdaten pro Minute aufgespalten werden sollen */

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

CREATE TABLE zeitintervall_testdaten_pro_minute (
    row_id INT NOT NULL,
    fallnr INT NOT NULL,
    datum_plus_minute DATETIME NOT NULL,
    duplikat BIT NOT NULL,
    PRIMARY KEY (fallnr, datum_plus_minute, 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)
);