logo

SQL'de Yabancı Anahtar Nasıl Eklenir?

Bu yazımızda SQL veritabanımızın tablosunda yer alan sütuna Yabancı Anahtar eklemeyi öğreneceğiz.

YABANCI ANAHTAR SQL'de veritabanındaki iki tablonun kaydını birleştirmek için kullanılır. Bir tabloda FOREIGN KEY olarak tanımlanan sütunun, aynı veritabanındaki başka bir tabloda PRIMARY KEY olması gerekir.

Sütuna yabancı anahtarı aşağıdaki iki yolla kolayca ekleyebiliriz:

  1. Create table deyimini kullanarak yabancı anahtar ekleme
  2. Alter Table deyimini kullanarak yabancı anahtar ekleme

SQL tablosundaki sütuna YABANCI ANAHTAR eklemek istiyorsanız aşağıdaki adımları verilen sırayla uygulamanız gerekir:

  1. Sistemde veritabanını oluşturun.
  2. Aynı veritabanında iki tablo oluşturun.
  3. Yabancı anahtar eklemeden önce Tablo yapısını görüntüleyin.
  4. Tabloya yabancı anahtar ekleyin.
  5. Tablo yapısını görüntüleyin.

Şimdi yukarıdaki adımları bir örnekle açıklayacağız:

Adım 1: Veritabanı Oluşturun

Yapılandırılmış Sorgu Dili'nde, yapılandırılmış tabloların veritabanında saklanmasının ilk adımı veritabanı oluşturmaktır.

Veritabanı oluşturmak için aşağıdaki SQL sözdizimini kullanın:

 CREATE DATABASE Database_Name; 

oluşturmak istediğinizi varsayalım. Araçlar veri tabanı. Bunun için Yapılandırılmış Sorgu Dili'nde aşağıdaki komutu yazmanız gerekir:

 CREATE DATABASE Vehicles; 

Adım 2: Veritabanında iki Tablo oluşturun

Artık veritabanınızdaki tabloları oluşturmak için aşağıdaki SQL sözdizimini kullanmanız gerekir:

 CREATE TABLE table_name ( column_Name_1 data type (size of the column_1), column_Name_2 data type (size of the column_2), column_Name_3 data type (size of the column_3), ... column_Name_N data type (size of the column_1) ); 

Aşağıdaki SQL sorgusu şunu oluşturur: Arabalar_Detaylar masadaki Araçlar veri tabanı.

 CREATE TABLE Cars_Details ( Car_Number INT AUTO_INCREMENT PRIMARY KEY, Model INT, Cars_Name VARCHAR (20), Colour VARCHAR (20), ); 

Aşağıdaki sorgu oluşturur Arabalar_Fiyat_Detaylar masadaki Araçlar veri tabanı:

 CREATE TABLE Cars_Price_Details ( Model INT NOT NULL PRIMARY KEY, Cars_Price INT NOT NULL ); 

Adım 3: Yabancı Anahtar Eklemeden Önce Tablo Yapısını Görüntüleyin

Tablo oluşturma ve veri ekleme işleminden sonra SQL uygulamanıza aşağıdaki sorguyu yazarak her iki tablonun yapısını görüntüleyebilirsiniz:

 DESC Cars or DESCRIBE Cars ; 

Alan Tip HÜKÜMSÜZ Anahtar Varsayılan Ekstra
Araba numarası Dahili HAYIR AT HÜKÜMSÜZ otomatik artış
Modeli Dahili Evet - HÜKÜMSÜZ -
Araba_Adı Varchar(20) Evet - HÜKÜMSÜZ
Renk Varchar(20) Evet - HÜKÜMSÜZ -

 DESC Cars_Price_Details; 

Alan Tip HÜKÜMSÜZ Anahtar Varsayılan Ekstra
Araba modeli Dahili HAYIR AT HÜKÜMSÜZ -
Araba_Fiyat Dahili HAYIR - HÜKÜMSÜZ

Adım 4: Tablodaki sütuna Yabancı anahtar ekleyin

Tablo oluşturma sırasında yabancı anahtarı eklemek istiyorsanız SQL'de aşağıdaki CREATE TABLE sözdizimini kullanmanız gerekir:

 CREATE TABLE table_name1 ( Column_Name_1 data type (size of the column_1), Column_Name_2 data type (size of the column_2), ......, Column_Name_N data type (size of the column_N) FOREIGN KEY REFERENCES Table_Name2 (Column_Name) ) ; 

Örnek

Aşağıdaki sorgu, Cars_Details tablosundaki 'Model' sütununa YABANCI ANAHTAR'ı ekler:

 CREATE TABLE Cars_Details ( Car_Number INT AUTO_INCREMENT, Model INT FOREIGN KEY REFERENCES Cars_Price_Details (Car_Model), Cars_Name VARCHAR (20), Color VARCHAR (20) UNIQUE, Price INT NOT NULL ) ; 

SQL'deki bu sorgu birleşiyor Arabalar_Detaylar ile masa Arabalar_Fiyat_Detaylar yabancı anahtar yardımıyla tablo.

Adım 5: Yabancı Anahtar Eklemeden Sonra Tablo Yapısını Görüntüleyin

Yürütülen sorgunun sonucunu kontrol etmek için 4oadım, SQL'de aşağıdaki DESC komutunu yazmanız gerekir:

 DESC Cars_Details; 

Alan Tip HÜKÜMSÜZ Anahtar Varsayılan Ekstra
Araba numarası Dahili Evet ÖNCELİK HÜKÜMSÜZ otomatik artış
Modeli Dahili HAYIR YABANCI HÜKÜMSÜZ -
Araba_Adı Varchar(20) Evet - HÜKÜMSÜZ -
Renk Varchar(20) Evet - HÜKÜMSÜZ -
Fiyat Dahili HAYIR - HÜKÜMSÜZ -
Ortalama Dahili HAYIR - 0 -

Yukarıdaki çıktıda gösterildiği gibi Model sütunu yabancı anahtar olarak oluşturulur.

Mevcut Tabloya Yabancı Anahtar Ekle

Yabancı anahtarı mevcut tabloya eklemek istiyorsanız SQL'de aşağıdaki ALTER sözdizimini kullanmanız gerekir:

 ALTER TABLE Table_Name1 ADD CONSTRAINT ForeignKey_Name FOREIGN KEY (Column_Name) REFERENCES Table_Name2 (Column_Name); 

Aşağıdaki sorgu, Cars_Details tablosu veritabanı sisteminde zaten mevcut olduğunda Model sütununa bir YABANCI ANAHTAR ekler:

 ALTER TABLE Cars_Details ADD CONSTRAINT FK_Cars_Details FOREIGN KEY (Model) REFERENCES Cars_Price_Details (Car_Model); 

SQL'deki bu ALTER sorgusu birleşiyor Arabalar_Detaylar ile masa Arabalar_Fiyat_Detaylar yabancı anahtar yardımıyla tablo.

Yabancı anahtarı tablodan sil

Yabancı anahtarı tablonun sütunundan silmek istiyorsanız aşağıdakileri kullanmanız gerekir: DEĞİŞTİR SQL'deki sözdizimi:

 ALTER TABLE Table_Name DROP FOREIGN KEY Foreign_Key_Name; 

Aşağıdaki sorgu, oluşturulan FOREIGN KEY'i Cars_Details tablosunun Model sütunundan siler:

 ALTER TABLE Cars DROP FOREIGN KEY FK_Cars_Details;