Kanonische Überdeckung
Die kanonische Überdeckung ist ein Konzept aus der relationalen Entwurfstheorie, die sich mit dem Entwurf der Schemata relationaler Datenbanken befasst.
Am Anfang des Entwurfs eines relationalen Schemas steht die Informationsbedarfsanalyse. Sie liefert die Menge der benötigten Attribute und eine Menge F der funktionalen Abhängigkeiten zwischen diesen Attributen. Basierend auf diesen Abhängigkeiten werden Normalformen für die Schemata relationaler Datenbanken definiert, die als „Gütekriterium“ für ein solches Schema gesehen werden.
Im Allgemeinen gibt es zu einer Menge funktionaler Abhängigkeiten viele verschiedene äquivalente Mengen funktionaler Abhängigkeiten. Zwei Mengen funktionaler Abhängigkeiten F und G heißen genau dann äquivalent, in Zeichen , wenn ihre Hüllen gleich sind, in Zeichen . Sind F und G äquivalent, so heißt F Überdeckung von G und umgekehrt.
Die Hülle einer Menge F von funktionalen Abhängigkeiten ist die Menge aller funktionalen Abhängigkeiten, die sich mit den Armstrong-Axiomen aus F ableiten lassen. Die Hülle enthält oft sehr viele funktionale Abhängigkeiten, was sich bei einer späteren Implementierung des Schemas in einer relationalen Datenbank negativ auswirkt, da bei jeder Änderungsoperation im Rahmen einer Konsistenzprüfung die Einhaltung sämtlicher spezifizierter funktionaler Abhängigkeiten überprüft werden muss.
Deshalb ist man im Entwurfsprozess relationaler Schemata an der kleinstmöglichen Menge der äquivalenten funktionalen Abhängigkeiten interessiert, der kanonischen Überdeckung der gegebenen Menge funktionaler Abhängigkeiten. Eine kanonische Überdeckung beschreibt also die kleinste gültige Menge von funktionalen Abhängigkeiten für ein bestimmtes relationales Schema. Die Ableitung einer solchen kanonischen Überdeckung gewährleistet ein redundanzfreies relationales Schema.
Zu einer gegebenen Menge F von funktionalen Abhängigkeiten nennt man eine kanonische Überdeckung, wenn folgende drei Eigenschaften erfüllt sind:
- , das heißt
- In existieren keine funktionalen Abhängigkeiten , wobei und Mengen überflüssiger Attribute enthalten; das heißt, es muss gelten:
- (a)
- (b)
- Jede linke Seite einer funktionalen Abhängigkeit in ist einzigartig. Dies kann durch fortgesetzte Anwendung der Vereinigungsregel auf funktionale Abhängigkeiten der Art und erreicht werden, so dass die beiden funktionalen Abhängigkeiten durch ersetzt werden.
Algorithmus
[Bearbeiten | Quelltext bearbeiten]Um aus einer gegebenen Menge von funktionalen Abhängigkeiten eine (die kanonische Überdeckung ist nicht eindeutig) kanonische Überdeckung zu finden, kann man folgenden Algorithmus verwenden:
- Linksreduktion
- Rechtsreduktion
- Alle funktionalen Abhängigkeiten aus mit gleichem zusammenfassen: Wenn , dann entferne diese beiden funktionalen Abhängigkeiten aus und füge zu hinzu.
Literatur
[Bearbeiten | Quelltext bearbeiten]- Alfons Kemper, André Eickler: Datenbanksysteme. Eine Einführung. 7. aktualisierte und erweiterte Auflage. Oldenbourg Verlag, München 2009, ISBN 978-3-486-59018-0.