Sql Foreign Key Kullanımı

C

CapsLock

Enough
Ultra Member
Joined
Nov 5, 2019
Messages
959
Reaction score
718
Location
Peak
SQL Foreign key ne olduğu ile ilgili bir önceki yazıda iki tablo arasında yapılan ilişkisel bir kısıtlama olduğuna değinmiştik. Yabancı anahtar kısıtlaması bir tablodaki birincil anahtar ile diğer tablodaki bir alan ile sağlanabilir. Bu açıklamadan yola çıkarak. Aşağıdaki SQL kodlarını oluşturuyoruz.

Yazar ve Tur adında tablolara sahip olduğumuz düşünerek iki yöntemle yabancı anahtar oluşturulmasını sağlayalım.

Screenshot_2.png



SQL:
CREATE TABLE yazar(
yazarno INT IDENTITY(1,1) NOT NULL PRIMARY KEY ,
yazarad varchar(50),
dogumtarih date
)

SQL:
CREATE TABLE tur(
turno INT IDENTITY(1,1) NOT NULL PRIMARY KEY ,
turad varchar(50)
)

Yabancı anahtarı iki şekilde oluşturabiliriz.
1 Yöntem: Tablo oluşturulurken yabancı anahtar kısıtlaması yazılarak yapılabilir. kitap tablosundaki yazarno değeri referans olarak yazar tablosundaki yazarno olduğunu belirtiliyor.

SQL:
CREATE TABLE kitap(
kitapno INT IDENTITY(1,1) NOT NULL PRIMARY KEY ,
isbno varchar(50),
kitapadi varchar(100),
yazarno int FOREIGN KEY REFERENCES yazar(yazarno),
turno int,
sayfasayisi int
)

2.Yöntem: Tablo oluşturulduktan sonra ALTER komutu ile kısıtlama yapılabilir.

SQL:
ALTER TABLE kitap ADD CONSTRAINT Fk_turno
FOREIGN KEY (turno) REFERENCES tur(turno)

Screenshot_3.png
 
SPAM IS FORBIDDEN!
  • SPAMMERS ARE BANNED FROM THE FORUM AND CANNOT USE ANY OF THE CHEATS
  • For example: thanks, thx, very good, asdqwe, working, ty and so on!
  • For example: Writing the same message over and over. thanks, thx and so on!
  • Copying and copying someone else's message is prohibited.
  • It is forbidden to send messages to increase the number of comments on threads that you have no knowledge of.
  • Write your own opinion when commenting!
  • If you see spam message, please let us know with the REPORT button!

Tema düzenleyici

Top Bottom