Salah satu masalah dengan SQL adalah tingkat dukungannya yang buruk untuk batasan integritas, terutama batasan referensial.
Untuk semua tujuan praktis, masalah Anda tidak dapat diselesaikan menggunakan batasan SQL kecuali jika Anda menonaktifkan batasan saat ingin menyisipkan baris ke tabel. Alasannya adalah bahwa SQL memerlukan tabel untuk diperbarui satu per satu sehingga batasan harus dilanggar setiap kali baris baru dimasukkan. Ini adalah batasan mendasar dari SQL dan semua DBMS utama menderita karenanya.
Ada beberapa solusi tetapi tidak ada yang sempurna. Anda dapat menggunakan batasan DEFERRABLE jika DBMS Anda memilikinya (Oracle misalnya). Batasan DEFERRABLE benar-benar hanya cara mudah untuk menonaktifkan kendala. Atau Anda dapat menggunakan pemicu, yang berarti aturan diterapkan secara prosedural, bukan melalui batasan basis data yang tepat.