Begränsningar är en del av en databasschemadefinition.
En begränsning är vanligtvis associerad med en tabell och skapas med en CREATE CONSTRAINT
eller CREATE ASSERTION
SQL-sats.
De definierar vissa egenskaper som data i en databas måste följa. De kan gälla en kolumn, en hel tabell, mer än en tabell eller ett helt schema. Ett tillförlitligt databassystem säkerställer att begränsningar alltid gäller (utom möjligen i en transaktion, för så kallade uppskjutna begränsningar).
Vanliga typer av begränsningar är:
- inte null - Varje värde i en kolumn får inte vara NULL
- unik - värden i angivna kolumner måste vara unika för varje rad i en tabell
- primär nyckel - värden i angivna kolumner måste vara unika för varje rad i en tabell och inte vara NULL; normalt bör varje tabell i en databas ha en primärnyckel - den används för att identifiera individuella poster
- främmande nyckel - värden i angivna kolumner måste referera till en befintlig post i en annan tabell (via dess primära nyckel eller någon annan unik begränsning )
- kontroll - ett uttryck specificeras som måste utvärderas till sant för att begränsningen ska uppfyllas