3. Crow's Foot - Logisch/Implementierung
Student
student_id
name
email
Student_Kurs
student_id (FK)
kurs_id (FK)
note
belegung_datum
Kurs
kurs_id
titel
credits
Implementierung: Hilfstabelle "Student_Kurs" wird explizit gezeichnet.
Sie enthält beide Fremdschlüssel plus die Beziehungsattribute (Note, Datum).
||────O⋖ = Ein Student kann 0 bis viele Belegungen haben
⋖O────|| = Ein Kurs kann 0 bis viele Belegungen haben
4. Resultierende SQL-Tabellen
CREATE TABLE Student (
student_id INT PRIMARY KEY,
name VARCHAR(100),
email VARCHAR(100)
);
CREATE TABLE Kurs (
kurs_id INT PRIMARY KEY,
titel VARCHAR(100),
credits INT
);
CREATE TABLE Student_Kurs (
student_id INT,
kurs_id INT,
note DECIMAL(2,1),
belegung_datum DATE,
PRIMARY KEY (student_id, kurs_id),
FOREIGN KEY (student_id) REFERENCES Student(student_id),
FOREIGN KEY (kurs_id) REFERENCES Kurs(kurs_id)
);