Konuyu Açan #1
Giriş ve Temel Kavramlar
Veritabanı tasarımında ilişkisel modellerin temel taşlarından biri olan FOREIGN KEY (yabancı anahtar), iki tablo arasındaki bağıntıyı kurmak için kullanılır. Bu anahtar, bir tablodaki belirli bir alanın, başka bir tablodaki PRIMARY KEY veya UNIQUE alanlara referans vermesini sağlar. Bu yapı, verilerin tutarlılığını korumak ve ilişkileri düzgün kurmak adına kritik öneme sahiptir.

FOREIGN KEY’in İşlevi ve Kullanım Şekli
Bir tabloyu tasarlarken, örneğin "Siparişler" ve "Müşteriler" tablolarını düşünelim. "Siparişler" tablosundaki "MüşteriID" alanı, "Müşteriler" tablosundaki "ID" alanına referans verebilir. Bu durumda, "MüşteriID" yabancı anahtar olarak tanımlanır ve "Müşteriler" tablosundaki "ID" alanını temel alır. Bu dizilim, herhangi bir siparişin yalnızca mevcut müşterilere ait olmasını sağlar.

İşte temel SQL örneği:
KOD
12345678910111213
CREATE TABLE Müşteriler (
  ID INT PRIMARY KEY,
  İsim VARCHAR(100)
);

CREATE TABLE Siparişler (
  SiparişID INT PRIMARY KEY,
  MüşteriID INT,
  Tarih DATE,
  -- Yabancı anahtar tanımı
  FOREIGN KEY (MüşteriID) REFERENCES Müşteriler(ID)
);

Bu örnekte, "Siparişler" tablosundaki "MüşteriID" alanı "Müşteriler" tablosundaki "ID" alanına referans olur ve böylece her sipariş, var olan bir müşteriye ait olur.

Dikkat Edilmesi Gerekenler
  • FOREIGN KEY tanımlaması, referans alınan tablodaki alanın PRIMARY KEY veya UNIQUE olması gerekir.
  • Veri bütünlüğünü sağlamak adına, referans verilen kaydın silinmesi veya güncellenmesi sırasında, ON DELETE veya ON UPDATE seçenekleriyle davranış belirlenebilir (örneğin CASCADE, SET NULL, NO ACTION).
  • Bu anahtarlar, veritabanı tasarımında normalizasyonu destekler ve hatalı veya uyumsuz veri girişlerini engeller.


Sonuç
FOREIGN KEY kullanımı, ilişkisel veritabanlarında veri tutarlılığı ve bütünlüğü sağlamak adına temel bir araçtır. Doğru tasarlandığında, verilerin anlamlı ve güvenilir kalmasını sağlar. Veritabanı tasarımında bu yapının doğru kullanılması, uygulama performansı ve veri yönetimi açısından büyük fark yaratır.

Yanıt vermek için giriş yapmış olmalısınız.

0 alıntı seçildi