Nullwertsemantik

Im folgenden Abschnitt wird die Semantik von Nullwerten beschrieben.

  • Vergleichs- oder Rechenoperationen mit einem unbekannten Wert (Nullwert) ergeben einen unbekannten Wert
  • In einer J2EE-Anwendung der Version 1.3 wird in einem Pfadausdruck eine äußere Verknüpfung verwendet, wenn ein NULL-Feld oder cmr-Wert NULL ergibt. In J2EE Version 1.4 wird im Pfadausdruck eine innere Verknüpfung verwendet.
  • Die Operatoren IS NULL und IS NOT NULL können auf Pfadausdrücke angewandt werden und geben die Werte TRUE (Wahr) oder FALSE (Falsch) zurück. Die Booleschen Operatoren AND, OR und NOT verwenden dreiwertige Logik: True, False und Unknown (Unbekannt).
Tabelle 1. Nullwertsemantik. Im folgenden Abschnitt wird die Semantik von Nullwerten beschrieben.
AND True False Unbekannt
True True False Unbekannt
False False False False
Unbekannt Unbekannt False Unbekannt
Tabelle 2. Nullwertsemantik. Im folgenden Abschnitt wird die Semantik von Nullwerten beschrieben.
OR True False Unbekannt
True True True True
False True False Unbekannt
Unbekannt True Unbekannt Unbekannt
Tabelle 3. Nullwertsemantik. Im folgenden Abschnitt wird die Semantik von Nullwerten beschrieben.
  NOT
True False
False True
Unbekannt Unbekannt

Beispiel: Nullwertsemantik

select object(e) from EmpBean where e.salary > 10  and e.dept.budget > 100

Wenn "salary" (Gehalt) gleich NULL ist, ergibt die Auswertung von e.salary > 10 den Wert "unknown" (unbekannt), und es wird kein Mitarbeiterobjekt (employee) zurückgegeben. Wenn das cmr-Feld "dept" oder "budget" gleich NULL ist, ergibt die Auswertung von e.dept.budget > 100 den Wert "unknown", und es wird kein Mitarbeiterobjekt (employee) zurückgegeben.

select object(e) from EmpBean where e.dept.budget is null

Wenn in J2EE 1.3 dept oder budget gleich NULL ist, gibt die Auswertung von e.dept.budget TRUE und ein Mitarbeiterobjekt (employee) zurück. In J2EE 1.4 wird das Mitarbeiterobjekt (employee) nur zurückgegeben, wenn budget gleich NULL ist.

select object(e) from EmpBean e ,  in (e.dept.emps) e1 where e1.salary > 10

Wenn dept gleich NULL ist, ergibt der mehrwertige Pfadausdruck e.dept.emps eine leere Objektgruppe (und keine Objektgruppe, die einen NULL-Wert enthält). Es wird kein Mitarbeiterobjekt (employee) mit dem dept-Wert null zurückgegeben.

select object(e) from EmpBean e where  e.dept.emps is empty

Wenn dept gleich NULL ist, ergibt die Auswertung des Prädikats den Wert unknown, und es wird kein Mitarbeiterobjekt (employee) zurückgegeben.

select object(e) from EmpBean e , EmpBean e1  where e member of  e1.dept.emps

Wenn dept gleich NULL ist, gibt die Auswertung des Members des Prädikats unknown zurück, und es wird kein Mitarbeiterobjekt (employee) zurückgegeben.


Symbol, das den Typ des Artikels anzeigt. Konzeptartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cque_nvsemant
Dateiname:cque_nvsemant.html