Satz von Delobel
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:Hinweisbaustein Gegeben seien die Relation <math>r:(U\mid F)</math> und ihre Zerlegung in <math>r_1:(A\mid F_1)</math> und <math>r_2:(B\mid F_2)</math> mit <math>U = A \cup B</math> und <math>F = F_1 \cup F_2</math>.
Dann gilt: D ist verlustfrei <math>\Longleftrightarrow (A \cap B \rightarrow A \in F^+</math> oder <math>A \cap B \rightarrow B \in F^+)</math>.<ref>Jorma Rissanen: Independent components of relations. In: ACM Transactions on Database Systems. Band 2, Nr. 4, 1. Dezember 1977, ISSN 0362-5915, S. 317–325, doi:10.1145/320576.320580 (acm.org [abgerufen am 17. August 2024]).</ref><ref>Wolfgang Panny: Relationentheorie — Abhängigkeiten, Normalformen, Data Design. Abgerufen am 17. August 2024.</ref><ref>Prakash Ramanan: Conditions for lossless join. In: International Journal of Computer Mathematics. Band 78, Nr. 4, Januar 2001, ISSN 0020-7160, S. 489–498, doi:10.1080/00207160108805127 (archive.org [PDF; abgerufen am 17. August 2024]).</ref>
Letzteres bedeutet, dass die gemeinsamen Attribute <math>A \cap B</math> 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 <math>F^+</math> berechnet werden, sondern lediglich die Attributhülle von <math>A \cap B</math>, was in Linearzeit möglich ist.<ref>Catriel Beeri, Philip A. Bernstein: Computational problems related to the design of normal form relational schemas. In: ACM Transactions on Database Systems. Band 4, Nr. 1, 1. März 1979, ISSN 0362-5915, S. 30–59, doi:10.1145/320064.320066 (acm.org [abgerufen am 17. August 2024]).</ref>
Beispiel
Die Ausgangsrelation ist definiert als <math>r:(a,b,c,d,e \mid a \rightarrow bcd, d \rightarrow bce, d \rightarrow e)</math> mit Zerlegungen
<math>r_1:(a,b,c,d \mid a \rightarrow bcd)</math> und <math>r_2:(b,c,d,e \mid d \rightarrow bce, d \rightarrow e)</math>.
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 <math>bcd \rightarrow a \in F^+</math> oder <math>bcd \rightarrow e \in F^+</math>.
Aus <math>d \rightarrow e \in F^+</math> folgt unmittelbar, dass auch <math>bcd \rightarrow e \in F^+</math>.
Siehe auch
Quellen
<references/>