Datenbanken - 3. Semester (Fach) / ER-Modellierung (Lektion)

In dieser Lektion befinden sich 11 Karteikarten

ER-Modellierung

Diese Lektion wurde von zrah erstellt.

Lektion lernen

Diese Lektion ist leider nicht zum lernen freigegeben.

  • Geben sie ein Beispiel für eine 1:1-Beziehung zwischen zwei Tabellen. Ein Student besitzt nur eine Matrikelnummer, eine Matrikelnummer ist einem einzigen Studenten zugehörig. In einer 1:1 Beziehung ist jeweils genau eine Entität exakt einer anderen Entität zugeordnet.
  • In welcher Tabelle liegt bei einer 1:1-Beziehung der Fremdschlüssel? In der Tabelle Student oder in der Tabelle Matrikelnummer. Hier wird der Primärschlüssel einer der beiden Tabellen als Fremdschlüssel der anderen Tabelle in eine zusätzliche Spalte aufgenommen.
  • Geben sie ein Beispiel für eine 1:N-Beziehung zwischen zwei Tabellen. Ein Kunde kann mehrere Rechnungen bekommen, eine Rechnung ist jedoch nur einem einzigen Kunden zugeordnet. In einer 1:N Beziehung steht eine Entität (Master) mehreren Entitäten (Details) gegenüber.
  • In welcher Tabelle liegt bei einer 1:N-Beziehung der Fremdschlüssel? 1-Tabelle enthält den PrimärschlüsselN-Tabelle den Fremdschlüssel.
  • Geben sie ein Beispiel für eine N:M-Beziehung! Ein Laden kann verschiedene Produkte haben, genauso kann aber das Produkt in verschiedenen Läden erhältlich sein. Auf beiden Seiten können mehrere Entitäten in einer Beziehung stehen.
  • In welcher Tabelle werden bei einer N:M-Beziehung die Fremdschlüssel gespeichert? Dazu wird eine zusätzliche Tabelle benötigt, die die Primärschlüssel beider Tabellen als Fremdschlüssel enthält.
  • Welche drei Arten von unären, rekursiven Beziehungen gibt es? one:one, one:many, many:many
  • Erklären sie die FAN-Trap und wie sie vermieden werden kann. Wie verlaufen dabei die 1:M-Beziehungen zwischen den Tabellen? Eine Verbindung, die mehrdeutig ist, obwohl sie eindeutig sein sollte, wird als FAN-Trap bezeichnet. Beispiel: Ein Benutzer kann mehrere Adressen und mehrere Bestellungen haben (1:M – user:adress, 1:M – user:orders). Es besteht jedoch keine direkte Beziehung zwischen Adresse und Bestellungen. Wird nun nachträglich die Adresse geändert, kann nicht mehr nachvollzogen, an welche (alte) Adresse die Bestellungen abgeschickt wurde. Existiert nun zusätzlich eine direkte Beziehung zwischen orders und adresse,...address_id in 'orders' speichern --> Zuordnung eindeutig, FAN-Trap umgangen (neue Verbindung 1:M – adress:orders).
  • Erklären sie die CHASM-Trap und wie sie vermieden werden kann. Wie verlaufen dabei die 1:M-Beziehungen zwischen den Tabellen? Eine CHASM-Trap bezeichnet eine fehlende Verbindung, obwohl eine Verbindung existieren sollte. Beispiel: Eine Stadt besitzt mehrere Adressen (1:M – Stadt:Adresse). Es existiert eine zusätzliche Spalte für das Land, welche jedoch nur optional mit einer Stadt verbunden ist. Somit kann man eine Adresse keinem Land zuordnen. Der Fremdschlüssel zwischen Land und Stadt muss also ein Pflichtfeld sein, um eine Adresse eindeutig einem Land zuordnen zu können.
  • Was ist eine redundante Beziehung zwischen Tabellen? Eine Information kann auch über einen anderen Weg als über den direkten erhalten werden. Eine direkte Beziehung kann also entfernt werden. Beispiel: Eine Frau KANN einen Mann oder ein Kind haben. Das gleiche gilt für den Mann. Ein Kind MUSS jedoch einem Mann und einer Frau zugeordnet sein. Eine direkte Beziehung zwischen Mann und Frau wäre also redundant, weil die Information auch über das Kind erhalten werden kann.
  • + (siehe oben) Wann nehmen sie gezielt Redundanzen in ihrem Datenmodell in Kauf (Denormalisierung)? Zur Performancesteigerung (weil zu viele Joins die Performance verschlechtern).