Inhaltsverzeichnis
m:n-Relationen
Zwischen Lehrkraft und Fach gibt es die Beziehung unterrichtet.
- Eine Lehrkraft unterrichtet mehrere Fächer.
- Ein Fach wird von mehreren Lehrkräften unterrichtet.
Dass auf einer Seite der Beziehung ein "m" statt eines "n" verwendet wird ist eine Kuriosität, deren Etymologie ich bisher nicht ergründen konnte. Logischer (und in der englischen Literatur selten auch verwendet) wäre die Bezeichnung "n:n-Relation". Es ist übrigens ohne Bedeutung, auf welcher Seite das "m" und auf welcher das "n" steht.
Speichern einer m:n-Relation in der Datenbank
Es ist wichtig, dass Du Dir zuerst klarmachst, wie es nicht funktionieren kann:
Es reicht weder, in der Tabelle Lehrkraft eine Fremdschlüsselspalte fürs Fach einzuführen, noch, in der Tabelle Fach eine Fremdschlüsselspalte für die Lehrkraft einzuführen, denn: In jeder Zelle kann ja nur ein einziger Wert gespeichert werden!
- Herr Arndt unterrichtet Mathe, Deutsch und Informatik. Wie soll das in den obigen Tabellen eingetragen werden?
- Zudem unterrichtet auch Frau Bunt alle drei Fächer…
Lösung: Erstellen einer Beziehungstabelle
- Eine 1:n-Beziehung zwischen den Tabellen A und B bilden wir im Tabellenschema ab, indem wir in der Tabelle B eine Fremdschlüsselspalte hinzufügen, in der wir Primärschlüsselwerte der Spalte A speichern.
- Eine n:m-Beziehung zwischen den Tabellen A und B bilden wir ab, indem wir eine zusätzliche Beziehungstabelle erstellen, die zwei Fremdschlüsselspalten enthält, die Primärschlüsselwerte von A bzw. von B speichern.
Üblicherweise verwendet man als Primärschlüssel der Beziehungstabelle die Kombination beider Fremdschlüsselspalten. Es kommt in der Praxis aber auch vor, dass Beziehungstabellen zusätzlich noch einen künstlichen Primärschlüssel erhalten.
Aufgabe 1
Zeichne zu folgenden Relationen das Klassendiagramm (ohne Attribute) und schreibe dann das Tabellenschema (Primärschlüssel, notwendige Fremdschlüssel und mindestens ein weiteres Attribut):
- Kind wird geboren von Mutter
- CD enthält Song
- Schülerin bucht Wahlkurs
- Person spielt Instrument
- Planet umkreist Sonne
(Bemerkung: Jeder Stern ist eine Sonne und viele davon haben Planeten) - Jäger jagt Beute
(Bemerkung: Es geht um Tierarten) - Schüler/in geht in Klasse
- Lehrkraft unterrichtet Klasse
- Legierung besteht aus Metall
- Molekül besteht aus Element