Hello,
Über einen Trigger könnte man das machen. Der prüft bei INSERT und UPDATE ob die Bedingung verletzt wird und bricht dann mit möglichst viel Getöse ab.
Ob der wirklich abbricht, und zwar möglichst mit einer (selbstdefinierbaren) Fehlernummer, hängt vom Datenbanksystem ab. MySQL konnte das zumindest bis vor kurzem noch nicht, allerdings gibt es einen schmutzigen Trick, mit dem man trotzdem einen wiedererkennbaren (auswertbaren) Fehler werfen kann.
Für die _Einhaltung_ von Regeln sind übrigens eher Strored Routines gedacht. Die kann man auch benutzen, um den Direktzugriff auf die Tabellen gänzlich zu unterbinden. Dann bilden sie praktische eine Shell um die Tabellenfunktionen Select, Insert, Update, Delete, ...
Triggers sind eher dafür gedacht, bei Eintreten bestimmter Ereignisse noch _kleine_ Veränderungen an den Daten vornehmen zu können, bevor sie dann doch eingetragen, geändert oder gelöscht werden.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg