\documentclass{bschlangaul-aufgabe}
\bLadePakete{er}
\begin{document}
\bAufgabenMetadaten{
  Titel = {Fahrzeugverwaltung},
  Thematik = {Fahrzeugverwaltung},
  Referenz = DB.Datenbankentwurf.Entity-Relation-Modell.Fahrzeugverwaltung,
  RelativerPfad = Module/10_DB/20_Datenbankentwurf/01_Entity-Relation-Modell/Aufgabe_Fahrzeugverwaltung.tex,
  ZitatSchluessel = db:ab:1,
  ZitatBeschreibung = {Seite 2-3, Aufgabe 4: Fahrzeugverwaltung},
  BearbeitungsStand = mit Lösung,
  Korrektheit = unbekannt,
  Ueberprueft = {unbekannt},
  Stichwoerter = {Entity-Relation-Modell},
}

Gegeben ist das folgende ER-Modell der Fahrzeugverwaltung einer Firma:
\index{Entity-Relation-Modell}
\footcite[Seite 2-3, Aufgabe 4: Fahrzeugverwaltung]{db:ab:1}

\begin{center}
\resizebox{0.7\textwidth}{!}{
\begin{tikzpicture}[scale=1.5]
\node[entity] (Fahrer) at (0,0) {Fahrer};
\node[entity] (Fahrzeug) at (5,0) {Fahrzeug};
\node[entity] (Abteilung) at (10,0) {Abteilung};
\node[entity] (Garage) at (5,-4) {Garage};

\node[relationship,align=center] (Fahrerlaubnis) at (2.5,0) {Fahrer-\\laubnis}
  edge (Fahrer)
  edge (Fahrzeug);

\node[relationship] (gehoert) at (7.5,0) {gehoert}
  edge (Fahrzeug)
  edge (Abteilung);

\node[relationship] (stehtIn) at (5,-2) {stehtIn}
  edge (Fahrzeug)
  edge (Garage);
\end{tikzpicture}
}
\end{center}

\noindent
Die Attribute wurden aus Einfachheitsgründen weggelassen. Es gelten
folgende Bedingungen:

\begin{itemize}

\item Jedes Fahrzeug gehört zu höchstens einer Abteilung, wobei aber
jede Abteilung mindestens ein Fahrzeug hat.

\item Für fast alle Fahrzeuge gibt es eine (fest zugeordnete)
Einzelgarage. Jede dieser Garagen ist belegt.

\item Für jedes Fahrzeug muss es mindestens drei Personen mit einer
entsprechenden Fahrerlaubnis geben. Ansonsten gibt es keine
Einschränkung.
\end{itemize}

\begin{enumerate}

%%
%
%%

\item Geben Sie gemäß obiger Bedingungen geeignete Funktionalitäten in
der (min, max)-Notation an.

\begin{bAntwort}
\begin{center}
\resizebox{0.7\textwidth}{!}{
\begin{tikzpicture}[scale=1.5]
\node[entity] (Fahrer) at (0,0) {Fahrer};
\node[entity] (Fahrzeug) at (6,0) {Fahrzeug};
\node[entity] (Abteilung) at (12,0) {Abteilung};
\node[entity] (Garage) at (6,-4) {Garage};

\node[relationship,align=center] (Fahrerlaubnis) at (3,0) {Fahrer-\\laubnis}
  edge node[auto,swap] {(0,*)} (Fahrer)
  edge node[auto,swap] {(3,*)} (Fahrzeug);

\node[relationship] (gehoert) at (9,0) {gehoert}
  edge node[auto,swap] {(0,1)} (Fahrzeug)
  edge node[auto,swap] {(1,*)} (Abteilung);

\node[relationship] (stehtIn) at (6,-2) {stehtIn}
  edge node[auto,swap] {(0,1)} (Fahrzeug)
  edge node[auto,swap] {(1,1)} (Garage);
\end{tikzpicture}
}
\end{center}
\end{bAntwort}

%%
%
%%

\item Wie lauten die entsprechenden Funktionalitätsangaben (\zB 1:1,
n:m etc.)?

\begin{bAntwort}
\begin{center}
\resizebox{0.7\textwidth}{!}{
\begin{tikzpicture}[scale=1.5]
\node[entity] (Fahrer) at (0,0) {Fahrer};
\node[entity] (Fahrzeug) at (6,0) {Fahrzeug};
\node[entity] (Abteilung) at (12,0) {Abteilung};
\node[entity] (Garage) at (6,-4) {Garage};

\node[relationship,align=center] (Fahrerlaubnis) at (3,0) {Fahrer-\\laubnis}
  edge node[auto,swap] {n} (Fahrer)
  edge node[auto,swap] {m} (Fahrzeug);

\node[relationship] (gehoert) at (9,0) {gehoert}
  edge node[auto,swap] {n} (Fahrzeug)
  edge node[auto,swap] {1} (Abteilung);

\node[relationship] (stehtIn) at (6,-2) {stehtIn}
  edge node[auto,swap] {1} (Fahrzeug)
  edge node[auto,swap] {1} (Garage);
\end{tikzpicture}
}
\end{center}
\end{bAntwort}

\end{enumerate}

\end{document}
