CREATE TABLE Komponist_in ( id INTEGER NOT NULL PRIMARY KEY, Vorname VARCHAR(255) NOT NULL, Name VARCHAR(255) NOT NULL, Geburtsdatum DATE NOT NULL, Sterbedatum DATE ); CREATE TABLE Werk ( id INTEGER NOT NULL PRIMARY KEY, Komp_id INTEGER NOT NULL, VOE_Jahr INTEGER, Opus VARCHAR(15), Sammlung VARCHAR(127), Haupttonart VARCHAR(15), Titel VARCHAR(127), Satztitel VARCHAR(127), Aliasname VARCHAR(127), Werkverzeichnis VARCHAR(31), Werkverzeichnisnummer VARCHAR(15), FOREIGN KEY(Komp_id) REFERENCES Komponist_in(id) ); CREATE TABLE Satz ( Werk_id INTEGER NOT NULL, Lfd_Satznummer INTEGER NOT NULL, Nummer VARCHAR(15), Bezeichnung VARCHAR(63), Tonart VARCHAR(15), Aufnahme BLOB, PRIMARY KEY(Werk_id, Lfd_Satznummer), FOREIGN KEY(Werk_id) REFERENCES Werk(id) ); CREATE TABLE Spieler_in ( id INTEGER NOT NULL PRIMARY KEY, Vorname VARCHAR(255) NOT NULL, Nachname VARCHAR(255) NOT NULL ); CREATE TABLE Konzert ( id INTEGER NOT NULL PRIMARY KEY, Datum DATE, Uhrzeit VARCHAR(5), Saal VARCHAR(255) ); CREATE TABLE beherrscht( Werk_id INTEGER NOT NULL, Satz_id INTEGER NOT NULL, Spieler_in_id INTEGER NOT NULL, Vorlauf INTEGER DEFAULT 7, PRIMARY KEY(Werk_id, Satz_id, Spieler_in_id), FOREIGN KEY(Werk_id, Satz_id) REFERENCES Satz(Werk_id, Lfd_Satznummer), FOREIGN KEY(Spieler_in_id) REFERENCES Spieler_in(id) ); CREATE TABLE spielt_in( Konzert_id INTEGER NOT NULL, Spieler_in_id INTEGER NOT NULL, Werk_id INTEGER NOT NULL, Satz_id INTEGER NOT NULL, PRIMARY KEY(Konzert_id, Spieler_in_id, Werk_id, Satz_id), FOREIGN KEY(Konzert_id) REFERENCES Konzert(id), FOREIGN KEY(Werk_id, Satz_id) REFERENCES Satz(Werk_id, Lfd_Satznummer), FOREIGN KEY(Spieler_in_id) REFERENCES Spieler_in(id) );