91 lines
2.0 KiB
SQL
91 lines
2.0 KiB
SQL
DROP DATABASE IF EXISTS jugendgruppe;
|
|
CREATE DATABASE jugendgruppe;
|
|
USE jugendgruppe;
|
|
|
|
CREATE TABLE Ort
|
|
(
|
|
OrtID INT AUTO_INCREMENT,
|
|
PLZ VARCHAR(50),
|
|
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,
|
|
Geburtsdatum DATE,
|
|
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)
|
|
);
|
|
|
|
|