Skip to main content

> 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

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ı.

Pratik Örnek

Fiyatların negatif olamayacağını garanti etmek için bir CHECK constraint oluşturmak.

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.