SQL Server’da Primary Key ve Unique Key Arasındaki Farklar

SQL Server'da Primary Key ve Unique Key Arasındaki Farklar

Herkese merhaba,

Bu başlık altında SQL Server’da Primary Key ve Unique Key arasındaki farkları inceleyeceğiz.

Primary Key ve Unique Key kısaca anahtar alanlardır. Tanımlandığı sütunlar üzerinde benzersizlik sağlarlar yani yinelenen değerleri önlerler.

PRIMARY KEY

Null

Null değer kullanılmasına izin vermez. Primary Key = Unique Key + Not Null Constraint

Index

Default olarak bir clustered index ekler.

Limit

Bir tablo yalnızca bir tane Primary Key alanına sahip olabilir.

Kod Sözdizimi

Bir tablo oluşturulurken sütunun Primary Key olarak tanımlanması işlemi aşağıda örnek olarak yapılmıştır.

CREATE TABLE dbo.Musteri
(
MusteriId INT NOT NULL PRIMARY KEY,
Adi VARCHAR(100),
Soyadi VARCHAR(100),
Sehir VARCHAR(50)
)

Birden fazla sütunun Primary Key olarak tanımlanması işlemi aşağıda örnek olarak yapılmıştır.

CREATE TABLE dbo.Musteri
(
MusteriId INT NOT NULL,
Adi VARCHAR(100) NOT NULL,
Soyadı VARCHAR(100),
Sehir VARCHAR(50),
CONSTRAINT PK_Musteri PRIMARY KEY(MusteriId,Adi)
)

Alter Sözdizimi

Varolan bir tabloya ait bir sütunda Primary Key tanımlaması yoksa bu alana Primary Key ekleme sözdizimi aşağıdaki gibidir.

ALTER TABLE dbo.Musteri
ADD CONSTRAINT PK_Musteri PRIMARY KEY(MusteriId)

Drop Sözdizimi

Primary Key alanını drop etme sözdizimi aşağıdaki gibidir.

ALTER TABLE dbo.Musteri
DROP CONSTRAINT PK_Musteri

UNIQUE KEY

Null

Null değerler kullanılmasına izin verir.

Index

Default olarak Unique non-clustered index ekler.

Limit

Bir tablo birden fazla Unique alanına sahip olabilir.

Bir tablo oluşturulurken sütunun Unique Key olarak tanımlanması işlemi aşağıda örnek olarak yapılmıştır.

CREATE TABLE dbo.Musteri
(
MusteriId INT NOT NULL UNIQUE,
Adi VARCHAR(100),
Soyadi VARCHAR(100),
Sehir VARCHAR(50)
)

Birden fazla sütunun Unique Key olarak tanımlanması işlemi aşağıda örnek olarak yapılmıştır.

CREATE TABLE dbo.Musteri
(
MusteriId INT NOT NULL,
Adi VARCHAR(100) NOT NULL,
Soyadi VARCHAR(100),
Sehir VARCHAR(50),
CONSTRAINT UK_Musteri UNIQUE(MusteriId,Adi)
)

Alter Sözdizimi

Varolan bir tabloya ait bir sütunda Unique Key tanımlaması yoksa bu alana Unique Key ekleme sözdizimi aşağıdaki gibidir.

ALTER TABLE dbo.Musteri
ADD CONSTRAINT UK_Musteri UNIQUE (MusteriId)

Drop Sözdizimi

Unique Key ekleme sözdizimi aşağıdaki gibidir.

ALTER TABLE dbo.Musteri
DROP CONSTRAINT UK_Musteri

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

SQL Server tarafında kendini ilerletmeye çalışırken bildiklerini sürekli başkalarına aktaran, yazılım dünyasında (C#, Java, Python vb.) kendini güncel tutmaya çalışan, araştırma yapmaktan bıkmayan, meraklı, bilginin üzerine bilgi katmaktan mutluluk duyan bir yazılım eğitmeni ve kod sever. – Grafik tasarım dünyasında Indesign’ı anlatacak kadar iyi kullanabilen, Photoshop ve Illustrator’e de orta düzey hakimiyeti bulunan, internet üzerinde online kimya dergisi kurmuş ve bunu yüzbinlerce kişiye ulaştırmayı başaran bir grafik sever. -WordPress tarafında 5 adet web sitesi kurmuş, bu sistemler üzerine çalışan bir WordPress sever. -Sosyal medya üzerinde okumalara ve araştırmalara devam eden, kendi kurmuş olduğu kimya dergisini daha çok kişiye nasıl ulaştırırım diye düşünen ve bu konuda SEO çalışmaları üzerine kafa yoran bir Sosyal Medya sever. Kısaca çok çalışmayı seven, azimli biriyim.

Yazıyı Oylayın

0/50 ratings

Yazıyı Paylaşın

SQL Server Eğitimleri Kanalına Abone Olun

İlişkili Yazılar

Kimler Neler Demiş?

avatar
 
smilegrinwinkmrgreenneutraltwistedarrowshockunamusedcooleviloopsrazzrollcryeeklolmadsadexclamationquestionideahmmbegwhewchucklesillyenvyshutmouth
  Subscribe  
Bildir