Files
kla-opp-schulzeug/AWP_11fi5/jugengruppe.sql
Janik Graf1 [Schüler/-in Klara-Oppenheimer-Schule] 151f5ff454 fixed foreign & primary keys
2021-06-07 14:53:08 +02:00

90 lines
2.0 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 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)
);