Beschränkungen

<< Collation / Sortierung | IBExpert Glossar | Daten >>

Beschränkungen

Eine Beschränkung ist eine Datenbankprüfung, die die Datenintegrität in den Tabellen und untereinander sicherstellt.

Die Beschränkung bestimmt die Bandbreite der akzeptierbaren Werte für eine Spalte (oder Spalten) oder einen Datensatz in einer Datenbank oder Anwendung. Diese Beschränkung kann automatisch ausgeführt werden und somit durch Testen bei Eingabe sicherstellen, dass Dateninhalte vereinbar sind.

Eine Beschränkung kann für jede Spalte (oder Spalten) in einer Tabelle festgelegt werden, um den oben beschriebenen Mechanismus zu garantieren. Beschränkungen können auf Domänen oder Spalten basieren und die festgelegten Bedingungen müssen bei neuer Dateneingabe oder Änderung vorhandener Daten erfüllt werden. Beschränkungen werden zur Wahrung der Datenintegrität genutzt. Wenn eine Bedingung nicht erfüllt wird, wird eine Exception (Ausnahme) aufgerufen.

Firebird/InterBase® erzeugen intern einen Trigger für jede Prüfbedingung. Beschränkungen können wie folgt definiert werden:

  1. Primärschlüssel/Unique: Festlegung der Unique-Option erzwingt einen eindeutig einmaligen Eintrag in dieser Spalte (diesen Spalten) für jeden Datensatz (d.h. doppelte Feldeintragungen sind nicht erlaubt).
Seit Firebird 1.5, unter Einhaltung des SQL-99 Standards, sind jetzt – auch mehrere – NULLs in Spalten mit einer UNIQUE-Beschränkung zugelassen. Es ist daher möglich, einen UNIQUE Schlüssel in einer Spalte zu definieren, die keine NOT NULL-Beschränkung enthält. Weiteres finden Sie im Kapitel Firebird 2.0 Language Reference Upate, UNIQUE constraints now allow NULL.
  1. Fremdschlüssel: Die Fremdschlüsseloption bestimmt, dass die Spalte(n) durch eine referentiale Integritätsbeziehung mit dem Primärschlüssel einer anderen Tabelle verbunden (ist) sind (d.h. die Eingabedaten werden nur akzeptiert, wenn diese bereits in der Spalte der Primärschlüssel der referenzierten Tabelle vorhanden sind).
  1. CHECK: Die Check-Option ermöglicht die Prüfung jedes Datensatzes auf Gültigkeit anhand eines Ausdrucks (Expression), der in Klammern definiert ist. Check Constraints (Prüfbeschränkungen) in Tabellen sind identisch mit den Check Constraints in Domänen.

Es ist nur eine Beschränkung pro Spalte erlaubt. Wenn die Spalte eine Beschränkung enthält, die auf einer Domäne basiert, die wiederum auch eine Beschränkung enthält, sind beide Beschränkungen aktiv.

Die Spezifikation auf das Schlüsselwort CONSTRAINT und der Name sind optional für alle Beschränkungen. Wenn kein Name festgelegt ist, generiert Firebird/InterBase®Firebird/InterBase® automatisch einen Namen. Alle Beschränkungen werden in einer Systemtabbelle namens DB$RELATION_CONSTRAINTS gespeichert.

Seit Version 1.5 Firebird erlaubt den USING INDEX Subclause am Ende eines Primär-, Unique- or Fremdschlüssel Definition. Weitere Information erhalten Sie im Firebird 2.0 Language Reference Upate Kapitel, USING INDEX subclause.

Wenn die Beschränkungen später mit dem Befehl ALTER TABLE DROP deaktiviert werden sollen, ist es lediglich notwendig die Beschränkungen zu benennen.

Ab InterBase® 5 aufwärts, wird auch die kaskadierende referentiale Integrität unterstützt.

zurück zum Seitenanfang
<< Collation / Sortierung | IBExpert Glossar | Daten >>