CHECK kısıtı
Her satırın sağlaması gereken bir koşul tanımlayan SQL özelliği: CHECK (age >= 0). Doğrulama uygulama kodunda değil veritabanı düzeyinde yapılır — başka bir istemci yazsa bile değişmezi garanti eder.
Alan kuralları için iyidir: status IN ('active','pending','closed'), email LIKE '%@%', start_date < end_date. PostgreSQL tam destekler; MySQL uzun süre bunları yok sayardı (ayrıştırır ama uygulamazdı) — 8.0.16’da (2019) düzeldi. Karmaşık doğrulamaları ifade etmek için sıklıkla domain türleriyle birleştirilir. Performans: basit denetimler INSERT/UPDATE’te bedavadır; alt sorgulu karmaşık CHECK’ler (içinde SELECT olan) SQL standardında yoktur. PostgreSQL’in dışlama kısıtları, satırlar arası doğrulama için benzer bir fikirdir.