4  Uebersetzung ER-Schema in Relationenschemata

Authors

Jonathan Barthelmes

Igor Dimitrov

Jacob Rose

4.1 Uebersetzung eines ER-Schemas

  • \(\texttt{Addresse}(\underline{\texttt{Ad\_ID}}\texttt{,}\, \texttt{PLZ, Stadt, Strasse, Hausnr})\)
  • \(\ttt{MusikerIn}(\underline{\texttt{M\_ID}}, \texttt{Name, Geb\_Datum, Ad\_ID \(\rightarrow\) Addresse)}\)
  • \(\ttt{Instrument}(\underline{\texttt{Name, Stimmung}})\)
  • \(\ttt{spielt}(\underline{\texttt{M\_ID\(\rightarrow\)MusikerIn, (Name, Stimmung)\(\rightarrow\)Instrument}}, \texttt{bevorzugt})\)
  • \(\ttt{Musikstueck}(\underline{\texttt{MS\_ID}}, \texttt{Titel, Laenge, M\_ID\(\rightarrow\)MusikerIn)}\)
  • \(\ttt{Album}(\underline{\texttt{A\_ID}}, \texttt{Titel, Release\_Datum, Preis, Tracks, M\_ID\(\rightarrow\)MusikerIn)}\)
  • \(\ttt{erscheint}(\underline{\texttt{M\_ID\(\rightarrow\)Musikstueck, A\_ID\(\rightarrow\)Album}}, \texttt{TrackNr})\)
  • \(\ttt{spielt\_mit}(\underline{\texttt{M\_ID\(\rightarrow\)MusikerIn, MS\_ID\(\rightarrow\)Musikstueck}})\)

4.2 Uebersetzung eines ER-Schemas mit Hierarchien

  1. Relationales Schema
  • \(\ttt{Personal}(\underline{\texttt{Pers\_ID}}, \texttt{GebDat, Name, Vorname})\)
  • \(\ttt{MitarbeiterIn}(\underline{\texttt{Pers\_ID\(\rightarrow\)Personal}}, \texttt{Bonus})\)
  • \(\ttt{KundIn}(\underline{\texttt{KundenID\(\rightarrow\)Personal}}, \texttt{Branche})\)
  • \(\ttt{ManagerIn}(\underline{\texttt{Pers\_ID\(\rightarrow\)MitarbeiterIn}}, \texttt{Sektion})\)
  • \(\ttt{ProgrammiererIn}(\underline{\texttt{Pers\_ID\(\rightarrow\)MitarbeiterIn}}, \texttt{Abschluss})\)
  • \(\ttt{Programmiersprache}(\underline{\texttt{ProgSP}})\)
  • \(\ttt{kann}(\underline{\texttt{ProgSP\(\rightarrow\)Programmiersprache, Pers\_ID\(\rightarrow\)ProgrammiererIn}}, \texttt{level})\)
  1. Weitere Methoden fuer is-a:
    • Vorteil: Vermeidung der Redundanz und moeglichen Inkonsitenzenen, die dadurch enstehen koennen.
    • Nachteil: Erhoehter Rechenaufwand durch Zugriff auf Attribute der Oberentitaet nur mit Join.
    • Vorteil: Vermindertee Rechenaufwand durch direkten Zugriff auf Attribute ueber Tupel einziger Relation.
    • Nachteil: Redundante Speicherung der gleichen Informationen.
    • Vorteil: Vermindernde Komplexitaet des Datenbanks durch kleinere Anzahl von Relationen (eine Relation statt zwei oder drei)
    • Nachteil: Moegliche Inkonsitenzen durch den vielen Nullwerten, die von dem Nutzer bei Insertoperationen explizit als null gesetzt werden muessen.

4.3 Feedback

Punkte: 26/28

Zur Aufgabe 1:

Bei Fremdschlüsselverweisen auf Relationen (z.B. in MusikerIn bitte sowas wie wohnt->Adresse) schreiben => -2P.

Rest der 1. passt.

Zur Aufgabe 2:

Zur 1:

Passt alles.

Zur 2:

Ebenfalls.