Ograniczenia są częścią definicji schematu bazy danych.
Ograniczenie jest zwykle skojarzone z tabelą i jest tworzone za pomocą CREATE CONSTRAINT
lub CREATE ASSERTION
Instrukcja SQL.
Definiują one pewne właściwości, z którymi muszą być zgodne dane w bazie danych. Mogą dotyczyć kolumny, całej tabeli, więcej niż jednej tabeli lub całego schematu. Niezawodny system baz danych zapewnia, że ograniczenia są utrzymywane przez cały czas (z wyjątkiem być może wewnątrz transakcji, w przypadku tak zwanych ograniczeń odroczonych).
Typowe rodzaje ograniczeń to:
- nie zerowe - każda wartość w kolumnie nie może być NULL
- wyjątkowy - wartości w określonych kolumnach muszą być unikalne dla każdego wiersza w tabeli
- klucz podstawowy - wartości w określonych kolumnach muszą być unikalne dla każdego wiersza w tabeli i nie mogą być NULL; normalnie każda tabela w bazie danych powinna mieć klucz podstawowy - służy do identyfikacji poszczególnych rekordów
- klucz obcy - wartości w określonych kolumnach muszą odnosić się do istniejącego rekordu w innej tabeli (poprzez jego klucz podstawowy lub jakieś inne unikalne ograniczenie )
- sprawdź - określone jest wyrażenie, którego wartością musi być prawda, aby warunek został spełniony