PRIMARY KEY ve FOREIGN KEY Nedir? (SQL Dersleri - 21)

kusha · 31 Temmuz 2026 · 4 dk okuma

PRIMARY KEY ve FOREIGN KEY, ilişkisel veritabanlarının temelini oluşturan iki kavramdır. Bir önceki derste gördüğümüz INNER JOIN'in perde arkasında aslında bu ikisi çalışır.

PRIMARY KEY (Birincil Anahtar)

Bir tablodaki her satırı benzersiz şekilde tanımlayan kolondur. Genellikle otomatik artan (IDENTITY) bir id kolonudur:

CREATE TABLE Departments (
    DepartmentID INT PRIMARY KEY,
    DepartmentName VARCHAR(100)
);

DepartmentID burada primary key'dir — aynı değer tabloda iki kez bulunamaz.

FOREIGN KEY (Yabancı Anahtar)

Bir tablodaki bir kolonun, başka bir tablonun primary key'ine referans vermesidir:

CREATE TABLE Employees (
    EmployeeID INT PRIMARY KEY,
    EmployeeName VARCHAR(100),
    DepartmentID INT,
    FOREIGN KEY (DepartmentID) REFERENCES Departments(DepartmentID)
);

Employees tablosundaki DepartmentID, kendi tablosunda benzersiz olmak zorunda değildir (birden fazla çalışan aynı departmanda olabilir) — ama Departments tablosundaki primary key'e karşılık gelir.

Bu Yapı JOIN'i Nasıl Mümkün Kılar?

Bir önceki derste gördüğümüz INNER JOIN, tam olarak bu primary key–foreign key ilişkisi üzerinden çalışır:

SELECT e.EmployeeName, d.DepartmentName
FROM Employees e
INNER JOIN Departments d ON e.DepartmentID = d.DepartmentID;

Departments tablosunun primary key'i (DepartmentID), Employees tablosunun foreign key'i olarak iki tabloyu birbirine bağlar.

Sırada Ne Var?

Sırada, INNER JOIN'den farklı olarak eşleşme olmasa bile sol tablodaki tüm satırları koruyan LEFT JOIN var.