Relationales Datenmodell 09
Auf dieser Seite wird alles dargestellt, was man in Informatik 09 über das relationale Datenmodell wissen muss.
Einen vollständigen Überblick über das relationale Datenmodell findet man hier: relationales Datenmodell
Wofür braucht man relationale Datenmodelle?
Mithilfe von relationalen Datenmodellen kann man Datenbanken planen:
Realität -> Anforderungsermittlung -> Entity-Relationship-Modell -> Relationales Datenmodell -> Datenbanksystem
- Um ein relationales Datenmodell zu erstellen, muss erst ein Entity-Relationship-Modell vorliegen.
- Das Entity-Relationship-Modell kann mithilfe von MySQL-Workbench in ein relationales Datenmodell übertragen werden.
- Aus MySQL-Workbench kann man das relationale Datenmodell direkt in die Datenbank übertragen.
Primärschlüssel und Fremdschlüssel
Im relationalen Datenmodell werden die Zusammenhänge zwischen den Tabellen durch Primärschlüssel und Fremdschlüssel hergestellt.
- Primärschlüssel: Der Primärschlüssel (Primary Key; abgekürzt: PK) ist ein Attribut, das einen Datensatz (=eine Zeile in der Tabelle) eindeutig identifiziert.
- Primärschlüssel haben in MySQL Workbench ein Schlüsselsymbol.
- Man benennt sie am besten mit
id
.
- Fremdschlüssel: Der Fremdschlüssel (Foreign Key; abgekürzt: FK) stellt die Verbindung zwischen Tabellen her: Ein Fremdschlüssel verweist auf den Primärschlüssel einer anderen Tabelle.
- Fremdschlüssel in 1:n-Beziehungen: Fremdschlüssel werden von MySQL-Workbench automatisch erzeugt, wenn man eine 1:n-Beziehung herstellt, z.B.:
lehrer_id
in der Tabelleschueler
. - Fremdschlüssel in n:m-Beziehungen: Für n:m-Beziehungen erzeugt MySQL-Workbench eine Zwischentabelle; z.B. die Tabelle
belegt
. In dieser Tabelle sind zwei Fremdschlüssel:schueler_id
undkurs_id
. Zusammen bilden sie den Primärschlüssel der Tabellebelegt
. Denn: die Kombination ausschueler_id
undkurs_id
identifiziert eindeutig eine Zeile in der Tabellebelegt
. (Kein Schüler kann zweimal den gleichen Kurs belegen...)
- Fremdschlüssel in 1:n-Beziehungen: Fremdschlüssel werden von MySQL-Workbench automatisch erzeugt, wenn man eine 1:n-Beziehung herstellt, z.B.:
Wie sieht die Datenbank dann aus?
Die Datenbank kann dann z.B. so aussehen wie unten.
- Die Primärschlüssel (
id
) identifizieren in den Tabellenschueler
,kurs
und
lehrer
eindeutig die Datensätze (=Zeilen).
- In der Tabelle
belegt
besteht der Primärschlüssel aus der Kombination vonschueler_id
undkurs_id
. - Durch die Fremdschlüssel (
schueler_id
,kurs_id
undlehrer_id
) wird die Beziehung zwischen den Tabellen hergestellt.
Tabelle
|
Tabelle
Schüler 2 (= Stefanie Schwarzmüller) |
Tabelle
|
Tabelle
|