CREATE TABLE Konto(
KontoID CHAR(4) NOT NULL UNIQUE,
NAME VARCHAR(30) NOT NULL,
EMail VARCHAR(30) UNIQUE,
Punkte INTEGER,
PRIMARY KEY(KontoID),
CHECK(Punkte < 1000),
CHECK(Punkte >= 0)
);
CREATE TABLE Eintrag(
PostID INT NOT NULL UNIQUE,
Autor VARCHAR(30) REFERENCES KontoID ON DELETE CASCADE,
Datum DATE,
Anonym BOOLEAN,
PRIMARY KEY(PostID)
);
INSERT INTO Eintrag VALUES (10,'1002','2005-11-11',FALSE);
SELECT *
FROM Eintrag;
CREATE TABLE Kommentar(
KontoID CHAR(4) REFERENCES KontoID ON DELETE CASCADE,
PostID CHAR(4) REFERENCES PostID ON DELETE CASCADE,
Zeit TIMESTAMP NOT NULL,
Text VARCHAR(1024),
PRIMARY KEY(KontoID, PostID, Zeit)
);
ALTER TABLE
Eintrag
ADD
Punkte INTEGER;
ALTER TABLE
Eintrag
ADD
Constraint PunkteRange CHECK(Punkte < 100);
ALTER TABLE
Eintrag
ADD
Inhalt VARCHAR(1024);
SELECT *
FROM Eintrag;
ALTER TABLE
Eintrag
DROP Anonym;