Arkadaşlar öncelikle merhabalar . Şimdiden Ramazan bayramınızı kutlar büyüklerimin ellerinden küçüklerimin gözlerinden öperim .
Şimdi konumuzun olan SQL Server'da CONSTRAIN'lere geçelim . Constraint kelime anlamı ile kısıtlama demektir .
Constraint bir sınırlayıcıdır . Tablo ya da sütunda yer alır . Verinizin doğruluk kurallarının karşılığında emin olmanızı sağlar .
Resmimden örneklerle yola çıkacak olursak . Birim Fiyat sütunundaki verileri sıfır ya da sıfıırn üstünde olacak şekilde sınırlandırmayı istiyoruz bunun için " Domain Constraint" kullanırız . 0'ın altında bir değer reddedilir ! böylece kaç sütun vaarsa değerlerin constraintlere uygun olduğundan emin olabiliriz .
şimdi sırada ikinci constraintimiz olan :
*Entity tek tek satırlarla ilgilidir resimde okla belirttiğim üzere .
Constraint'in bu türü bütün olarak sütunla ilgili değilde özel olarak satırla ilgili olarak düşünebiliriz .
Bunun en iyi örneği olarak ; sütundaki ya da sütun kombinasyonlarındaki her satırın unique değere sahip olmasıdır.
Şimdi bilenler diyecektir ki Unique değere sahip sütun mu ? veya Bu alan constraint anlamına mı geliyor ? bilen arkadaşlardan bu soruları duymak gayet normal hemen bunları cevaplayayım .
hayır , gelmiyor .
Bir sütundaki verilerin , bir değerden büyük ya da küçük olması gibi belirli bir formatta olması gerekiyor diye birşey söylemedim veya anlatmadım ben size . Yalnızca bir satırdaki değerin başka bir satırdaki değerden farklı olması gerektiğini söyledim . ( umarım kafanızı karıştırmamışımdır )
Son constraintimizden de bahsedip konumu yavaşça bitiriyorum :
*Referential Integrity bir sütundaki değerin aynı tablodaki veyahut farklı tablodaki diğer bir sütundaki veri ile eşleştiği zaman oluştururuz .
Şimdi size çok farklı bir şekilde anlatacağım bu konuyu . Kredi kartları ile .. Başlayalım .
Kredi kartı ile ürün siparişi aldığımızı düşünelim Bankadan kredi kartı için onay almamız gerektiğini hepimiz biliyoruz . İşçilerinizin onay verilmeyen kredi kartlarını reddetmesini istemekteyiz . İşte tam da bu anda "veri tutarlığı constraint'i" ortaya çıkar, alan ya da arama tablosu oluşturmanızı sağlar.
Alan tablosu , kabul edilebilir verilerin sınırlı bir listesini sağlayan tablodur . Bu tablo ile aşağıda örneğini yapacağım şekilde tablolar oluşturabilirsiniz :
Şimdi size son olarak burayı da anlatayım . Alan tablosundaki KrediKartID sütununu referans alan tablolar oluşturabilirsiniz . Bu demek oluyor iframe ile aynı mantık . Veri tutarlılığı oluştuktan sonra KrediKartıID sütununu referans alan siparişler ( bu tabloyu da oluşturduk sayalım ) tablosu , KrediKarti tablosundaki KrediKartıID ile eşleşmek zorundadır . Siparişler tablosuna her yeni satır eklediğimizde , alan listesinde de bir değer vermek veyahut almak zorundadır .
Arkadaşlar bir konumun daha sonuna geldik sizlere ufakta olsa bir şeyler öğretebildi isem ne mutlu bana ..
Şimdi konumuzun olan SQL Server'da CONSTRAIN'lere geçelim . Constraint kelime anlamı ile kısıtlama demektir .
Constraint bir sınırlayıcıdır . Tablo ya da sütunda yer alır . Verinizin doğruluk kurallarının karşılığında emin olmanızı sağlar .
Şimdi size Constraint Tiplerinden bahsetmek istiyorum .
Constraint Tiplerinde birden fazla uygulama yöntemi vardır . Bu yöntemler 3 ana kategoride toplanır : " Entity , domain ve Referential Integrity Constraint'leri " olmak üzeredir .
Aşagıdaki kendi çizimim olanan , word'den çizdiğim , resimde size bu konuyu anlatmaya çalışacağım ..
Saygıdeğer arkadaşlarım şimdi o 3 katogerideki constraintleri inceleyelim .Constraint Tiplerinde birden fazla uygulama yöntemi vardır . Bu yöntemler 3 ana kategoride toplanır : " Entity , domain ve Referential Integrity Constraint'leri " olmak üzeredir .
Aşagıdaki kendi çizimim olanan , word'den çizdiğim , resimde size bu konuyu anlatmaya çalışacağım ..

Domain Constraint'leri
Bir ya da birden fazla sütun ile ilgilidirler . Belirli sütunların kriterlere uygun olmasını sağlar . Bir satır ekler veyahut güncellerseniz , tablodaki diğer satırlara bağlı kalmadan o sütunun verisine constraint uygulanır .Resmimden örneklerle yola çıkacak olursak . Birim Fiyat sütunundaki verileri sıfır ya da sıfıırn üstünde olacak şekilde sınırlandırmayı istiyoruz bunun için " Domain Constraint" kullanırız . 0'ın altında bir değer reddedilir ! böylece kaç sütun vaarsa değerlerin constraintlere uygun olduğundan emin olabiliriz .
şimdi sırada ikinci constraintimiz olan :
Entity Constraint'leri
*Entity tek tek satırlarla ilgilidir resimde okla belirttiğim üzere .
Constraint'in bu türü bütün olarak sütunla ilgili değilde özel olarak satırla ilgili olarak düşünebiliriz .
Bunun en iyi örneği olarak ; sütundaki ya da sütun kombinasyonlarındaki her satırın unique değere sahip olmasıdır.
Şimdi bilenler diyecektir ki Unique değere sahip sütun mu ? veya Bu alan constraint anlamına mı geliyor ? bilen arkadaşlardan bu soruları duymak gayet normal hemen bunları cevaplayayım .
hayır , gelmiyor .
Bir sütundaki verilerin , bir değerden büyük ya da küçük olması gibi belirli bir formatta olması gerekiyor diye birşey söylemedim veya anlatmadım ben size . Yalnızca bir satırdaki değerin başka bir satırdaki değerden farklı olması gerektiğini söyledim . ( umarım kafanızı karıştırmamışımdır )
Son constraintimizden de bahsedip konumu yavaşça bitiriyorum :
Referential Integrity Constraint'leri
*Referential Integrity bir sütundaki değerin aynı tablodaki veyahut farklı tablodaki diğer bir sütundaki veri ile eşleştiği zaman oluştururuz .
Şimdi size çok farklı bir şekilde anlatacağım bu konuyu . Kredi kartları ile .. Başlayalım .
Kredi kartı ile ürün siparişi aldığımızı düşünelim Bankadan kredi kartı için onay almamız gerektiğini hepimiz biliyoruz . İşçilerinizin onay verilmeyen kredi kartlarını reddetmesini istemekteyiz . İşte tam da bu anda "veri tutarlığı constraint'i" ortaya çıkar, alan ya da arama tablosu oluşturmanızı sağlar.
Alan tablosu , kabul edilebilir verilerin sınırlı bir listesini sağlayan tablodur . Bu tablo ile aşağıda örneğini yapacağım şekilde tablolar oluşturabilirsiniz :

Arkadaşlar bir konumun daha sonuna geldik sizlere ufakta olsa bir şeyler öğretebildi isem ne mutlu bana ..