DROP DATABASE IF EXISTS jugendgruppe; CREATE DATABASE jugendgruppe; USE jugendgruppe; CREATE TABLE Ort ( OrtID INT AUTO_INCREMENT, PLZ INT, Ort VARCHAR(50), PRIMARY KEY(OrtID) ); CREATE TABLE Person ( PersonID INT AUTO_INCREMENT, Name VARCHAR(50), Vorname VARCHAR(50), Anschrift VARCHAR(50), OrtID INT, Betreuer BOOL, PRIMARY KEY(PersonID), FOREIGN KEY(OrtID) REFERENCES Ort.OrtID ); CREATE TABLE VeranstaltungsKategorie ( KatID INT AUTO_INCREMENT, Name VARCHAR(50), PRIMARY KEY(KatID) ); CREATE TABLE Veranstaltung ( VeranstaltungID INT AUTO_INCREMENT, Kategorie INT, Startdatum DATE, Enddatum DATE, Bezeichnung VARCHAR(50), PRIMARY KEY(VeranstaltungID), FOREIGN KEY(Kategorie) REFERENCES VeranstaltungsKategorie.KatID ); CREATE TABLE MedInformation ( MedID INT AUTO_INCREMENT, Beschreibung, PRIMARY KEY(MedID) ); CREATE TABLE VeranstaltungsTeilnahme ( Teilnehmer INT, Veranstaltung INT, Erlaubnis BOOL, PRIMARY KEY(Teilnehmer), PRIMARY KEY(Veranstaltung), FOREIGN KEY(Teilnehmer) REFERENCES Person.PersonID, FOREIGN KEY(Veranstaltung) REFERENCES Veranstaltung.VeranstaltungID ); CREATE TABLE VeranstaltungVorkommnisse ( VorkommnisID INT AUTO_INCREMENT, Teilnehmer INT, Veranstaltung INT, Vorkommnis VARCHAR(150), PRIMARY KEY(VorkommnisID), FOREIGN KEY(Teilnehmer) REFERENCES Person.PersonID, FOREIGN KEY(Veranstaltung) REFERENCES Veranstaltung.VeranstaltungID ); CREATE TABLE MedInfoZuTeilnehmer ( Teilnehmer INT, MedInfo INT, PRIMARY KEY(Teilnehmer, MedInfo), FOREIGN KEY(Teilnehmer) REFERENCES Person.PersonID, FOREIGN KEY(MedInfo) REFERENCES MedInformation.MedID ); CREATE TABLE VeranstaltungsBetreuer ( Betreuer INT, Veranstaltung INT, Leiter BOOL, PRIMARY KEY(Betreuer, Veranstaltung), FOREIGN KEY(Betreuer) REFERENCES Person.PersonID, FOREIGN KEY(Veranstaltung) REFERENCES Veranstaltung.VeranstaltungID );