• Bir tablodaki sütunun başka bir tablonun primary key’ine referans vermesidir.

Amaç

  • Tablolar arasında ilişki kurmak (relationship).
  • Referans bütünlüğünü sağlamak.
    • Bu sayede örneğin Müşteriler tablosunda olmayan bir müşteriye sipariş oluşturulmasını engellenir.

Özellikleri

  • Başka bir tablodaki primary key’i gösterir.
  • Veri bütünlüğünü sağlar. (misal “Sipariş” tablosundaki customer_id, “Müşteri” tablosundaki id’ye referans olur.)
  • Foreign key sayesinde veri ilişkisel hâle gelir; kopuk değil, bağlamlı olur.
  • Bir yabancı anahtar sütunu NULL değerler ieçrebilir. Bir çalışanın henüz atanmış bir departmanı yoksa departman_id’si boş olabilir mesela.
  • Bir tabloda birden fazla yabancı anahtar olabilir. Siparişler tablosunda hem customer_idhem de product_id yabancı anahtarları bulunabilir.