Databases Reference
In-Depth Information
letzt werden kann. Die letzte Spalte in der Abbildung zeigt,
dass man das gleiche Ergebnis erhält, wenn man die Bedingung
aus der Kopfzeile auswertet.
Status=
'Junior'
Gehalt
<=2000
NOT(Status=
'Junior') OR
Gehalt<=2000
Wenn Status Juni-
or, dann maxima-
les Gehalt 2000
w
w
w
w
w
f
f
f
w
u
u
u
f
w
w
w
f
f
w
w
f
u
w
w
u
w
w
w
u
f
u
u
u
u
u
u
Abb. 6-5: Analyse einer Wenn-Dann-Bedingung
Man kann festhalten, dass Constraints der Form „Wenn A gilt,
dann muss auch B gelten“ immer in der Form „NOT(A) OR B“
übersetzt werden können. Das gesuchte Constraint lautet also:
CONSTRAINT GehaltsgrenzeJunior
CHECK (NOT(Status='Junior')
OR Gehalt<=2000)
Im Kapitel 4 wurde beschrieben, dass eine Tabelle mehrere
Schlüsselkandidaten haben kann und dass man dann für die
weitere Realisierung einen konkreten Schlüsselkandidaten als
Primärschlüssel auswählt. Diese Information, dass ein weiterer
Schlüssel vorliegt, kann durch das UNIQUE -Constraint ausge-
drückt werden. Durch die Angabe von UNIQUE wird garantiert,
dass es in den dazu genannten Spalten nur einmal diesen Wert
bzw. das Werte-Tupel gibt. Ist nur eine Spalte betroffen, kann
das Constraint wieder als Spaltenconstraint ergänzt werden.
Sollen mehrere Constraints direkt nach der Definition eines At-
tributes stehen, werden diese direkt ohne trennendes Komma
hintereinander geschrieben. Ein Beispiel für die Tabelle Ver-
kaeufer könnte sein, dass die Namen der Verkäufer alle unter-
schiedlich sein sollen. Die zugehörige Zeile lautet
UNIQUE zur
Kennzeichnung
eindeutiger In-
halte
Name VARCHAR(6) NOT NULL UNIQUE
138
Search WWH ::




Custom Search