> Terim
database constraint
Şemanın tanımlanmış bütünlüğünü ihlal eden herhangi bir veri değişikliğini reddeden katı, database seviyesindeki kurallar.
Detaylı Açıklama
Database constraint'leri, veri bütünlüğü için son savunma hattıdır. Storage seviyesinde benzersizlik (uniqueness), boş olamama (non-nullability), foreign key ilişkileri ve spesifik değer kontrollerini zorunlu kılarlar.
Sadece uygulama seviyesindeki doğrulamalara güvenmek bilinen bir anti-pattern'dir; çünkü güçlü database constraint'leri olmadan bug'lar, doğrudan veritabanı müdahaleleri veya bypass script'leri kaçınılmaz olarak veriyi bozar.
Neden Önemli?
Kötü verinin fiziksel olarak diske yazılamayacağını garanti eder, sistemi uygulama bug'larından ve race condition'lardan korur.
Yaygın Hata Senaryosu
Pratik Örnek
Prodüksiyon Yansıması
Primary key'ler, foreign key'ler, `UNIQUE` index'ler, `NOT NULL` constraint'leri ve `CHECK` constraint'leri.
Sıkça Sorulan Sorular
database constraint kısaca nedir?
Şemanın tanımlanmış bütünlüğünü ihlal eden herhangi bir veri değişikliğini reddeden katı, database seviyesindeki kurallar.
En sık karşılaşılan hata nedir?
Bir developer'ın 'migration hatasını çözmek' için unique constraint'i kaldırması ve bunun sonucunda race condition sırasında binlerce kopya kullanıcı hesabının oluşması.
AI Özeti
Şemanın tanımlanmış bütünlüğünü ihlal eden herhangi bir veri değişikliğini reddeden katı, database seviyesindeki kurallar. Kötü verinin fiziksel olarak diske yazılamayacağını garanti eder, sistemi uygulama bug'larından ve race condition'lardan korur.
