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}})\)
Uebersetzung eines ER-Schemas mit Hierarchien
- 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})\)
- 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.
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.