2016-04-12 4 views
0

Ich habe eine Beziehung:BCNF (3.5NF) Zersetzungsprobleme

R(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q) 

, die ich in BCNF zu zerlegen versuchen, hier sind meine Funktionale Abhängigkeiten:

- A -> B, C, D 
- B -> A, C, D 
- C -> A, B, D 
- D -> A, B, C 
- F -> A, B, C, D, E, G, H, I, J, K, L, M, N, O, P, Q 
- A, E, G -> B, C, D, F, H, I, J, K, L, M, N, O, P, Q 

Obwohl C die klare Wahl ist Für den Primärschlüssel ist es ein Feld, das über einen Absatz lang ist, also habe ich A, E, G als zusammengesetzten Schlüssel gewählt, weil das Platzieren von Abfragen zu unordentlich wäre.

Ich schätze, dass es auf dieser Site viele ähnliche Fragen gibt, aber auch andere Quellen im Internet, aber ich kann ihre Lösungen nicht einfach in meinem eigenen Problem nachbilden.

Vielen Dank für Ihre Zeit,

+0

Kann mir jemand einen Rat geben? Ich kann nicht mit meinem Projekt fortfahren, bis ich meine Beziehung zerlegt habe –

Antwort

1

Diese Beziehung hat fünf (Kandidat) Tasten:

{ (A, E, G) (B, E, G) (C, E, G) (D, E, G) (F) } 

Die Zersetzung in BCNF, die Analyse-Algorithmus, erzeugt die folgenden zwei Beziehungen:

R1 (A, B, C, D) 
R2 (A, E, F, G, H, I, J, K, L, M, N, O, P, Q) 
+0

Danke, du bist ein Star –