- Constraints
-
Ein Constraint (engl.: Einschränkung) wird häufig in Programmiersprachen verwendet, um den Wertebereich einer Variablen einzuschränken. Auch in Datenbanksystemen finden Constraints rege Anwendung. In der Programmanalyse verwendet man Constraints bei der Analyse funktionaler Programme.
Inhaltsverzeichnis
Constraints in Programmiersprachen
Constraints helfen dem Compiler und der Laufzeitumgebung, Programmierfehler einfacher zu erkennen. Wenn man zum Beispiel eine Variable Anzahl_der_Personen_im_Aufzug 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_Aufzug : 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.
Siehe auch: Constraintprogrammierung
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 spätestens am Ende einer Transaktion alle Constraints überprüft werden. Wenn dabei irgendein Constraint fehlschlägt, werden sämtliche Änderungen an den Daten, die in dieser Transaktion durchgeführt wurden, zurückgenommen, als seien sie nie durchgeführt worden.
Constraints werden in Datenbanksystemem durch Integritätsbedingungen definiert.
Constraints in der Logistik
Ein Constraint wird auch in diesem Fall als Einschränkung für eine durchgeführte Aktion verwendet. Es wird nach Anforderungen oder Requirements und Constraints unterschieden. Bei der Versorgung mit Gütern und Dienstleistungen in der Logistik geben die Constraints z.B. die Einschränkungen an, die bei Zuladung im Bereich Volumen oder Gewicht für bestimmte Lkw gelten.
Constraints in der theoretischen Informatik
In der theoretischen Informatik und speziell in der KI-Forschung werden relationale Aussagen, die freie Variablen enthalten, oft als Constraint bezeichnet. Dann wird eine Variablenbelegung oder "Interpretation" gesucht, die zu einer gegebenen Menge von Constraints passt, d. h. diese simultan erfüllt.
Ein Beispiel: x ist oberhalb von y, y ist rechts von z, z ist oberhalb von x. (Diese Constraintmenge ist nicht erfüllbar.)
Eine Belegung, die alle Constraints erfüllt, wird oft als Modell bezeichnet (siehe Constraint Satisfaction Problem).
Constraints in Und-Oder-Bäumen
In Und-Oder-Bäumen finden sich constraints an den Und-Knoten, hier müssen mehrere Teilziele konjunktiv erfüllt werden, um das Hauptziel zu erfüllen.
Wikimedia Foundation.