📖💡 DDL - Constraints
Constraints sind Einschränkungen, die Regeln in der DB erzwingen. Sie sind eigene Objekte, die an eine Tabelle gebunden sind und überprüfen die DML-Anweisungen, bevor die Änderungen geschrieben werden
Constraint Typ
Beschreibung
PRIMARY KEY
Erzwingt Einmaligkeit eines Datensatzes
eindeutig
NOT NULL
automatische Indexerstellung
sollte jede Tabelle haben
kann aus einer oder mehreren Spalten bestehen (NOT NULL gilt für jede Spalte)
nur einen PK pro Tabelle möglich
UNIQUE KEY
Erzwingt Einmaligkeit eines Werts in einer Spalte
eindeutig
NULL-Werte sind erlaubt
automatische Indexerstellung
kann aus einer oder mehreren Spalten bestehen
mehrere pro Tabelle möglich
FOREIGN KEY
Erzwingt referentielle Integrität
verweist auf den PK einer anderen Tabelle
Spalten dürfen nur in der anderen Tabelle enthaltene Werte aufnehmen oder
NULL sein
NOT NULL muss wenn benötigt extra definiert sein
CHECK
Erzwingt Zugehörigkeit eines Wertes zu Bereich
Einfache Gültigkeitsregeln / Geschäftsregeln
Verweis auf Inhalte derselben Datenzeile
kein Verweis auf andere Datensätze in derselben oder anderen Tabelle möglich
bei komplexen Geschäftsregeln werden Trigger benötigt
DEFAULT
Befüllt bei der Eingabe einen Vorgabewert
Standardwerte
werden übernommen, wenn kein Eintrag erfolgt
werden nur bei Neuerfassungen befüllt
Ausnahme: Neue NOT NULL-Spalte wird mit Default-Wert an die Tabelle angefügt
NOT NULL
Verhindert Eingabe von NULL-Marken
Constraints erstellen
Constraints werden optimalerweise direkt beim Anlegen der Tabelle definiert. Hier gibt es die Möglichkeit, die Constraints entweder auf Spaltenebene (bei der Spaltendefinition) oder auf Tabellenebene (nach den Spaltendefinitionen) zu erstellen.
Constraints auf Spaltenebene
Auf Tabellenebene
Hinzufügen von Constraints zu einer bereits bestehenden Tabelle
Falls die Tabelle bereits existiert, können die Constraints über ALTER
auch nachträglich definiert werden.
Foreign Key
Primary Key
Primary Key (mit Namen)
Check
Check (mit Namen)
Constraint Löschen
💡 Aufgabe 5
Öffne die Datei in Azure Data Studio und löse die Aufgaben.
Last updated
Was this helpful?