Veritabanı Normalizasyon: 1NF'den 3NF'ye Adım Adım

Normalizasyon, veritabanı tasarımında veri tekrarını ve tutarsızlığını ortadan kaldıran sistematik bir yöntemdir. Kötü tasarlanmış tablolar aynı bilgiyi birden fazla yerde tutar, bu da güncellemeler sırasında hatalara neden olur. Adım adım ilerleyerek bu sorunları çözeceğiz.

Bir kütüphane sisteminde kitap ödünç verme kaydını tuttuğunuz tabloyu düşünün:

1ODÜNÇ (OduncID, ÜyeAdi, ÜyeEmail, KitapAdi, YazarAdi, YazarUlkesi, OduncTarihi)
2
3Örnek veriler:
41 | Ahmet Yılmaz | ahmet@mail.com | SQL Öğreniyorum | Mustafa Kaya | Türkiye | 2024-01-15
52 | Ahmet Yılmaz | ahmet@mail.com | Veri Tabanları | Zeynep Şimşek | Türkiye | 2024-01-20
63 | Fatma Demir | fatma@mail.com | SQL Öğreniyorum | Mustafa Kaya | Türkiye | 2024-01-18

Sorun açık: Ahmet'in bilgileri ve yazarların ülkeleri tekrar ediliyor. Ahmet'in emaili değişirse iki satırı güncellemen gerekir.

1NF kuralı: Her hücre tek bir değer içermeli, tekrarlayan gruplar olmamalı. Yukarıdaki tablomuz zaten bunu sağlıyor, ama ilişkili verileri ayrı tablolara taşımalıyız.

Reklam · TEST
AdSense Test ReklamıYazı arası (gönderi içi) · Yazı arası
1ÜYELER (ÜyeID, ÜyeAdi, ÜyeEmail)
21 | Ahmet Yılmaz | ahmet@mail.com
32 | Fatma Demir | fatma@mail.com
4
5YAZARLAR (YazarID, YazarAdi, YazarUlkesi)
61 | Mustafa Kaya | Türkiye
72 | Zeynep Şimşek | Türkiye
8
9KİTAPLAR (KitapID, KitapAdi, YazarID)
101 | SQL Öğreniyorum | 1
112 | Veri Tabanları | 2
12
13ÖDÜNÇ (OduncID, ÜyeID, KitapID, OduncTarihi)
141 | 1 | 1 | 2024-01-15
152 | 1 | 2 | 2024-01-20
163 | 2 | 1 | 2024-01-18

2NF kuralı: Tablonun birincil anahtarının tüm kısmına bağlı olmayan sütunlar başka tabloya taşınmalı. Üstteki tablolar zaten 2NF'yi sağlıyor çünkü her sütun birincil anahtara tamamen bağımlı.

3NF kuralı: Birincil anahtar olmayan sütunlar birbirinden bağımsız olmalı (geçişli bağımlılık olmamalı). YAZARLAR tablosunda YazarUlkesi yerine UlkeID kullanarak daha da normalize edelim:

1ÜLKELER (UlkeID, UlkeAdi)
21 | Türkiye
3
4YAZARLAR (YazarID, YazarAdi, UlkeID)
51 | Mustafa Kaya | 1
62 | Zeynep Şimşek | 1

Artık "Türkiye" bir yerde tutulur. Yazarlar tablosu sadece birincil anahtarına bağımlı sütunlar içerir.

Normalizasyon sonrası tablolarımız daha esnek, güncellemeleri daha güvenli ve veri tutarlılığı daha yüksek. Sorgularında JOIN kullanarak ilgili verileri birleştirirsin.

Reklam · TEST
AdSense Test ReklamıGönderi altı · Görüntülü
konu hakkında tepkinizi verebilirsiniz