Zum Hauptinhalt springen

(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)​

info

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!

info

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:

hinweis

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:

funktionale-abhängigkeit-beispiel

StudentID und KursID sind der zusammengesetzte Primärschlüssel.

  • Note ist vollständig abhängig von beiden PrimärschlĂĽsseln, weil man beide braucht, um die Note zu kennen
  • Kursnameist nicht vollständig abhängig von beiden PrimärschlĂĽssel, weil wir den Kursnamen auch kennen, wenn wir nur die KursID kennen.

Zweite Normalform (2NF)​

info

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.