Normalizasyon Nedir?
İngilizce: Database Normalization
Yayın: · Son güncelleme:
Normalizasyon Nedir? Kısaca
Normalizasyon, ilişkisel veritabanı tasarımında veri tekrarını ve güncelleme hatalarını azaltmak için tabloları kurallara göre bölme işlemidir. Bu kurallar birinci, ikinci ve üçüncü normal form gibi aşamalarla tanımlanır.

Normalizasyon nedir?
Normalizasyon, verileri tekrar etmeyecek ve çelişmeyecek biçimde tablolara ayırma yöntemidir. Kavramı ilişkisel modeli öneren Edgar F. Codd ortaya koymuştur. Amaç, her bilginin tek bir yerde durmasıdır.
Bu kavram, istatistikteki ya da makine öğrenmesindeki veri normalizasyonundan farklıdır. Orada sayılar belirli bir aralığa ölçeklenir, burada ise tablo yapısı düzenlenir.
Normal formlar
Normalizasyon basamaklar hâlinde ilerler. Uygulamada en sık hedeflenenler ilk üç formdur:
- 1NF: Her hücrede tek bir değer bulunur, tekrar eden sütun grupları olmaz.
- 2NF: 1NF şartları sağlanır ve her sütun birincil anahtarın tamamına bağlıdır.
- 3NF: 2NF şartları sağlanır ve anahtar olmayan sütunlar birbirine bağlı değildir.
Daha ileri aşamalar (BCNF, 4NF gibi) da vardır, ama çoğu iş uygulaması için 3NF yeterli kabul edilir.
Örnek
Varsayımsal bir sipariş tablosunda her satırda müşterinin adı, telefonu ve adresi yeniden yazılıyor olsun. Ayşe Hanım 40 sipariş verdiyse adresi 40 kez kayıtlıdır. Adresi değiştiğinde birkaç satır güncellenmeden kalırsa sistem iki farklı adres gösterir.
Normalize edilmiş tasarımda müşteri bilgileri ayrı bir "musteriler" tablosuna taşınır. Sipariş tablosu yalnızca musteri_id değerini tutar ve adres değişikliği tek satırda yapılır.
Denormalizasyon ne zaman gerekir?
Normalizasyon her zaman en hızlı okuma performansını vermez, çünkü veri birçok tabloya dağılır ve sorgularda JOIN sayısı artar. Raporlama ve analiz sistemlerinde bazı bilgiler bilinçli olarak tekrar edilir; buna denormalizasyon denir. Önce normalize edilmiş bir tasarımla başlayıp gerçek performans sorunlarında kontrollü denormalizasyona gitmek daha güvenli bir yoldur.
Sıkça Sorulan Sorular
Normalizasyon yapmazsam ne olur?
Küçük projelerde hemen sorun çıkmayabilir. Veri büyüdükçe aynı bilginin farklı kopyaları çelişmeye başlar, güncelleme ve silme işlemleri hatalı sonuç üretir.
Normalizasyon NoSQL veritabanlarında da uygulanır mı?
Klasik normal form kuralları ilişkisel model için tanımlanmıştır. Doküman tabanlı NoSQL sistemlerde ise okuma hızını artırmak için veriyi birlikte saklamak, yani bir ölçüde denormalizasyon, daha yaygındır.