Modelleme ve veri değişimi
CREATE, ALTER ve constraints
İş kurallarını veri katmanında koru.
Kavramı anlayalım
DDL nesne yapısını oluşturur veya değiştirir. NOT NULL zorunlu alanı; CHECK değer kuralını; UNIQUE tekilliği; PRIMARY KEY kimliği; FOREIGN KEY ilişkiyi korur. DEFAULT, değer belirtilmediğinde varsayılan sağlar; NULL gönderilmesini her durumda otomatik engellemez.
CHECK yalnız FALSE koşulunu reddeder; NULL yüzünden UNKNOWN olan bazı ifadeler geçebilir. Zorunlu pozitif tutar için hem NOT NULL hem CHECK kullan. ALTER işlemleri büyük tablolarda kilit ve dönüşüm maliyeti oluşturabilir. Üretimde migration, veri uyumu ve geri dönüş planı birlikte hazırlanır.
Geçersiz kaydın uygulama dışından bile eklenmesini önlemek için.
CHECK(Price > 0) ile NULL fiyatın da yasaklandığını sanmak.
Aynı konu. Üç farklı derinlik.
CREATE TABLE #Amounts (Id int NOT NULL PRIMARY KEY, Amount decimal(10,2) NOT NULL CHECK (Amount > 0));Geçici tabloda zorunlu pozitif tutar kuralı oluşturur.
Bu sayfa SQL çalıştırmaz. Örnekleri indirilebilir SqlStudioLab veritabanında, SSMS’de uygula. Geçici tablo örneklerini yeniden çalıştırırken yalnız ilgili #tabloyu temizle. VIEW, procedure ve function örnekleri lab’da kalıcı nesne oluşturur; üretim bağlantısı kullanma.
Önce kendin dene.
Geçici bir tabloda sıfırdan büyük zorunlu miktar kuralı oluştur.
Çözümü ve açıklamasını göster
CREATE TABLE #QuantityDemo (Id int NOT NULL PRIMARY KEY, Quantity int NOT NULL CHECK (Quantity > 0));NOT NULL eksik değeri, CHECK sıfır veya negatif değeri engeller.