Ein Constraint (engl.: Einschränkung) wird häufig in Programmiersprachen verwendet, um den Wertebereich einer Variablen einzuschränken. Auch in Datenbanksystemen findet Constraints rege Anwendung.
Constraints in Programmiersprachen
Constraints helfen dem Compiler und der Laufzeitumgebung, Programmierfehler einfacher zu erkennen. Wenn man zum Beispiel eine Variable Anzahl_der_Personen_im_Fahrstuhl hat, ist anschaulich klar, dass diese Variable keinen negativen Wert haben darf und auch nicht über einer Maximalanzahl liegen darf.
In der Programmiersprache Ada kann das so aussehen:
type Kapazitaet is range 0..13; Anzahl_der_Personen_im_Fahrstuhl : Kapazitaet := 15;
Hier kann der Compiler sofort erkennen, dass ein Programmierfehler vorliegt. Wäre die Variable nicht beschränkt, müsste der Programmierer die Einschränkungen bei jeder Änderung selbst überprüfen.
Constraints in Datenbanksystemen
In Datenbanksystemen funktionieren Constraints prinzipiell genauso. Viele Datenbanksysteme kennen zusätzlich zu den Constraints noch Transaktionen. Die Kombination dieser beiden Konzepte ist sehr mächtig, da am Ende einer Transaktion alle Constraints überprüft werden. Wenn dabei irgendein Constraint fehlschlägt, wird die ganze Transaktion zurückgenommen, als sei nie etwas passiert.