\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}