10.07.2015 Aufrufe

Defaults in deduktiven Datenbanken

Defaults in deduktiven Datenbanken

Defaults in deduktiven Datenbanken

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

134 KAPITEL 6. BERECHNUNG VON ANTWORTENNatürlich wird man mit e<strong>in</strong>em Standard-Datenbanksystem nicht die größtmöglicheEffizienz erreichen können, an e<strong>in</strong>igen Stellen s<strong>in</strong>d noch etwas umständliche Formulierungennötig, die höchstens e<strong>in</strong> sehr <strong>in</strong>telligenter Optimierer geschickt auswerten könnte.Etwas besser wäre schon e<strong>in</strong> NF 2 -Datenbanksystem, wie es <strong>in</strong> [BL92] verwendet wurde.Auch dort s<strong>in</strong>d aber e<strong>in</strong>e ganze Reihe von Restrukturierungen nötig, von denen zu hoffenist, daß sie nicht wirklich ausgeführt werden.Im folgenden wird die ”flache“ Relationenalgebra verwendet, weil entsprechende Datenbanksystemeleichter verfügbar s<strong>in</strong>d, und für Prototypen spielt die Effizienz ja nur e<strong>in</strong>euntergeordnete Rolle. Vor allem aber s<strong>in</strong>d die Implementierungstechniken bekannter, sodaß man den Aufwand der verschiedenen Operationen oder auch mögliche Optimierungenbesser e<strong>in</strong>schätzen kann.Der Idealfall bleibt natürlich e<strong>in</strong> Datenbanksystem, bei dem auch die unteren Schichtenan diese Anwendung angepaßt s<strong>in</strong>d. Auch bei diesem Ziel ist aber das folgende Beispielnützlich, um zu sehen, wo die Standard-Techniken e<strong>in</strong>gesetzt werden können.Es sei folgende typische Regel R1 gewählt:p(X, a) ∨ p(X, b) ← q 1 (X, Y ) ∧ q 2 (Y, c).Nun ist zunächst e<strong>in</strong>e relationale Darstellung für ˆΦ zu wählen. E<strong>in</strong>e besonders e<strong>in</strong>facheLösung ist, nur e<strong>in</strong>e e<strong>in</strong>zige Tabelle zu verwenden. Es gibt natürlich e<strong>in</strong>e ganze ReiheAlternativen, die im folgenden kurz angedeutet werden.DIS FACTSid pred arg1 arg2 active lit length1 q 1 a d T q 1 (a, d) 21 r a — F r(a) 22 q 1 b e T q 1 (b, e) 13 q 2 d c T q 2 (d, c) 14 q 2 e c T q 2 (e, c) 24 r e — F r(e) 2Diese Tabelle repräsentiert folgende Menge von disjunktiven Fakten:ˆΦ 0 := {q 1 (a, d) ∨ r(a), q 1 (b, e), q 2 (d, c), q 2 (e, c) ∨ r(e)}.Die Attribute bedeuten folgendes:• id: Mit diesem Attribut werden die Literale e<strong>in</strong>es disjunktiven Faktums verkettet.• pred: Das Prädikat des <strong>in</strong> dem Tupel dargestellten Literals.• arg1: Das erste Argument des Literals.• arg2 : Das zweite Argument des Literals (bei Bedarf wird e<strong>in</strong> Nullwert e<strong>in</strong>getragen).• active: ”T“, falls das aktive Literal <strong>in</strong> dieser Disjunktion, ”F“ sonst.• lit: Es vere<strong>in</strong>facht die Überprüfung der Ordnung zwischen den Literalen sowieVerbund-Bed<strong>in</strong>gungen, wenn das Literal auch noch e<strong>in</strong>mal als Zeichenkette vorliegt.Ansonsten ist diese Information natürlich redundant. Die Bezeichner für answer

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!