Normalizasyon, bir veritabanında; gereksiz veri tekrarını önlemek, veri kaybını engellemek ve veritabanı yönetimini kolaylaştırmak amacıyla tabloların belirli kurallar çerçevesinde düzenlenmesidir. Veritabanı tasarımında; iyi yapılandırılmış tablolar oluşturulması, veri bağımlılıklarının kaldırılması ve ilişkilerin netleştirilmesi için normalizasyon uygulanır.
Normalizasyonun Avantajları
- Veri Bütünlüğünü Sağlar: Aynı veri birden fazla yerde tutulmadığı için güncellenmesi kolaylaşır.
- Depolama Alanını Verimli Kullanır: Gereksiz tekrarların kaldırılması ile daha az veri saklanır.
- Performansı Artırır: Veri tabanında gereksiz sorgu yükünü azaltarak hız kazandırır.
- Esneklik ve Uygulama Bağımsızlığı Sağlar: Verileri yönetmek ve değiştirmek daha kolay hale gelir.
Normalizasyon Kuralları ve Normal Formlar
Normalizasyon belirli kurallara dayanır ve bu kurallar "normal form" adı verilen seviyeler halinde uygulanır. Genel olarak üç temel normal form (1NF, 2NF, 3NF) kullanılır. Daha karmaşık sistemlerde Boyce-Codd Normal Formu (BCNF), 4NF ve 5NF gibi ileri düzey formlar da bulunur.
Birinci Normal Form (1NF)
Şartlar:
- Tüm sütunlar atomik (bölünemez) olmalıdır.
- Her sütunda aynı türde veri saklanmalıdır.
- Tekil satır kimliği (primary key) olmalıdır.
🔹 Örnek: Aşağıdaki öğrenci tablosu 1NF’ye uygun değildir çünkü "Dersler" sütununda birden fazla veri tutulmaktadır:

Dönüştürülmüş 1NF Tablosu:

İkinci Normal Form (2NF)
Şartlar:
- Tablonun 1NF’yi sağlaması gerekir.
- Kısmi bağımlılıklar kaldırılmalıdır. Yani, birincil anahtarın sadece bir kısmına bağımlı olan sütunlar ayrı bir tabloya taşınmalıdır.
🔹 Örnek:

Bu tabloda "Bolum_adi" sütunu, "Bolum_kodu"na bağlıdır. Dolayısıyla "Bolum_adi" farklı bir tabloya taşınmalıdır:
Öğrenci Tablosu:

Bölüm Tablosu:

Notlar Tablosu:

Üçüncü Normal Form (3NF)
Şartlar:
- Tablonun 2NF’yi sağlaması gerekir.
- Geçişli bağımlılıklar kaldırılmalıdır. Yani, anahtar olmayan sütunlar başka anahtar olmayan sütunlara bağımlı olmamalıdır.
🔹 Örnek: Tablodaki "Bolum_kodu" bilgisi "Bolum_adi"na bağımlıdır. Eğer "Bolum_adi" başka bir sütuna bağımlıysa, bu durum geçişli bağımlılığa yol açar. Bunu önlemek için bölüm bilgileri ayrı bir tabloya alınmalıdır.
Son Hali:


Veritabanı normalizasyonu, veri bütünlüğünü sağlamak, depolama alanını verimli kullanmak ve performansı artırmak için kullanılan kritik bir yöntemdir. 1NF, 2NF ve 3NF temel olarak en yaygın kullanılan normalizasyon adımlarıdır. Boyce-Codd Normal Formu (BCNF), 4NF ve 5NF ise daha karmaşık yapılar için uygulanır.

