Gegeben seien das Relationenschema ´R(A, B, C, D, E)´ und die funktionalen Abhängigkeiten ´AB -> C´, ´C -> D´, ´D -> B´ und ´D -> E´.
Normalisiere die Relation zur BCNF. Stelle die notwendigen Schritte und Entscheidungen nachvollziehbar dar.
Bei der BCNF muss die linke Seite jeder gültigen, nicht- trivialen FD einen Schlüssel enthalten. Dies ist bei ´C -> D´, ´D -> B´ und ´D -> E´ jedoch nicht der Fall. Wenn man diese FDs ausgliedert erhält man ´R_1(ul(A,C))´ und ´R_2(ul C, B, D, E)´. Da ´R_2´ noch ´D -> B,E´ enthält ist immer noch nicht die BCNF erreicht. Diese FD kann nun auch noch ausgegliedert werden und man erhält: ´R_3(ul C, D)´ und ´R_4(ul D, B, E)´. Damit sind alle FDs aufgelöst und die BCNF ist erreicht.
Der Vorgang ist auch in folgendem Diagramm dargestellt:
digraph {
node [shape=ellipse];
{node [label="C → D,B,E"] c;}
{node [label="D → B,E"] d;}
node [shape=box, style=rounded];
{node [label=<V(<u>A,B</u>,C,D,E)>] v;}
{node [
label=<V<sub>1</sub>(<u>A,C</u>)>,
style="rounded,filled",
fillcolor=gray
] v1;}
{node [label=<V<sub>2</sub>(<u>C</u>,D,B,E)>] v2;}
{node [
label=<V<sub>3</sub>(<u>C</u>,D)>,
style="rounded,filled",
fillcolor=gray
] v3;}
{node [
label=<V<sub>4</sub>(<u>D</u>,B,E)>,
style="rounded,filled",
fillcolor=gray
] v4;}
v -> c [dir=none];
c -> v1;
c -> v2;
v2 -> d [dir=none];
d -> v3;
d -> v4;
}
- ´R_1(ul(A,C))´
- ´R_3(ul C, D)´
- ´R_4(ul D, B, E)´
HPI, 2015-05-04, Datenbanksysteme 1, Aufgabe 1.4b
2015-07-26 19:56:24 UTC
2015-07-28 17:03:46 UTC