\documentclass{bschlangaul-aufgabe}
\bLadePakete{er,rmodell}
\begin{document}
\bAufgabenMetadaten{
  Titel = {: ER-Modell},
  Thematik = {Schulverwaltung},
  Referenz = 46116-2018-H.T2-TA2-A5,
  RelativerPfad = Examen/46116/2018/09/Thema-2/Teilaufgabe-2/Aufgabe-5.tex,
  ZitatSchluessel = db:pu:wh,
  ZitatBeschreibung = {Aufgabe 1},
  BearbeitungsStand = mit Lösung,
  Korrektheit = unbekannt,
  Ueberprueft = {unbekannt},
  Stichwoerter = {Entity-Relation-Modell, Relationenmodell},
  EinzelpruefungsNr = 46116,
  Jahr = 2018,
  Monat = 09,
  ThemaNr = 2,
  TeilaufgabeNr = 2,
  AufgabeNr = 5,
}

Überführen Sie das Datenbankschema in ein
ER-Diagramm\index{Entity-Relation-Modell}. Verwenden Sie hierfür die
bereits eingezeichneten Entity-Typen und Relationship-Typen. Weisen Sie
die Relationen\index{Relationenmodell} zu und schreiben Sie deren Namen
in die dazugehörigen Felder. Fügen Sie, falls erforderlich, Attribute
hinzu und beschriften Sie die Beziehungen. Markieren Sie
Schlüsselattribute durch unterstreichen.

Gegeben sei das folgende Datenbankschema, wobei Primärschlüssel
unterstrichen und Fremdschlüssel überstrichen sind. Die von einem
Fremdschlüssel referenzierte Relation ist in eckigen Klammem nach dem
Fremdschlüsselattribut angegeben.
\footcite[Aufgabe 1]{db:pu:wh}

\bigskip

{
  \noindent
  \ttfamily
  \footnotesize
  Schüler (%
    \bPrimaer{SchülerID},
    SVorname,
    SNachname,
    \bFremd{KlassenID}[Klassen],
    Geburtsdatum%
  )\\\\
  Lehrer (%
    \bPrimaer{LehrerID},
    LVorname,
    LNachname%
  )\\\\
  Klassen (%
    \bPrimaer{KlassenID},
    Klassenstufe,
    Buchstabe%
  )\\\\
  Unterrichtsfächer (%
    \bPrimaer{FachID},
    Name%
  )\\\\
  Noten (%
    \bPrimaer{NotenID},
    \bFremd{SchülerID}[Schüler],
    \bFremd{FachID}[Unterrichtsfächer],
    Note,
    Gewicht%
  )\\\\
  LehrerUnterrichtet (%
    \bFremd{LehrerID}[Lehrer],
    \bPrimaer{KlassenID}[Klassen],
    \bPrimaer{FachID}[Unterrichtsfächer]%
  )\\\\
}

\begin{center}
\begin{tikzpicture}[er2,rs/.style={text width=2cm,aspect=2},scale=0.8]
\node[entity] (e1) {};
\node[entity,right of=e1] (e2) {};
\node[entity,right of=e2] (e3) {};
\node[entity,right of=e3] (e4) {};

\node[relationship,above of=e3,rs] (r1) {}
  edge (e1)
  edge (e4);
\node[relationship,below of=e3,rs] (r2) {}
  edge (e2)
  edge (e3)
  edge (e4);
\node[relationship,below of=e1,rs] (r3) {}
  edge (e1)
  edge (e2);
\node[entity,right of=r3] (e5) {}
  edge (r3);
\end{tikzpicture}
\end{center}

\begin{bAntwort}
\begin{center}
\begin{tikzpicture}[er2,scale=0.5,transform shape]
\node[entity] (Schüler) {Schüler};
\node[attribute,below left of=Schüler,near]{\bPrimaer{SchülerID}} edge (Schüler);
\node[attribute,left of=Schüler]{SVorname} edge (Schüler);
\node[attribute,above left of=Schüler,near]{SNachname} edge (Schüler);
\node[attribute,above right of=Schüler]{Geburstdatum} edge (Schüler);

\node[entity,right of=Schüler,farer] (Unterrichtsfächer) {Unterrichtsfächer};
\node[attribute,above of=Unterrichtsfächer,nearer] {FachID} edge (Unterrichtsfächer);
\node[attribute,below of=Unterrichtsfächer,nearer] {Name} edge (Unterrichtsfächer);

\node[entity,right of=Unterrichtsfächer,farer] (Lehrer) {Lehrer};
\node[attribute,above left of=Lehrer,near] {LVorname} edge (Lehrer);
\node[attribute,above right of=Lehrer,near] {LNachname} edge (Lehrer);
\node[attribute,below right of=Lehrer,node distance=5em] {LehrerID} edge (Lehrer);

\node[entity,right of=Lehrer,farer] (Klassen) {Klassen};
\node[attribute,right of=Klassen]{\bPrimaer{KlassenID}} edge (Klassen);
\node[attribute,below right of=Klassen,near]{Klassenstufe} edge (Klassen);
\node[attribute,above right of=Klassen,near]{Buchstabe} edge (Klassen);

\node[relationship,above of=Lehrer] (gehtIn) {gehtIn};
\draw (gehtIn) -| (Schüler) node[auto,pos=0.9]{n};
\draw (gehtIn) -| (Klassen) node[auto,pos=0.9]{1};

\node[relationship,below of=Lehrer,text width=2cm,farer,aspect=2] (lehrerUnterrichtet) {lehrer-\\Unterrichtet}
  edge node[auto]{n} (Unterrichtsfächer)
  edge node[auto]{1} (Lehrer)
  edge node[auto,pos=0.8]{n} (Klassen);
\node[relationship,below of=Schüler,text width=1.5cm] (wirdBenotet) {wird-\\Benotet}
  edge node[auto]{1} (Schüler)
  edge node[auto]{1} (Unterrichtsfächer);

\node[entity,right of=wirdBenotet,far] (Noten) {Noten}
  edge node[auto]{1} (wirdBenotet);
\node[attribute,below left of=Noten,near] {NotenID} edge (Noten);
\node[attribute,below of=Noten,near] {Note} edge (Noten);
\node[attribute,below right of=Noten,near] {Gewicht} edge (Noten);
\end{tikzpicture}
\end{center}

\bPseudoUeberschrift{Funktionalitäten}

\begin{description}
\item[gehtIn] n:1 Eine Klasse hat n Schüler, einE SchülerIn geht in eine
Klasse

\item[wirdBenotet]  1:1:1: Das ist anderes nicht möglich, da nur
\texttt{NotenID} Primärschlüssel ist, dann muss aber die Kombination aus
\texttt{Schüler} und \texttt{Unter\-richtsfach} auch einmalig sein, \dh
UNIQUE und es gilt \texttt{Note} und \texttt{Unter\-richtsfach} bestimmt
\texttt{Schüler}, \texttt{Note} und \texttt{Schüler} bestimmt
\texttt{Unterrichtsfach} und \texttt{Schüler} und
\texttt{Unterrichtsfach} bestimmt
\texttt{Noten}.

\item[LehrerUnterrichtet] 1(Lehrer):n:n
\end{description}
\end{bAntwort}

\end{document}
