Upload
frauke-schnurr
View
214
Download
2
Embed Size (px)
Citation preview
Sichtenverbindung (1)Einschränkungen:• Zwischen den verschiedenen Abhängigkeiten kann es zu
komplizierten Wechselwirkungen kommen, so dass ein allgemeingültiges Verfahren zur Zusammenfassung nicht angegeben werden kann.
• Für den folgenden Satz von Einschränkungen findet sich ein Verfahren in der Literatur: – Die einzigen funktionalen Abhängigkeiten sind Schlüsselbedingungen, die
Relationen sind also in BCNF, und es gibt nur einen Schlüssel K pro Relation.
– In vereinten funktionalen Abhängigkeiten sind also die Xi Schlüssel, außerdem Yi = 1 .
– Jedes Nichtschlüsselattribut einer Relation erscheint in höchstens einer vereinten funktionalen Abhängigkeit.
– Inklusionsabhängigkeiten zwischen Sichten sind auf Schlüssel beschränkt. • Beispiel erfüllt die Einschränkungen.
Sichtenverbindung (2)for each Inklusionsabhängigkeit TS[KS] TR[KR] do begin
for each vereinte funktionale Abhängigkeit F mit KR XR und KS XS do beginlösche XS aus AS; lösche KS XS aus F;falls |F | = 1, lösche F;
end //redundante funktionale Abhängigkeiten beseitigt//; end;for each zirkuläre Inklusionsabhängigkeit TS[KS] = TR[KR] do begin
erzeuge neue Relation N mit AN = AR AS und KN = KR; lösche Inklusionsabhängigkeit; ersetze in den verbliebenen vereinten funkt. Abhängigkeiten KR und KS durch KN; for each zirkuläre Inklusionsabhängigkeit TP [KP]= TR [KR] oder TP [KP] = TS [KS] do beginAN = AN AP mit KN unverändert; lösche Inklusionsabhängigkeit; ersetze in den verbliebenen vereinten funkt. Abhängigkeiten KP durch KNend //Relationen mit gleichem Schlüssel im Folgeschritt zusammengelegt//;
end //Relationen mit gleichem Schlüssel im ersten Schritt zusammengelegt//;
Sichtenverbindung (3)//falls noch vereinte funktionale Abhängigkeiten übrig, die nicht
Gegenstand von Inklusionsabhängigkeiten waren//for each vereinte funktionale Abhängigkeit F do begin
nimm erste Abhängigkeit KR XR in F;erzeuge neue Relation N mit AN = KR XR und Schlüssel KN = KR;lösche F ; füge Inklusionsabhängigkeit TR [KR] TN [KN ] hinzu //neue Konsistenzbed.//;for each vereinte funktionale Abhängigkeit G do begin
falls KR YR in G: AN = AN YR und lösche G end //neue Relation durch Kombination//;
end //restliche vereinte funkt. Abhängigkeiten zu neuen Relationen kombiniert//;