(5) Relationale Datenbanken
Relationale Datenstrukturen​
Primärschlüssel​
Relationale Integritätsregeln (nur zusammenfassung)​
Transformationsregeln vom ERD zu Relationen​
Die Transformationsregeln beschreiben, wie man ein ER-Diagramm (Entity-Relationship-Diagramm) in relationale Tabellen umwandelt. Hier sind die wichtigsten Regeln zusammengefasst:
Regel 1: Entitätstypen zu Tabellen​
Jeder Entitätstyp (z.B. Kurs, Schüler) wird als Tabelle dargestellt.
Jede Tabelle benötigt einen Primärschlüssel, der für die eindeutige Identifikation der Datensätze in der Tabelle sorgt.
Regel 2: n:m-Beziehungen​
n:m-Beziehungen (z.B. viele SchĂĽler besuchen viele Kurse) werden durch eine eigene Tabelle dargestellt.
Diese Tabelle enthält:
Die Primärschlüssel der beiden Entitätstypen als Fremdschlüssel.
Eventuell auch eigene Attribute, die fĂĽr die Beziehung relevant sind (z.B. Fehlstunden).
Beispiel:
Kurs: KNR, Name
SchĂĽler: SNR, Name, Vorname
besucht (Beziehungstabelle): KNR, SNR, Fehlstunden
Hier stellt die Tabelle besucht eine n:m-Beziehung zwischen Kurs und SchĂĽler dar.
Regel 3: 1:n- und 1:1-Beziehungen mit eigenen Attributen​
1:n- und 1:1-Beziehungen mit eigenen Attributen (z.B. eine Beziehung, die zusätzliche Informationen wie Fehlstunden enthält) werden durch eine eigene Tabelle dargestellt.
Diese Tabelle enthält:
Die Primärschlüssel der beiden Entitätstypen als Fremdschlüssel.
Die zusätzlichen Attribute der Beziehung.
Regel 4: 1:n- und 1:1-Beziehungen ohne eigene Attribute​
Regel 4a: 1:n-Beziehung ohne eigene Attribute​
Der Primärschlüssel des Entitätstyps auf der 1-Seite wird als Fremdschlüssel in der Tabelle des Entitätstyps auf der n-Seite gespeichert.
Beispiel:
Klasse: KlBez, KlRaum, LNR
SchĂĽler: SNR, Name, Vorname, KlBez
In der Tabelle SchĂĽler wird KlBez als FremdschlĂĽssel gespeichert, um die 1:n-Beziehung zwischen Klasse und SchĂĽler darzustellen.
Regel 4b: 1:1-Beziehung ohne eigene Attribute​
Der Primärschlüssel des ersten Entitätstyps wird gleichzeitig als Primär- und Fremdschlüssel im zweiten Entitätstyp gespeichert.
Beispiel:
SchĂĽler: SNR, Name, Vorname, KlBez
SchĂĽlerPrivat: SNR, Konfession, Herkunft
SNR ist hier der Primär- und Fremdschlüssel, der die 1:1-Beziehung zwischen den beiden Tabellen beschreibt.
Regel 4c: Wenn 4a oder 4b nicht anwendbar sind​
Wenn keine der beiden Regeln (4a oder 4b) anwendbar ist, wird fĂĽr die Beziehung eine eigene Tabelle erstellt.
Beispiel:
Eine Ehe zwischen zwei Entitäten wie Männer und Frauen: Da nicht jeder verheiratet sein muss, werden leere Felder in den Tabellen vermieden, indem eine separate Tabelle Ehe erstellt wird, die beide Fremdschlüssel (Ehemann, Ehefrau) enthält.
Richtige Lösung:
Männer: Name, Frauen: Name -> Ehe: Ehemann, Ehefrau
Zusammengefasst:
- 1:n-Beziehung ohne eigene Attribute: Primärschlüssel der „1“-Seite als Fremdschlüssel in der „n“-Seite.
- 1:1-Beziehung ohne eigene Attribute: Primärschlüssel des ersten Entitätstyps als Primär- und Fremdschlüssel im zweiten Entitätstyp.
- n:m-Beziehung: Eigene Tabelle mit den Fremdschlüsseln beider Entitätstypen und eigenen Attributen.
- Beziehungen mit eigenen Attributen: Eigene Tabelle fĂĽr jede Beziehung.
Diese Regeln sorgen dafĂĽr, dass das ER-Modell in eine relationale Datenbankstruktur umgewandelt wird, die effektiv und effizient mit den Daten arbeiten kann.
Der Fremdschlüssel steht immer auf der n-Seite der Beziehung. Zum Beispiel 1 Klasse hat n Schüler. In der Schülertabelle steht der Fremschlüssel (KlassenNr = Primärschlüssel von Schule)
- Referenzielle Integrität
Referenzielle Integrität ist eine Regel in relationalen Datenbanken, die sicherstellt, dass Beziehungen zwischen Tabellen konsistent bleiben.
Konkret bedeutet das: Ein Fremdschlüssel (Foreign Key) in einer Tabelle muss immer auf einen gültigen Primärschlüssel in einer anderen (oder derselben) Tabelle verweisen.
For example, if an orders table has a customer_id foreign key, referential integrity ensures that every customer_id exists in the customers table — you can't insert an order for a non-existent customer, and you can't delete a customer that's still referenced in orders (unless handled explicitly).
Normalisierung (erste 3 Normalformen):​
Erste Normalform (1NF)​
Definition: Eine Relation ist in der ersten Normalform, wenn alle Attribute nur atomare Werte enthalten.
Diese Definition besagt, dass alle Attribute nur einfache Attributwerte enthalten dĂĽrfen. Dies wird wir aber bereits bei der Definition einer (normalisierten) Relation gefordert. Damit sind alle Relationen automatisch in der ersten Normalform!
Die Definition der ersten Normalform ist historisch bedingt, da E. F. Codd in der Originaldefinition einer Relation erlaubt hatte, dass eine Relation auch nicht atomare Attribute enthalten darf.
Funktionale Abhängigkeit​
Die Qualität einer Relation hängt wesentlich von den internen Zusammenhängen zwischen den einzelnen Attributen ab. Wir befassen uns daher mit diesen Zusammenhängen, um daraus weitere Normalformen abzuleiten. Folgende Definition beschreibt die Abhängigkeiten der einzelnen Attribute untereinander und ist daher besonders wichtig:
Definition: Ein Attribut Y einer Relation R heißt funktional abhängig vom Attribut X derselben Relation, wenn zu jedem X-Wert höchstens ein Y-Wert möglich ist.
Die Definition beschränkt sich nicht auf einzelne singuläre Attribute. X und Y können auch zusammengesetzte Attribute sein. Ist Y von X funktional abhängig, so folgt aus einem X-Wert höchstens ein Y-Wert, und wir schreiben: X->Y
Beispiel:
StudentID und KursID sind der zusammengesetzte Primärschlüssel.
Noteist vollständig abhängig von beiden Primärschlüsseln, weil man beide braucht, um die Note zu kennenKursnameist nicht vollständig abhängig von beiden Primärschlüssel, weil wir den Kursnamen auch kennen, wenn wir nur dieKursIDkennen.
Zweite Normalform (2NF)​
Definition: Eine Relation ist in der zweiten Normalform, wenn sie in der ersten Normalform ist, und jedes Nichtschlüsselattribut voll funktional vom Primärschlüssel abhängt.
3NF: 2NF ist erfĂĽllt und kein Attribut ...Westermann ab S. 591
Definition: Erste Normalform Eine Relation ist in der ersten Normalform, wenn alle zugrunde liegenden Gebiete nur atomare Werte enthalten
Kontrollfragen​
- Normalisierung ĂĽben.
Welche Aussagen sind richtig und warum?​
-
Das relationale Datenmodell ist nicht weitverbreitet.
-
Die Werte eines Primärschlüssels müssen immer eindeutig sein.
-
m:n- Beziehungen erfordern immer eine Kreuztabelle.
-
Dateninkonsistenz ist ein gewollter Zustand der Datenbank.
-
Ein Primärschlüssel besteht immer nur aus einem Attribut.
-
Jede Tabelle muss mindestens einen FremdschlĂĽssel enthalten.
-
Änderungsanomalien können durch Datenredundanz entstehen.
-
Was ist referenzielle Integrität und wie wird diese erfüllt?
-
Wozu dient ein FremdschlĂĽssel?
Er sichert die referenzielle Integrität der Daten. Er stellt sicher, dass ein Wert in einer Tabelle nur dann verwendet werden darf, wenn er in einer anderen Tabelle als Primärschlüssel (oder Unique Key) existiert.