gif gif up gif contents
Nächste Seite: 5.2.2 Auswertung der Sichtenwartungsregeln Vorige Seite: 5.2 Realisierung der Sichtenwartung

5.2.1 Algorithmus zur Generierung der Sichtenwartungsregeln

 

Die Regeln für Sichten liegen im Datalog-Format vor, aus dem sich direkt die Sichtenwartungsregeln erzeugen lassen. Das hier benutzte Verfahren von [SJ96] basiert auf DRed-Algorithmus (vgl. Kapitel 4.2.3). Es handelt sich hierbei um einen inkrementellen Sichtenwartungsalgorithmus, d.h. der Algorithmus berechnet die Änderungen der abgeleiteten Relationen ausgehend von den Änderungen der Basisrelationen. Die Umschreibung der Regeln in Sichtenwartungsregeln ist Abbildung 5.2 beschrieben.

  
Abbildung 5.2: Generierung der Sichtungswartungsregeln

Alle Regeln in ConceptBase haben die Form , wobei p als Kopf der Regel eine abgeleitete Relation darstellt. Die im Rumpf der Regel können selbst abgeleitete oder auch Basisrelationen sein. Für jedes Prädikat p werden alle möglichen Löschungen hergeleitet, die durch die Löschung eines Elements in den Relationen (bzw. die Einfügung eines Elements, falls ein negiert im Regelrumpf auftaucht) hervorgerufen wird. Jedes Element in steht also für einen unterbrochenen Herleitungspfad. Für ein Element kann es jedoch mehrere Herleitungspfade geben, so daßdie wirklichen Löschungen , nur eine Teilmenge von sind. Die Relation enthält die Elemente von , die einen alternativen Herleitungspfad haben. Der neue Datenbankzustand wird durch die Prädikate bzw. beschrieben, die Prädikate p und beziehen sich immer auf den alten Datenbankzustand vor der Änderung.

Die Einfügungen in die Relation p werden durch das Prädikat beschrieben. Wenn in einer Relation ein Element eingefügt worden ist, kann dies zur einer neuen Ableitung für ein Element aus p führen. Mit werden die tatsächlichen Einfügungen berechnet, indem man kontrolliert, ob es das Element schon im alten Datenbankzustand gab.

In den Regeln in ConceptBase kommen die Literale A, In, Isa, From und To als Basisliterale vor, die intern direkt ausgewertet werden ohne das dafür Regeln im Datalog-Format vorhanden sind. Zu Beginn der Auswertung liegt aber nur eine Menge von Propositionen vor, die in der aktuellen Transaktion eingefügt oder gelöscht worden sind. Für die obengenannten Literale müssen daher die Sichtenwartungsregeln vorher definiert werden. Dies erspart auch die Generierung der Regeln und , denn diese Regeln müssen für jedes Basisliteral nur einmal vorhanden sein.



gif gif up gif contents

Christoph Quix
31. Juli 1996