\documentclass{bschlangaul-aufgabe}
\bLadePakete{er}
\begin{document}
\bAufgabenMetadaten{
  Titel = {Aufgabe 2},
  Thematik = {Automobilproduktion},
  Referenz = 66116-2021-F.T1-TA2-A2,
  RelativerPfad = Examen/66116/2021/03/Thema-1/Teilaufgabe-2/Aufgabe-2.tex,
  ZitatSchluessel = examen:66116:2021:03,
  BearbeitungsStand = mit Lösung,
  Korrektheit = unbekannt,
  Ueberprueft = {unbekannt},
  Stichwoerter = {Entity-Relation-Modell},
  EinzelpruefungsNr = 66116,
  Jahr = 2021,
  Monat = 03,
  ThemaNr = 1,
  TeilaufgabeNr = 2,
  AufgabeNr = 2,
}

\let\a=\bErMpAttribute
\let\d=\bErDatenbankName
\let\e=\bErMpEntity
\let\r=\bErMpRelationship

Erstellen Sie ein möglichst einfaches ER-Schema, das alle gegebenen
Informationen enthält. Attribute von Entitäten und Beziehungen sind
anzugeben, Schlüsselattribute durch Unterstreichen zu kennzeichnen.
Verwenden Sie für die Angabe der Kardinalitäten von Beziehungen die
Min-Max-Notation. Führen Sie Surrogatschlüssel (künstlich definierte
Schlüssel) nur dann ein, wenn es nötig ist, und modellieren Sie nur die
im Text vorkommenden Elemente.
\index{Entity-Relation-Modell}
\footcite{examen:66116:2021:03}

\bigskip

Zunächst gibt es \e{Autos}, die einen eindeutigen \a{Namen} \d{AName},
einen \a{Typ} sowie eine Liste an \a{Ausstattungen} besitzen.

\bigskip

Autos werden aus \e{Bauteilen} \r{zusammengesetzt}. Diese besitzen eine
\a{ID} sowie eine \a{Beschreibung}.

\bigskip

Jedes Bauteil wird von genau einem \e{Zulieferer} geliefert. Zu jedem
Zulieferer werden sein \a{Name} \d{ZName} sowie seine \a{E-Mail-Adresse}
\d{EMailAdresse} gespeichert.

\bigskip

Weiter gibt es \e{Werke}, die einen
eindeutigen \a{Namen} sowie einen \a{Standort} besitzen.

\bigskip

Jedes Werk
\r{besteht} aus \e{Hallen}, welche werksintern eindeutig \a{nummeriert}
sind. Zudem besitzt eine Halle noch eine gewisse \a{Größe} (in $m^2$).

\bigskip

Es gibt genau zwei Typen von Hallen: \e{Produktionshallen} und
\e{Ersatzteillager}.

\bigskip

In jeder Produktionshalle wird mindestens ein Auto
\r{hergestellt}.

\bigskip

Zu den Ersatzteillagern wird \r{festgehalten}, welche Bauteile und wie
viele davon sich dort befinden.

\bigskip

Zu jedem \e{Mitarbeiter} werden eine eindeutige \a{ID}, sein \a{Vor-}
und \a{Nachname}, die \a{Adresse (Straße, PLZ, Ort)}, das \a{Gehalt}
sowie das \a{Geschlecht} gespeichert.

\bigskip

Mitarbeiter werden unter anderem
in \e{Reinigungskräfte}, \e{Werksarbeiter} und \e{Ingenieure}
unterteilt.

\bigskip

Zu den Ingenieuren wird zusätzlich der
\a{Hochschulabschluss} gespeichert. Ingenieure sind genau einem Werk
\r{zugeordnet}, Werksarbeiter einer \r{Halle}.

\bigskip

Eine Reinigungskraft
\r{reinigt} mindestens eine Halle. Jede Halle muss regelmäßig gereinigt
werden.

\bigskip

Weiter sind Ingenieure Projekten \r{zugeteilt}. Zudem wird zu
jedem Projekt genau ein Ingenieur als \a{Projektleiter} festgehalten.

\begin{tikzpicture}[er2,scale=0.7,transform shape]
% Werke
\node[entity] (Werke) {Werke};
\node[attribute,above left=0.5cm of Werke] {\key{WName}} edge (Werke);
\node[attribute,above right=0.5cm of Werke] {Standort} edge (Werke);

% Hallen
\node[entity,below=3 cm of Werke] (Hallen) {Hallen};

% zusammensetzen
\node[relationship,below=1cm of Werke]{bestehen}
  edge node[auto]{(1,*)} (Werke) edge node[auto]{(1,*)} (Hallen);

% Produktionshallen
\node[entity,below left=3 cm of Hallen] (Produktionshallen) {Produktionshallen};

% Ersatzteillager
\node[entity,below right=3 cm of Hallen] (Ersatzteillager) {Ersatzteillager};

% Autos
\node[entity,below=3cm of Produktionshallen] (Autos) {Autos};
\node[attribute,above=1cm of Autos] {\key{AName}} edge (Autos);
\node[attribute,above left=0.5cm of Autos] {Typ} edge (Autos);
\node[attribute,left=0.5cm of Autos] {Ausstattungen} edge (Autos);

% Bauteile
\node[entity,right=6cm of Autos] (Bauteile) {Bauteile};
\node[attribute,above right=0.5cm of Bauteile] {\key{ID}} edge (Bauteile);
\node[attribute,right=0.5cm of Bauteile] {Beschreibung} edge (Bauteile);

% zusammensetzen
\node[relationship,right=1cm of Autos]{zusammen-\\setzen}
  edge node[auto]{(1,*)} (Autos) edge node[auto]{(1,*)} (Bauteile);

% Zulieferer
\node[entity,below=3cm of Bauteile] (Zulieferer) {Zulieferer};
\node[attribute,below right=0.5cm of Zulieferer] {\key{Zname}} edge (Zulieferer);
\node[attribute,right=0.5cm of Zulieferer] {EmailAdresse} edge (Zulieferer);

% liefern
\node[relationship,below=1cm of Bauteile]{liefern}
  edge node[auto]{(1,*)} (Bauteile) edge node[auto]{(1,1)} (Zulieferer);

\end{tikzpicture}
\end{document}
