Jednym z problemów związanych z SQL jest niski poziom obsługi ograniczeń integralności, zwłaszcza ograniczeń referencyjnych.
Ze względów praktycznych problem nie może być rozwiązany za pomocą ograniczeń SQL, chyba że wyłączysz ograniczenia, gdy chcesz wstawić wiersz do tabeli. Powodem jest to, że SQL wymaga, aby tabele były aktualizowane pojedynczo, więc ograniczenie musi być naruszane za każdym razem, gdy wstawiane są nowe wiersze. Jest to podstawowe ograniczenie SQL i cierpią z tego powodu wszystkie główne DBMS.
Istnieje kilka obejść, ale żadne z nich nie jest idealne. Możesz użyć ograniczeń ODROCZNYCH, jeśli Twój DBMS je posiada (na przykład Oracle). Ograniczenie ODROCZONE to naprawdę prosty sposób na wyłączenie ograniczenia. Możesz też użyć wyzwalaczy, co oznacza, że reguła jest egzekwowana proceduralnie, a nie przez odpowiednie ograniczenie bazy danych.