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 VARCHAR(50), PRIMARY KEY(MedID) ); CREATE TABLE VeranstaltungsTeilnahme ( Teilnehmer INT, Veranstaltung INT, Erlaubnis BOOL, PRIMARY KEY(Teilnehmer, 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) );