In unseren Stammdaten möchten wir nur Postleitzahlen, Buchstaben sind dort falsch. In unseren Buchungen möchten wir als Typ nur 'K' oder 'D' haben, nix anderes. Wir nutzen nun Constraints, um Falscheingaben zu verhindern.
001 -- 002 -- einige Constraints 003 -- 004 005 -- die PLZ muß aus 5 Ziffern bestehen 006 ALTER TABLE kunden ADD CONSTRAINT plz_check CHECK (plz ~ '^[0-9][0-9][0-9][0-9][0-9]$'); 007 008 -- typ darf nur aus 'Z' oder 'A' 009 ALTER TABLE buchungen ADD CONSTRAINT typ_check CHECK (typ ~ '^[AZ]$'); 010 011 -- typ muß ausgefüllt werden 012 ALTER TABLE buchungen ALTER COLUMN typ SET NOT NULL; 013 014 -- wert muß ausgefüllt werden 015 ALTER TABLE buchungen ALTER COLUMN wert SET NOT NULL; 016 017 -- und darf nicht kleiner als 0 sein 018 ALTER TABLE buchungen ADD CONSTRAINT wert_check CHECK (wert > 0);Download constraints.sql