Beperkingen maken deel uit van een databaseschemadefinitie.
Een beperking wordt meestal geassocieerd met een tabel en wordt gemaakt met een CREATE CONSTRAINT
of CREATE ASSERTION
SQL-instructie.
Ze definiëren bepaalde eigenschappen waaraan gegevens in een database moeten voldoen. Ze kunnen van toepassing zijn op een kolom, een hele tabel, meer dan één tabel of een heel schema. Een betrouwbaar databasesysteem zorgt ervoor dat beperkingen te allen tijde gelden (behalve mogelijk binnen een transactie, voor zogenaamde uitgestelde beperkingen).
Veelvoorkomende soorten beperkingen zijn:
- niet null - elke waarde in een kolom mag niet NULL zijn
- uniek - waarde(n) in gespecificeerde kolom(men) moeten uniek zijn voor elke rij in een tabel
- primaire sleutel - waarde(n) in gespecificeerde kolom(men) moeten uniek zijn voor elke rij in een tabel en mogen niet NULL zijn; normaal gesproken zou elke tabel in een database een primaire sleutel moeten hebben - deze wordt gebruikt om individuele records te identificeren
- vreemde sleutel - waarde(n) in gespecificeerde kolom(men) moeten verwijzen naar een bestaand record in een andere tabel (via zijn primaire sleutel of een andere unieke beperking )
- vink - er is een uitdrukking opgegeven die moet worden geëvalueerd als waar om aan de beperking te voldoen