www.fatihkabakci.com

Personal Website and Computer Science TUR EN

SQL SERVER CONSTRAINTS

Last update: 12/11/2012 7:55:00 PM

Yazan:Fatih KABAKCI

Bir veritabanı içerisine eklenen,düzenlenen ve yönetilen verileri tutarlı bir durumda saklamak önemlidir.Sql Server bu konuda kullanıcılarına çok önemli destek sağlamaktadır.Constraintler veri bütünlüğü hususunda Sql Server'in otomatik olarak kullanıcılarına sunduğu yapıdır.Sql Server veri bütünlüğünü sağlamak adına 5 farklı constraint tanımlamaktadır.

Primary Key Constraint

Primary Constraint,bir tablo kaydının benzersiz olmasını sağlayan bir kısıttır.Her tablonun yalnızca bir adet primary constraint'i bulunur.Böylelikle bu kısıt altında,aynı değer iki kez girilmemiş olur.Bir primary constraint asla NULL olamaz.

Aşağıda bir tablo oluşturulurken,yaratılan primary key constraint'i gösterilmektedir.

CREATE TABLE tblKitap
(
id int,
ad nchar(20),
yazar nchar(20),
tarih datetime,
CONSTRAINT PK_book PRIMARY KEY(id)
)

Daha evvelden oluşturulmuş bir tabloya primary key constraint eklemek için ise aşağıdaki T-SQL deyimi kullanılır.

ALTER TABLE tblKitap
ADD CONSTRAINT PK_book PRIMARY KEY(id)

MS Management studio'yu kullanarak da bir PK Constraint oluşturulabilmektedir.Bunun için tablo design bölümünde birincil anahtar kısıtı koymak istediğiniz sütuna sağ tıklayarak set primary key ikonunu seçiniz.


Foreign Key Constraint

Foreign key constraint,bir tablodaki sütun değerinin,ilişkili olduğu başka bir tablodaki sütun tarafından geldiğini doğrulamak için kullanılan bir kısıttır.Aşağıda bir primary key ve başka bir tablo ile ilişkili foreign key constraint ekleme örneği gösterilmektedir.

CREATE TABLE tblKitap
(
kod int,
num int,
ad nchar(20),
CONSTRAINT pk_kod PRIMARY KEY (kod),
CONSTRAINT fk_num FOREIGN KEY (num) REFERENCES info(id)
)
info(id) ifadesi info tablosunun id birincil anahtarını temsil eder.

Daha evvelden var olan bir tabloya bir foreign key constraint eklemek için aşağıdaki T-SQL ifadesi kullanılır.

ALTER TABLE tblKitap
ADD CONSTRAINT fk_num FOREIGN KEY (num) REFERENCES info(id)

MS Studio üzerinden bir sütunu foreign key constraint işe eşleştirmek için Database Diagrams kullanılır.


Check Constraint

Check constraint ile belirli tablo sütunlarında belirli kurallar oluşturabilirsiniz.Böylelikle veritabanına eklenecek girdileri veritabanı katmanında kontrol ederek,sağlam bir alt yapı oluşturma imkanı bulursunuz.Check constraintler ile veri bütünlüğünü iş(business) katmanında kontrol edilmeksizin,bu denetimi veritabanı(database) katmanında yapılmasını sağlar.Check constraintlerinin kullanımı daha programatik imkan sağlamaktır.Burada basitçe bir örnek ile anlatılacaktır.

Örneğin tblKitap tablosuna gireceğimiz kitap isimlerinin 20'den küçük olacağını garanti etmek istiyorsak,aşağıdaki gibi bir kısıt kullanabiliriz.

CREATE TABLE tblKitap
(
kod int,
num int,
ad nchar(20),
CONSTRAINT pk_kod PRIMARY KEY (kod),
CONSTRAINT fk_num FOREIGN KEY (num) REFERENCES info(id)
CONSTRAINT ck_ad CHECK (ad < 20),
)

Daha evvelden oluşturulmuş bir tabloya check constraint eklemek için aşağıdaki T-SQL ifadesi kullanılır.

ALTER TABLE tblKitap
ADD CONSTRAINT ck_ad CHECK (ad < 20)

MS Studio ile de check constraint oluşturmak oldukça kolaydır.Tablo design kısmından,ilgili sütuna sağ tıklayarak check constraints 'e tıklayınız.



Default Constraint

Default constraint ile bir sütuna veri eklenmemesi durumunda otomatik olarak varsayılan bir değer eklenmesi sağlanabilir.Default kısıtı,aşağıdaki T-SQL ifadesi ile oluşturulur.

