Databases Reference
In-Depth Information
<bedingung> := (<bedingung>)
op:= < | <= | > | >= | = | <>
Die Regeln besagen, dass sich einfache Bedingungen aus einem
Spaltennamen und einem Wertevergleich zusammensetzen.
Dabei steht „ <> “ z. B. für „ungleich“, wobei meist auch „ !=
genutzt werden kann. Komplexere Bedingungen werden aus
anderen Bedingungen zusammengesetzt, indem sie mit AND
oder OR verknüpft werden. Einzelne Bedingungen können mit
NOT negiert werden. Um bei komplexeren Bedingungen, die
sich aus mehr als zwei Bedingungen zusammensetzen, zu re-
geln, in welcher Reigenfolge die Auswertung stattfindet, kann
man Bedingungen in Klammern setzen. Dabei wird die innerste
Bedingung, die keine Klammern enthält, zuerst ausgewertet.
[*] Experten wissen, dass es neben der Klammerregel weitere
Auswertungsregeln gibt, z. B. dass AND vor OR ausgewertet
wird. Weiterhin findet die Auswertung von links nach
rechts statt. Da man sich beim Wechsel des Datenbank-
Managementsystems nicht sicher sein kann, dass diese Re-
geln genau so umgesetzt werden, sollte man auf Klammern,
mit denen man die Auswertungsreihenfolge bestimmt, nicht
unbedingt verzichten.
X
Y
NOT X
X AND Y
X OR Y
w w f
w
w
Zwei-wertige
Logik
w f f
f
w
f
w
w
f
w
f
f
w
f
f
Abb. 6-2: Wahrheitstafel der zwei-wertigen Logik
Zur Erklärung der so genannten Booleschen Verknüpfungen
werden typischerweise Wahrheitstafeln wie in Abb. 6-2 ge-
nutzt, dabei steht „w“ für „wahr“ und „f“ für falsch.
Bei einer kritischen Betrachtung des vorhergehenden Textes
fällt auf, dass von der „eigentlich einfachen Auswertung“ ge-
schrieben wird. Ein Problem tritt auf, wenn ein Attribut den
Wert NULL hat. Wie soll Gehalt>=2000 ausgewertet werden,
wenn Gehalt den Wert NULL hat?
Zur Lösung dieses Problems wird die bisher vorgestellte zwei-
wertige Logik mit „wahr“ und „falsch“ durch eine drei-wertige
Logik ersetzt. Alle bisherigen Überlegungen sind übertragbar,
Auswertungs-
probleme mit
NULL-Werten
132
Search WWH ::




Custom Search