\documentclass{bschlangaul-aufgabe}
\bLadePakete{rmodell,normalformen,synthese-algorithmus}
\begin{document}
\bAufgabenMetadaten{
  Titel = {Aufgabe 3},
  Thematik = {Relation A-F},
  Referenz = 66116-2019-F.T1-TA1-A3,
  RelativerPfad = Examen/66116/2019/03/Thema-1/Teilaufgabe-1/Aufgabe-3.tex,
  ZitatSchluessel = examen:66116:2019:03,
  BearbeitungsStand = mit Lösung,
  Korrektheit = unbekannt,
  Ueberprueft = {unbekannt},
  Stichwoerter = {Relationale Entwurfstheorie, Synthese-Algorithmus},
  EinzelpruefungsNr = 66116,
  Jahr = 2019,
  Monat = 03,
  ThemaNr = 1,
  TeilaufgabeNr = 1,
  AufgabeNr = 3,
}

\let\ahl=\bLinksReduktionInline
\let\ahr=\bRechtsReduktionInline
\let\fa=\bFunktionaleAbhaengigkeit
\let\FA=\bFunktionaleAbhaengigkeiten
\let\m=\bAttributMenge
\let\schrittE=\bSyntheseUeberErklaerung
\let\r=\bRelation
\let\u=\underline

Gegeben sei folgendes relationales Schema R in erster Normalform:
\index{Relationale Entwurfstheorie}
\footcite{examen:66116:2019:03}

\begin{center}
\bRelationMenge{R}{A, B, C, D, E, F}
\end{center}

\noindent
Für $R$ gelte folgende Menge $FD$ funktionaler Abhängigkeiten:

\bigskip

% bschlangaul-werkzeug.java db "A,D,F->E;B,C->A,E;D->B;D,E->C,B;A->F;" A,B,C,D,E,F
% bschlangaul-werkzeug.java db "A,D,F->E;B,C->A,E;D->B;D,E->C,B;A->F;"
\FA{
  A, D, F -> E;
  B, C -> A, E;
  D -> B;
  D, E -> C, B;
  A -> F;
}

\begin{enumerate}

%%
% a)
%%

\item Bestimmen Sie alle Kandidatenschlüssel/Schlüsselkandidaten von $R$
mit $FD$. \textit{Hinweis: Die Angabe von Attributmengen, die keine
Kandidatenschlüssel sind, führt zu Abzügen.}

\begin{bAntwort}
\begin{itemize}
\item \m{D, A}
\item \m{D, C}
\item \m{D, E}
\end{itemize}
\end{bAntwort}

%%
% b)
%%

\item Prüfen Sie, ob $R$ mit $FD$ in 2NF bzw. 3NF ist.

\begin{bAntwort}
$R$ ist in 1NF, da \fa{d -> b}
\end{bAntwort}

%%
% c)
%%

\item Bestimmen Sie mit folgenden Schritten eine kanonische Überdeckung
$FD_C$ von $FD$:

\begin{enumerate}

%%
% I.
%%

\item Führen Sie eine Linksreduktion von $FD$ durch. Geben Sie die Menge
funktionaler Abhängigkeiten nach der Linksreduktion an ($FD_L$).

\begin{bAntwort}
\schrittE{1-1}

\bPseudoUeberschrift{\fa{A, D, F -> E}}

$E \notin$ \ahl{A, D, F}{A}{D, F, B}\\
$E \notin$ \ahl{A, D, F}{D}{A, F} \\
$E \in$ \ahl{A, D, F}{F}{A, B, D, \textbf{F}}

\bPseudoUeberschrift{\fa{B, C -> A, E}}

$\m{A, E} \notin$ \ahl{B, C}{B}{C}\\
$\m{A, E} \notin$ \ahl{B, C}{C}{B}

\bPseudoUeberschrift{\fa{D, E -> C, B}}

$\m{C, B} \notin$ \ahl{D, E}{D}{E}\\
$\m{C, B} \notin$ \ahl{D, E}{E}{B, D}

\FA{
  A, D -> E;
  B, C -> A, E;
  D -> B;
  D, E -> C, B;
  A -> F;
}
\end{bAntwort}

%%
% II.
%%

\item Führen Sie eine Rechtsreduktion des Ergebnisses der Linksreduktion
($FD_L$) durch. Geben Sie die Menge funktionaler Abhängigkeiten nach der
Rechtsreduktion an ($FD_R$).

\begin{bAntwort}
\schrittE{1-2}

\bPseudoUeberschrift{E}

$E \notin$ \ahr{A, D -> E}{}{A, D}{A, B, D, F}

$E \notin$ \ahr{B, C -> A, E}{B, C -> A}{B, C}{A, B, C, F}

\bPseudoUeberschrift{B}

$B \notin$ \ahr{D -> B}{}{D}{D}

$B \in$ \ahr{D, E -> C, B}{D, E -> C}{D, E}{\textbf{B}, D, E}

\FA{
  A, D -> E;
  B, C -> A, E;
  D -> B;
  D, E -> C;
  A -> F;
}

\end{bAntwort}

%%
% III.
%%

\item Bestimmen Sie eine kanonische Überdeckung $FD$. von $FD$ auf Basis
des Ergebnisses der Rechtsreduktion ($FD_R$).

\begin{bAntwort}
\begin{itemize}
\item \schrittE{1-3}

\bNichtsZuTun

\item \schrittE{1-4}

\bNichtsZuTun
\end{itemize}
\end{bAntwort}
\end{enumerate}

%%
% d)
%%

\item Zerlegen Sie $R$ mit $FD_C$ mithilfe des Synthesealgorithmus in
3NF. Geben Sie zudem alle funktionalen Abhängigkeiten der erzeugten
Relationenschemata an.
\index{Synthese-Algorithmus}

\begin{bAntwort}
\begin{itemize}
\item \schrittE{2}

\r[R1]{\u{A, D}, E}\\
\r[R2]{\u{B, C}, A, E}\\
\r[R3]{\u{D}, B}\\
\r[R4]{\u{D, E}, C}\\
\r[R5]{\u{A}, F}

\item \schrittE{3}

\bNichtsZuTun

\item \schrittE{4}
\bNichtsZuTun

\end{itemize}
\end{bAntwort}

%%
% e)
%%

\item Prüfen Sie für alle Relationen der Zerlegung aus d), ob sie
jeweils in BCNF sind.

\begin{bAntwort}
R1 und R4 sind in BCNF, weil ihre Determinanten Schlüsselkandidaten
sind.
\end{bAntwort}

\end{enumerate}
\end{document}
