Skip to main content

SQL Foreign Key Kullanımı ? Foreign Key Nedir ?

Merhabalar , bu yazımızda SQL Foreign Key kavramından ve Foreign Key kullanımından bahsedeceğiz ve Foreign Key kullanımı hakkında bir örnek yapacağız .

Foreign Key Nedir ?

SQL Foreign Key , bir tablodan başka bir tabloya yardımcı bir index oluşturmak için kullanılır . Her tabloda en fazla bir column(sütun) primary key olmasının aksine birden fazla Foreign Key bulundurulabilir . Bir tabloyu başka bir tabloya bağlayarak daha dinamik çalıştırılabilir hale getirilmesi için kullanılır . Bu duruma “İlişkisel Veritabanı” denir .

SQL Foreign Key Kullanımı

Olayları tablolar ile anlatmak gerekirse ;
Aşağıda"satilan_urunler" ve "magazadaki_personeller" adında 2 adet tablo bulunmaktadır .

"magazadaki_personeller" tablosu

personel_idpersonel_adi
1ezel
2yaren
3emre
4mert
5hazal

"satilan_urunler" tablosu

urun_idurun_adiurun_fiyatiurunu_satan_id
1Televizyon35003
2Cep Telefonu20002
3Bilgisayar50005
4Kulaklık1001
5Bilgisayar Masası4004

Yukarıda 2 adet tablomuz bulunmakta;
Birinci tabloda , mağazada satış görevlilerinin "personel_id" ‘ si ve "personel_adi" bulunmakta.
İkinci tabloda ise , mağazada satılmış ürünlerin "urun_id" ‘si "urun_adi" , "urun_fiyati" ve "urunu_satan_id" ürünü satan personellerin id’si bulunmakta.
NOT : Tablolarda “personel_id” ‘ li column(sütun) ve “urun_id” ‘li column(sütun) PRİMARY KEY ile indexlenmiştir.

sql foreign key
sql foreign key

SQL Foreign Key ‘i Nasıl Veririz?

1 – Tablo Oluştururken Foreign Key Belirlemek

SQL Server / Oracle / MS Access ortamlarındaki kullanım biçimi ;

CREATE TABLE satilan_urunler(
urun_id int NOT NULL PRIMARY KEY,
urun_adi varchar(20) ,
urun_fiyati varchar(20),
urunu_satan_id int CONSTRAINT foreignKey_satici
FOREIGN KEY References magazadaki_personeller(personel_id)
)

Burada tablomuzu oluştururken Foreign key olarak belirlediğimiz urunu_satan_id ‘ye "foreignKey_satici" adında bir CONSTRAINT belirledik . Bu CONSTRAINT ‘ i belirlememizin sebebi bu column(kolon)’a daha sonradan silme vs. işlemleri yaparken bu ismi kullanmamız gerekiyor.

MYSQL ortamında ki kullanım biçimi ;

CREATE TABLE satilan_urunler(
urun_id int NOT NULL,
urun_adi varchar(20) ,
urun_fiyati varchar(20),
urunu_satan_id int,
PRIMARY KEY (urun_id),
CONSTRAINT foreignKey_satici FOREIGN KEY (urunu_satan_id) 
REFERENCES magazadaki_personeller(personel_id)
)

2 – Var Olan Tabloya Foreign Key Belirlemek

MYSQL / SQL Server / Oracle / MS Access ortamlarındaki kullanım biçimi ;

ALTER TABLE satilan_urunler
ADD CONSTRAINT foreignKey_satici
FOREIGN KEY (urunu_satan_id) 
REFERENCES magazadaki_personeller(personel_id)

FOREİGN KEY ‘İ KALDIRMAK

SQL Server / Oracle / MS Access ortamlarındaki kullanım biçimi ;

ALTER TABLE satilan_urunler
DROP CONSTRAINT foreignKey_satici

Yukarıda CONSTRAINT ile belirlediğimiz bir takma isim vardı hatırlarsanız . İşte Foreign Key ‘ i kaldırırken bu takma isimi kullanmamız gerekiyor .

MYSQL ortamında ki kullanım biçimi ;

ALTER TABLE satilan_urunler
DROP FOREIGN KEY foreignKey_satici

Bu yazımızda ‘İlişkisel Veritabanı’ hakkında biraz bilgi edindik .Foreign Key Kavramından bahsettik . SQL ile ilgili diğer yazılarımız için Kodlar.Net ‘ i takipte kalabilirsiniz . SQL ile ilgili daha detaylı dökümanları buradan okuyabilirsiniz .

Emre Sualp

Kocaeli Üniversitesi Bilgisayar Mühendisliği 4. sınıf öğrencisiyim .Java , Javascript ve Android programlama ile ilgileniyorum.Bildiklerimi aktarmak ve yeni öğrendiğim konuları pekiştirmek için yazılarımı sizlerle paylaşacağım.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir