30 likes | 108 Views
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.
E N D
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 KRXR und KSXSdo begin lö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 = ARAS 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 begin AN = ANAP mit KN unverändert; lösche Inklusionsabhängigkeit; ersetze in den verbliebenen vereinten funkt. Abhängigkeiten KP durch KN end //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 Fdo begin nimm erste Abhängigkeit KRXR in F; erzeuge neue Relation N mit AN = KRXRund Schlüssel KN = KR; lösche F ; füge Inklusionsabhängigkeit TR [KR] TN [KN ] hinzu //neue Konsistenzbed.//; for each vereinte funktionale Abhängigkeit Gdo begin falls KRYR in G: AN = ANYR und lösche G end //neue Relation durch Kombination//; end //restliche vereinte funkt. Abhängigkeiten zu neuen Relationen kombiniert//;