1 / 7

1.6.4 Algorithmen zur Bildung von 3NF-Relationsschemata (2|8)

1.6.4 Algorithmen zur Bildung von 3NF-Relationsschemata (2|8). Synthese Ausgangspunkt: Menge U von Attributen Menge F von fA‘s. Prinzipielle Vorgehensweise : Schrittweises Zusammenfassen von Attributen und fA‘s zu Relationsschemata unter Berücksichtigung der 3NF-Eigenschaft.

bebe
Télécharger la présentation

1.6.4 Algorithmen zur Bildung von 3NF-Relationsschemata (2|8)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 1.6.4 Algorithmen zur Bildung von 3NF-Relationsschemata (2|8) • Synthese • Ausgangspunkt: Menge U von Attributen Menge F von fA‘s • Prinzipielle Vorgehensweise: • Schrittweises Zusammenfassen von Attributen und fA‘s zu Relationsschemata unter Berücksichtigung der 3NF-Eigenschaft. Relationentheorie Ó AIFB

  2. 1.6.4 Algorithmen zur Bildung von 3NF-Relationsschemata (3|8) Zur Synthese gibt es einen Algorithmus „Synthese-Algorithmus“nach Bernstein 1976, Biskup, Dayal, Bernstein 1979 • Dieser erzeugt 3NF-Relationen (sogar BCNF). • Bei großem F aufwendig, da redundante fA‘s entfernt werden müssen: • „Membership-Problem“ Geg.: G (  F+), g  G Frage: g  (G \ {g})+ ?Hierzu mehrfach Berechnung von F+ bzw. andererMengen von fA’s notwendig. Relationentheorie Ó AIFB

  3. 1.6.4 Algorithmen zur Bildung von 3NF-Relationsschemata (4|8) • Synthesealgorithmus (grob)Gegeben: U, F (U);Relation r:(U | F); K (bel.) Schlüssel [A] Wandle F um zu H mitH ~ F und H „möglichst einfach“:H: L1R1; L2 R2; ...; LkRko.B.d.A.: ij  Li Lj; Li Ri = Ø (i, j = 1, ..., k) [B] Mache aus jedem Li Ri eine Relationri :(LiRi | Li Ri) (i = 1, ..., k)Ist (r1, r2, ..., rk ) eine Zerlegung von r? (vgl. 1.6.2, Def. S.2/7)(Z1) Attribute: Es gilt i (LiRi) = U‘  U, aber  ist möglich! (1)(Z2) fA‘s: i {Li Ri} = H ~ F und somit  F+, sogar H+ = F+. (2) [C] falls  i: Li U F+: (r1, r2, ..., rk ) (3)falls nein: (r0, r1, r2, ..., rk ) mit r0:(K | Ø) (4) ist verlustfreie fA-erhaltende Zerlegung von rin BCNF-Relationen Relationentheorie Ó AIFB

  4. 1.6.4 Algorithmen zur Bildung von 3NF-Relationsschemata (5|8) Anmerkungen zu „Synthesealgorithmus (grob)“: • Sei S:= U \ U‘; dann gilt: a  S: a ist Attribut jedes Schlüssels in r! • Falls „Zerlegung“ (s. (Z1)), dann fA-erhaltend! • In diesem Fall kann es keine “isolierten“ Attribute a geben –d.h. S = Ø! – somit „Zerlegung“. • In diesem Fall sind alle isolierten Attribute in K – d.h. S  K! (wg. (1)) – somit wieder „Zerlegung“. • (3&4) In beiden Fällen: Zerlegung enthält Schlüssel, somit verlustfrei! Relationentheorie Ó AIFB zurück

  5. 1.6.4 Algorithmen zur Bildung von 3NF-Relationsschemata (6|8) Synthesalgorithmus (ausführlich): Gegeben: U, F F(U); Relation r:(U | F); K (bel.) Schlüsselo.B.d.A.: F enthält keine trivialen fA‘s • [A] „Wandle F um zu H mit H ~ F und H ‚möglichst einfach‘ “: • 1. Schritt: Mache alle f  F einfachErgebnis: F‘; F‘ ~ F • 2. Schritt: Entferne überflüssige Attribute der linken Seiten der fA‘s Ergebnis: G; G ~ F; alle f  G sind elementar • 3. Schritt: Finde nicht redundante Überdeckung in G, Ergebnis: H; H ~ G Relationentheorie Ó AIFB

  6. 1.6.4 Algorithmen zur Bildung von 3NF-Relationsschemata (7|8) • [B]Mache aus jedem Li Ri eine Relation ri :(LiRi | Li Ri) 4. Schritt: Fasse funktionale Abhängigkeitenmit gleicher linker Seite Lizu einer Klasse zusammen. Ergebnis: Hi = {Li b | Li b  H} (i =1, …, m) Setze: Ri = {b | Li b  Hi} (i =1, …, m) 5. Schritt: Konstruiere Relationsschemata:- := {ri: (Li Ri | Hi) | i =1, …, m} (es gilt dabei natürlich auch: - := {ri: (Li Ri | Li Ri) | i =1, …, m} ) Relationentheorie Ó AIFB

  7. 1.6.4 Algorithmen zur Bildung von 3NF-Relationsschemata (8|8) • [C] • 6. Schritt: Prüfe, ob irgendeine Attributmenge Li Ri bereits einen Schlüssel von r enthält. • Falls Li U F+ für ein i, dann := - sonst := - {r0 : (K | Ø)} • Ergebnis: ist • Zerlegung von r • verlustfrei • fA-erhaltend • in 3NF (sogar in BCNF). Relationentheorie Ó AIFB

More Related