Defaults in deduktiven Datenbanken
Defaults in deduktiven Datenbanken
Defaults in deduktiven Datenbanken
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
3.1. IMPLIZITE NEGATION 55Haben die Eltern die Blutgruppen a und 0 , so kann auch das K<strong>in</strong>d nur e<strong>in</strong>e dieser Blutgruppenhaben.Falls für e<strong>in</strong>e Person X, etwa anton, die Voraussetzungen erfüllt s<strong>in</strong>d, so könnennatürlich die beiden Negations-<strong>Defaults</strong> ¬blutgruppe(anton, a) und ¬blutgruppe(anton, 0 )nicht angenommen werden (es sei denn, man hätte genauere Information über die Blutgruppevon anton). Es ist aber durchaus möglich und wünschenswert, ihre Disjunktionanzunehmen:¬blutgruppe(anton, a) ∨ ¬blutgruppe(anton, 0 ).Damit wird aus dem ”oder“ also e<strong>in</strong> ”exklusives oder“.Bei diesem Beispiel könnte man natürlich anstelle der <strong>Defaults</strong> e<strong>in</strong>fach die Schlüsselbed<strong>in</strong>gungblutgruppe(X, Y 1 ) ∧ blutgruppe(X, Y 2 ) → Y 1 = Y 2verwenden (jede Person hat genau e<strong>in</strong>e Blutgruppe). Bei dem nächsten Beispiel ist diesanders:Beispiel 3.1.7: Auch Vorschriften enthalten häufig disjunktive Information. Wennman etwa abspeichert, welche Übungssche<strong>in</strong>e welche Studenten gemacht haben, so ist e<strong>in</strong>Negations-Default angemessen:sche<strong>in</strong>(anton, programmieren 1 ), sche<strong>in</strong>(anton, algebra), . . .Hier würde e<strong>in</strong>e Schlüssel-Bed<strong>in</strong>gung also schon nicht mehr anwendbar se<strong>in</strong>.Die Vordiploms-Ordnung kann jetzt verlangen, daß e<strong>in</strong> Sche<strong>in</strong> für das Programmierpraktikum<strong>in</strong> Modula oder das <strong>in</strong> Assembler erworben wird:sche<strong>in</strong>(X, prakt modula) ∨ sche<strong>in</strong>(X, prakt assembler) ← vordiplom(X).Hier ist die Disjunktion¬sche<strong>in</strong>(anton, prakt modula) ∨ ¬sche<strong>in</strong>(anton, prakt assembler)natürlich sehr wahrsche<strong>in</strong>lich.Natürlich könnte man zunächst auf die Idee kommen, daß der <strong>Datenbanken</strong>twerfer ebenentsprechende disjunktive <strong>Defaults</strong> explizit aufschreiben sollte. Dies wäre jedoch m<strong>in</strong>destenssehr umständlich, im allgeme<strong>in</strong>en kann man die Länge der benötigten Disjunktionenauch gar nicht vorhersehen (weil sie abhängig von später e<strong>in</strong>gefügten Fakten ist). Daherersche<strong>in</strong>t es s<strong>in</strong>nvoll, daß die Default-Semantik dem Entwerfer diese Arbeit abnimmt.Tatsächlich gibt es auch e<strong>in</strong>e sehr natürliche Semantik mit dieser Eigenschaft, undzwar die ”m<strong>in</strong>imalen Modelle“ [McC80]. Ziel der Negations-<strong>Defaults</strong> ist ja, daß die Interpretationder Prädikate ke<strong>in</strong>e überflüssigen Tupel enthalten, also m<strong>in</strong>imal s<strong>in</strong>d <strong>in</strong> demS<strong>in</strong>n, daß ohne Verletzung der Axiome ke<strong>in</strong>e Tupel herausgenommen werden können.Die m<strong>in</strong>imalen Modelle und ihre Verallgeme<strong>in</strong>erung auf beliebige <strong>Defaults</strong> werden nochausführlich <strong>in</strong> Kapitel 5 untersucht.✷✷