Satz von Delobel

Aus testwiki
Version vom 17. August 2024, 12:30 Uhr von imported>Dexxor (+wikilink Verbundtreue)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Der Satz von Delobel (von Claude Delobel) liefert eine einfache Möglichkeit, um zu überprüfen, ob zwei Fragmente einer Relation in einer Datenbank eine verlustfreie Darstellung der Ausgangsrelation sind. Eine Zerlegung von Relationen ist nötig, um das Entstehen von Anomalien zu vermeiden.

Formale Darstellung

Vorlage:Lückenhaft Gegeben seien die Relation r:(UF) und ihre Zerlegung in r1:(AF1) und r2:(BF2) mit U=AB und F=F1F2.

Dann gilt: D ist verlustfrei (ABAF+ oder ABBF+).[1][2][3]

Letzteres bedeutet, dass die gemeinsamen Attribute AB als Fremdschlüssel für eine der beiden Relationen dienen können. Um die Bedingung zu prüfen, müssen nicht alle funktionale Abhängigkeiten F+ berechnet werden, sondern lediglich die Attributhülle von AB, was in Linearzeit möglich ist.[4]

Beispiel

Die Ausgangsrelation ist definiert als r:(a,b,c,d,eabcd,dbce,de) mit Zerlegungen

r1:(a,b,c,dabcd) und r2:(b,c,d,edbce,de).

Damit verteilen sich die Attribute folgendermaßen:

Menge Attribute
B b, c, d
A a
C e

Nach Delobel folgt hieraus, dass die Zerlegung verlustfrei ist, wenn gilt bcdaF+ oder bcdeF+.

Aus deF+ folgt unmittelbar, dass auch bcdeF+.

Siehe auch

Quellen