SQL Check Constraints
SQL meraklılarına yeniden selamlar :)
Bugün yeniden bir T-SQL makalesiyle yine beraberiz ve yep yeni bilgiler öğrenme konusunda devam ediyoruz.Bugünkü SQL makalemizde veritabanlarında matematiksel konularda yanlış veri girilmesini önleyen Check Constraints konusunu
öğreneceğiz.
Check Constraints'i Türkçe'ye çevirmek biraz zor ancak anlaması en kolay cümle "Sınırlamaları Kontrol Etmek" olabilir.Burada şunu kastediyorum; girilen veri daha önce belirlenen kıstaslara doğru bir biçimde giriliyor mu?
Son cümle sanırım kafanızdaki ampulün yanmasını sağlamıştır umarım :)
Evet,veritabanına girilecek verinin doğru bir şekilde girilip girilmediğini check constraints yapısıyla denetim altına alabiliyoruz.Konuyu önceki SQL makalemizdeki örnek veritabanımız olan BakkalDB ile bağdaştırarak devam ettireceğiz ancak baştan şunu söylemek istiyorum; check constaints yapısını kullanabilmek için öncelikle kafanızda matematiksel bir formül yazmanız gerekiyor çünkü veri girişlerinde bu formül kullanılacak.
Formülden kastımı şöyle açıklayabilirim; örneğin bakkal amcamız veritabanındaki sepetler tablosuna data girmeye
çalışıyor,kolonlarımız ise fiyat,birim ve toplam kolonlarımız olsun.Bakkal amcamız haliyle yaşlanmaya başladı ve o da
ne! Bakkal amcamız birim fiyatı 2 TL olan sütten 2 tane satmış ancak toplam kolonuna 4 TL girmesi gerekirken 5 TL
yazmış yanlışlıkla.
Peki bu durumda ne yapacağız,hesaplar tutmazsa veri girişi böyle mi devam edecek?
Tabiki hayır!
İşte tam bu noktada şöyle bir matematiksel formül aklımıza geliyor:
Toplam Fiyat=Birim Fiyat * Adet
Not=Buradaki * işareti matematikteki çarpma işaretinin bilgisayar dilindeki karşılığıdır.
Artık bu formülümüzü check constraint olarak veritabanımıza bir defalığına kaydediyoruz ve veritabanına her bilgi
ekleme-güncelleme esnasında girilen verinin formüle uygun olup olmadığını denetleyip yanlış veriler girmemizi
engelliyor.
Şimdi de veritabanına check constraint nasıl tanımlanır görelim,aşağıda BakkalDB isimli örnek veritabanımızın son
halini görüyoruz:
Şimdi yapmak istediğimiz konu şu,sepet tablosuna veri girilirken toplam tutar yukarıdaki belirttiğim formüle uygun
olmalı,bunun için öncelikle sepetler"Toplam" adında "money" veri tipinde bir kolon oluşturuyoruz:
Toplam tutar verisinin check constraints'e uygun olması adına boş geçilmemesi gerekiyor ve null işaretini kaldırdık.
Sıra geldi check constraint koşulumuzu yazmaya,toplam kolonuna sağ tıklıyoruz ve gelen seçeneklerden "Check
Constraints" i seçiyoruz:
Ardından "Add" butonuna tıklıyoruz:
Check Constraint şablonu ekrana otomatik yükleniyor ve aşağıda sarı renkte gösterdiğim kısma formülümüzü yazıyoruz:
Eğer daha uzun fomül yazmamız gerekiyorsa formül satırının sağında çıkan 3 noktalı butona tıklar ve geniş bir formül
penceresine formüllerimizi yazarız.
Check Constraint olarak yazdığımız formül şu anlama gelmektedir:
Veri giriş ve güncellemesinde Toplam kolonunun değeri, Birim ve Fiyat kolonuna girilen dataların çarpımlarıdır.
Formülümüzü yazdığımıza göre artık Close butonuyla penceremizi kapatabilir ve veritabanımızı diyagramda
kaydedebiliriz.
SQL Check Constraints konusu burada son buluyor,gördüğünüz gibi SQL Server Management Studio sayesinde diğer SQL dillerine nazaran birçok yapıyı SQL sorguları yazmadan görsellerle birlikte kolaylıkla gerçekleştirebiliyoruz.
Şu ana kadar SQL derslerimizde henüz örnekler gerçekleştirmedik ve maalesef konuları öğrendiğiniz halde örnek
yapmadığımız için biraz havada kalabilir ancak birkaç makale sonrasında artık SQL konusunun can damarı denilebilecek
SQL sorgularını öğrendiğimizde yine bu örnek veritabanımız üzerinden bu konulara tekrar geri dönüş yapacağız,o yüzden biraz sabırlı olmanızı rica ediyorum :)
Bir sonraki makalemizde görüşmek dileğiyle şimdilik hoşçakalın.
Bugün yeniden bir T-SQL makalesiyle yine beraberiz ve yep yeni bilgiler öğrenme konusunda devam ediyoruz.Bugünkü SQL makalemizde veritabanlarında matematiksel konularda yanlış veri girilmesini önleyen Check Constraints konusunu
öğreneceğiz.
Check Constraints'i Türkçe'ye çevirmek biraz zor ancak anlaması en kolay cümle "Sınırlamaları Kontrol Etmek" olabilir.Burada şunu kastediyorum; girilen veri daha önce belirlenen kıstaslara doğru bir biçimde giriliyor mu?
Son cümle sanırım kafanızdaki ampulün yanmasını sağlamıştır umarım :)
Evet,veritabanına girilecek verinin doğru bir şekilde girilip girilmediğini check constraints yapısıyla denetim altına alabiliyoruz.Konuyu önceki SQL makalemizdeki örnek veritabanımız olan BakkalDB ile bağdaştırarak devam ettireceğiz ancak baştan şunu söylemek istiyorum; check constaints yapısını kullanabilmek için öncelikle kafanızda matematiksel bir formül yazmanız gerekiyor çünkü veri girişlerinde bu formül kullanılacak.
Formülden kastımı şöyle açıklayabilirim; örneğin bakkal amcamız veritabanındaki sepetler tablosuna data girmeye
çalışıyor,kolonlarımız ise fiyat,birim ve toplam kolonlarımız olsun.Bakkal amcamız haliyle yaşlanmaya başladı ve o da
ne! Bakkal amcamız birim fiyatı 2 TL olan sütten 2 tane satmış ancak toplam kolonuna 4 TL girmesi gerekirken 5 TL
yazmış yanlışlıkla.
Peki bu durumda ne yapacağız,hesaplar tutmazsa veri girişi böyle mi devam edecek?
Tabiki hayır!
İşte tam bu noktada şöyle bir matematiksel formül aklımıza geliyor:
Toplam Fiyat=Birim Fiyat * Adet
Not=Buradaki * işareti matematikteki çarpma işaretinin bilgisayar dilindeki karşılığıdır.
Artık bu formülümüzü check constraint olarak veritabanımıza bir defalığına kaydediyoruz ve veritabanına her bilgi
ekleme-güncelleme esnasında girilen verinin formüle uygun olup olmadığını denetleyip yanlış veriler girmemizi
engelliyor.
Şimdi de veritabanına check constraint nasıl tanımlanır görelim,aşağıda BakkalDB isimli örnek veritabanımızın son
halini görüyoruz:
Şimdi yapmak istediğimiz konu şu,sepet tablosuna veri girilirken toplam tutar yukarıdaki belirttiğim formüle uygun
olmalı,bunun için öncelikle sepetler"Toplam" adında "money" veri tipinde bir kolon oluşturuyoruz:
Toplam tutar verisinin check constraints'e uygun olması adına boş geçilmemesi gerekiyor ve null işaretini kaldırdık.
Sıra geldi check constraint koşulumuzu yazmaya,toplam kolonuna sağ tıklıyoruz ve gelen seçeneklerden "Check
Constraints" i seçiyoruz:
Ardından "Add" butonuna tıklıyoruz:
Check Constraint şablonu ekrana otomatik yükleniyor ve aşağıda sarı renkte gösterdiğim kısma formülümüzü yazıyoruz:
Eğer daha uzun fomül yazmamız gerekiyorsa formül satırının sağında çıkan 3 noktalı butona tıklar ve geniş bir formül
penceresine formüllerimizi yazarız.
Check Constraint olarak yazdığımız formül şu anlama gelmektedir:
Veri giriş ve güncellemesinde Toplam kolonunun değeri, Birim ve Fiyat kolonuna girilen dataların çarpımlarıdır.
Formülümüzü yazdığımıza göre artık Close butonuyla penceremizi kapatabilir ve veritabanımızı diyagramda
kaydedebiliriz.
SQL Check Constraints konusu burada son buluyor,gördüğünüz gibi SQL Server Management Studio sayesinde diğer SQL dillerine nazaran birçok yapıyı SQL sorguları yazmadan görsellerle birlikte kolaylıkla gerçekleştirebiliyoruz.
Şu ana kadar SQL derslerimizde henüz örnekler gerçekleştirmedik ve maalesef konuları öğrendiğiniz halde örnek
yapmadığımız için biraz havada kalabilir ancak birkaç makale sonrasında artık SQL konusunun can damarı denilebilecek
SQL sorgularını öğrendiğimizde yine bu örnek veritabanımız üzerinden bu konulara tekrar geri dönüş yapacağız,o yüzden biraz sabırlı olmanızı rica ediyorum :)
Bir sonraki makalemizde görüşmek dileğiyle şimdilik hoşçakalın.