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
BearbeitenGegeben seien die Relation und ihre Zerlegung in und mit und .
Dann gilt: D ist verlustfrei oder .[1][2][3]
Letzteres bedeutet, dass die gemeinsamen Attribute 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 berechnet werden, sondern lediglich die Attributhülle von , was in Linearzeit möglich ist.[4]
Beispiel
BearbeitenDie Ausgangsrelation ist definiert als mit Zerlegungen
und .
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 oder .
Aus folgt unmittelbar, dass auch .
Siehe auch
BearbeitenQuellen
Bearbeiten- ↑ 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]).
- ↑ Wolfgang Panny: Relationentheorie — Abhängigkeiten, Normalformen, Data Design. Abgerufen am 17. August 2024.
- ↑ 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]).
- ↑ 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]).