CREATE TABLE tblKitap
(
kod int,
num int,
ad nchar(20) DEFAULT 'Java',
CONSTRAINT pk_kod PRIMARY KEY (kod),
CONSTRAINT fk_num FOREIGN KEY (num) REFERENCES info(id)
)

Daha evvelden oluşturulmuş bir sütuna default constraint eklemek için ise aşağıdaki T-Sql ifadesi kullanılır.

ALTER TABLE tblKitap
ADD CONSTRAINT dk_ad DEFAULT 'Java' FOR ad


MS Studio ile bir default constraint oluşturmak için,ilgili sütunun properties paneline geçerek,Default Value or Binding alanından ekleme yapabilirsiniz.


Unique Constraint

Unique constraint,bir tablodaki primary key constraint dışındaki aday anahtarlar(candidate keys)'a verilen isimdir.Bir unique constraint,NULL olabilen primary key constraintleri olarak adlandırılır.Bir tabloda bir den fazla unique kısıtlamalı alanlar olabilmektedir.Ancak Sql Server yalnızca bir unique constraint'in NULL olmasına izin vermektedir.Aşağıda bu constraint kullanımının örnek bir modeli verilmektedir.

CREATE TABLE tblKitap
(
kod int,
num int,
ad nchar(20),
CONSTRAINT pk_kod PRIMARY KEY (kod),
CONSTRAINT uk_num UNIQUE (num)

Daha evvelden bir tablo sütununa unique constraint eklemek için aşağıdaki T-SQL ifadesi kullanılır.

ALTER TABLE tblKitap
ADD CONSTRAINT uc_num UNIQUE (num)


MS Studio ile bir unique constraint eklemek için,tablo design sekmesinden index/keys bölümüne tıklayınız.





Constraintler doğası gereği bütünlük arz ettiği için,sql Server veritabanı programcılarına ekstradan T-Sql ifadeleri yazmasına lüzum bırakmaz.Kullanıcılar bu ifadeleri veritabanı oluştururken veya daha sonradan ekleyerek veritabanı kontrolünü en alt katmandan yürütürler.
MemberCommentDate:
guest
harika bir anlatım

mustafa

12/27/2019 5:27:00 AM
guest
Muhteşem anlatım. Teşekkürler big Fatih ...

Sezayi Yüksektepe
3/8/2018 9:41:00 AM
guest
CREATE TABLE tblKitap 
(
kod int,
num int,
ad nchar(20),
CONSTRAINT pk_kod PRIMARY KEY (kod),
CONSTRAINT fk_num FOREIGN KEY (num) REFERENCES info(id)
CONSTRAINT ck_ad CHECK (ad < 20),
)
(ad<20)  len kullanılabilir

hakan
signs of a cheater read black women white men
in store walgreens coupons open prescription coupon
free coupon for cialis lilly cialis coupons cialis discount coupons online
viagra wiki open viagra online
sildenafil citrate 200 mg sildenafil citrate 100mg lowest price sildenafil citrate fildena
11/15/2015 11:27:00 AM

Name:


Question/Comment
   Please verify the image




The Topics in Computer Science

Search this site for





 

Software & Algorithms

icon

In mathematics and computer science, an algorithm is a step-by-step procedure for calculations. Algorithms are used for calculation, data processing, and automated reasoning.

Programming Languages

icon

A programming language is a formal constructed language designed to communicate instructions to a machine, particularly a computer. It can be used to create programs to control the behavior of a machine. Java,C, C++,C#

Database

icon

A database is an organized collection of data. The data are typically organized to model aspects of reality in a way that supports processes requiring information.

Hardware

icon

Computer hardware is the collection of physical elements that constitutes a computer system. Computer hardware refers to the physical parts or components of a computer such as the monitor, memory, cpu.

Web Technologies

icon

Web development is a broad term for the work involved in developing a web site for the Internet or an intranet. Html,Css,JavaScript,ASP.Net,PHP are one of the most popular technologies. J2EE,Spring Boot, Servlet, JSP,JSF, ASP

Mobile Technologies

icon

Mobile application development is the process by which application software is developed for low-power handheld devices, such as personal digital assistants, enterprise digital assistants or mobile phones. J2ME

Network

icon

A computer network or data network is a telecommunications network that allows computers to exchange data. In computer networks, networked computing devices pass data to each other along data connections.

Operating Systems

icon

An operating system is software that manages computer hardware and software resources and provides common services for computer programs. The OS is an essential component of the system software in a computer system. Linux,Windows

Computer Science

icon

Computer science is the scientific and practical approach to computation and its applications.A computer scientist specializes in the theory of computation and the design of computational systems.