\documentclass{bschlangaul-aufgabe} \bLadePakete{normalformen,synthese-algorithmus} \begin{document} \bAufgabenMetadaten{ Titel = {Aufgabe 6}, Thematik = {Normalisierung}, Referenz = 66116-2019-F.T2-TA1-A6, RelativerPfad = Examen/66116/2019/03/Thema-2/Teilaufgabe-1/Aufgabe-6.tex, ZitatSchluessel = examen:66116:2019:03, BearbeitungsStand = mit Lösung, Korrektheit = unbekannt, Ueberprueft = {unbekannt}, Stichwoerter = {Normalformen, Schlüsselkandidat, Synthese-Algorithmus}, EinzelpruefungsNr = 66116, Jahr = 2019, Monat = 03, ThemaNr = 2, TeilaufgabeNr = 1, AufgabeNr = 6, } \let\ah=\bAttributHuelle \let\FA=\bFunktionaleAbhaengigkeiten \let\m=\bAttributMenge \let\r=\bRelation \let\schrittE=\bSyntheseUeberErklaerung Gegeben sei das Relationsschema \r{A, B, C, D, E, F}, sowie die Menge der zugehörigen funktionalen Abhängigkeiten: \index{Normalformen} \footcite{examen:66116:2019:03} \FA{ B -> F; C, D -> E; C -> A; C, D -> A; D -> F; D -> B; } % http://www.ict.griffith.edu.au/normalization_tools/normalization/ind.php % A,B,C,D,E,F % B -> F % C,D -> E % C -> A % C,D -> A % D -> F % D -> B \begin{enumerate} %% % a) %% \item Bestimmen Sie den Schlüsselkandidaten der Relation $R$ und begründen Sie, warum es keine weiteren Schlüsselkandidaten gibt. \index{Schlüsselkandidat} % Step 1: Find the minimal cover of FDs, which contains % B --> F % C,D --> E % C --> A % D --> B % Step 2. Find the set of attributes not on the RHS of any FD, which is NotOnRHS = {C,D}. Every CK must contain these attributes. % Step 3: NotOnRHS is a superkey, so it is the only candidate key \begin{bAntwort} Der Schlüsselkandidat ist \m{C, D}, da \m{C, D} auf keiner rechten Seiten der Funktionalen Abhängigkeiten vorkommt. Außerdem ist \m{C, D} ein Superschlüssel da gilt: $\ah{F, \m{C, E}} = \m{A, B, C, D, E, G} = R$ \end{bAntwort} %% % b) %% \item Überführen Sie das Relationsschema $R$ mit Hilfe des Synthesealgorithmus in die dritte Normalform. Führen Sie hierfür jeden der vier Schritte durch und kennzeichnen Sie Stellen, bei denen nichts zu tun ist. Benennen Sie alle Schritte und begründen Sie eventuelle Reduktionen. \index{Synthese-Algorithmus} \begin{bAntwort} \begin{enumerate} \item \schrittE{1} \begin{enumerate} \item \schrittE{1-1} \FA{ B -> F; C, D -> E; C -> A; C -> A; D -> F; D -> B; } \item \schrittE{1-2} \FA{ B -> F; C, D -> E; C -> NICHTS; C -> A; D -> NICHTS; D -> B; } \item \schrittE{1-3} \FA{ B -> F; C, D -> E; C -> A; D -> B; } \item \schrittE{1-4} \bNichtsZuTun \end{enumerate} \item \schrittE{2} \begin{compactitem} \item \bRelation[R1]{B, F} \item \bRelation[R2]{C, D, E} \item \bRelation[R3]{C, A} \item \bRelation[R4]{D, B} \end{compactitem} \item \schrittE{3} \bNichtsZuTun \item \schrittE{4} \bNichtsZuTun \end{enumerate} \end{bAntwort} \end{enumerate} \end{document}