SQL Server Check Constraint Kullanımı

Herkese merhaba,

Bu yazıda sizlere SQL Server’da Check Constraint kullanımından bahsedeceğim.

SQL Server’da Check Constraint’ler ile belirlediğiniz tablo sütunlarında belirli kurallar oluşturabilirsiniz. Bu sayede veritabanına eklenecek girdileri tablolara girmeden kontrol edebilirsiniz. Eğer eklenen kurala uymazsa hata verecektir. Check Constraint’ler ile veri bütünlüğü sağlama imkanı elde edersiniz. Konu hakkındaki örneği aşağıda görebilirsiniz.

CREATE TABLE Kitaplar
(
KitapKod int,
Sayfa int,
KitapAd nvarchar(50),
CONSTRAINT PK_Kitapkod PRIMARY KEY (KitapKod),
CONSTRAINT CK_Kitapad CHECK (LEN(KitapAd) < 50), 
CONSTRAINT CK_Kitapsayfa CHECK (Sayfa > 0)
)

--Veri Ekleme

INSERT INTO Kitaplar
        ( KitapKod, Sayfa, KitapAd )
VALUES  ( 2,
          0, 
          N'SQL Server Öğreniyorum'
          )

Burada CK ile başlayan ifadeler Check Constraint ifadeleridir. Kitap sayfası sıfırdan küçük olamayacağı için bir Check Constraint tanımladık. Deneme amaçlı bir kayıt eklediğimiz zaman ise Check Constraint hatasını almış olduk.

Daha önce Check Constraint olmayan bir tabloya Check Constraint eklemek için ise aşağıdaki kodu yazmanız gerekli.

CREATE TABLE Kitaplar
(
KitapKod int,
Sayfa int,
KitapAd nvarchar(50)
)

--Kolonu Check Constraint Yapmak

ALTER TABLE Kitaplar
ADD CONSTRAINT CK_Sayfa CHECK (Sayfa > 0)

INSERT INTO dbo.Kitaplar
        ( KitapKod, Sayfa, KitapAd )
VALUES  ( 1, 
          0, 
          N'SQL Server'  
          )

Burada Alter Table diyerek Kitaplar tablosuna Check Constraint ekleme işlemi yaptık. Daha önceden oluşturulmuş tablolara Check Constraint ekleme işlemini bu şekilde yapıyoruz.

Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.

1.788 Kez Okundu

Yavuz Selim Kart

Yazılım ve veri tabanında bildiklerimi anlatmaya gayret ediyorum. Halen birçok programlama dili üzerinde araştırmalar yaparak kendimi geliştiriyorum. Bunlar haricinde Grafik Tasarım ve Wordpress konularına da ilgim bulunmakta. SEO ve Sosyal medya yönetimleri hakkında da bilgim mevcuttur. Kısaca çok çalışmayı seven azimli biriyim.

You may also like...

Yazı kopyalamak yasaktır!