Files
kla-opp-schulzeug/AWP_11fi5/jugengruppe.sql
Janik Graf1 [Schüler/-in Klara-Oppenheimer-Schule] a863201f2d Restliche Tabellen hinzugefÃgt
2021-06-07 14:48:18 +02:00

91 lines
1.9 KiB
SQL

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
);