![]() |
|||
| HSG |
|
Will man z.B. die Konsistenz der Daten für die Klassenstufe und die Klasse in einer Schülerdatei sicherstellen, so kann man etwa so vorgehen:
CREATE TABLE schueler (
nr serial PRIMARY KEY,
vorname character varying(20),
nachname character varying(30),
stufe int CHECK (5 <= stufe AND stufe <= 10),
klasse char(1) CHECK ('a' <= klasse AND klasse <= 'e')
);
Versucht man nun z.B. mit
INSERT INTO schueler (vorname, nachname, stufe, klasse) values ('Fritz', 'Wunder', 4, 'c');
einen Schüler einzutragen, der nicht die vorgeschriebene Stufe hat, so weist das System diese Änderung zurück.
ERROR: new row for relation "schueler" violates check constraint "schueler_stufe_check"
Der Pseudo-Datentyp 'serial' sorgt für die automatische Erhöhung des Feldes 'nr'.