Normalizasyon kesinlikle gerçek dünyada kullanılır ... ve umarım 3NF'nin sadece üçüncüsüdür ... şimdi ne var, 8? Ancak 3NF kolay bir hedef olmalıdır.
Ancak ... böyle bir araç olamayacağını söylemek isterim.
Normalleştirme, teknik olarak, her tablonun bir özelliğidir. Belirli bir veritabanında, farklı tablolar farklı normalleştirme düzeylerine sahip olabilir.
Her tablo gerçekleri temsil eder ... bazen sizi o şeyle ilgili diğer gerçeklere yönlendiren yabancı anahtarlar da dahil olmak üzere belirli bir şey türünün (kişi, hesap, sipariş, gönderi, ürün, konum) gerçekleri temsil eder.
Normalizasyon, gerçeklerin tablolarda ne kadar doğru ve verimli bir şekilde temsil edildiği ve tablonun tasarımının belirsiz ve gereksiz veri modellerini önleme yeteneği ile ilgilidir.
Bu nedenle, otomatik araçların kapsamı dışında olan gerçek olguların anlaşılması gerekmektedir.
Q: Is a table with { student, subject, instructor } in 3NF?
A: What are students, subjects and instructors?
Tüm öğretim elemanlarının tüm dersleri öğrettiği ve her öğrencinin, her öğretim elemanından her ders için birden fazla ders olmayan ancak herhangi bir kombinasyon alabildiği bir dünyada, bu tablonun gerçekten 3NF'de olduğu söylenebilir. Gerçek dünyada, bu tablo için 3NF iddiası yapmak saçmadır.
3NF'de olmadığını anlamak, temsil ettiği gerçeklerin doğasını anlamayı gerektirir. Gerçekliğimizde, bu tablo 3NF olmayacaktır çünkü (diğer nedenlerin yanı sıra) konu ve eğitmen, öğrenci ile hiçbir ilgisi olmayan şekillerde ilişkilendirilmiştir. Eğitmenlerin veri tabanımızın başka bir yerinde depolanan dersleri öğrettiği derslerimiz varsa, neden diğer tablodan öğrencinin derse kaydolduğunu gösteren yabancı bir anahtar yerine her iki değeri de kopyalayalım ki? Eğitmen değiştirilirse, birden fazla yerde birden fazla kaydı değiştirmemiz gerekir.
Bir veritabanı ne kadar normalleştirilmişse, gerçek dünyayla ve kendisiyle o kadar tutarlı olur ve veritabanının gerçeklerinin yanlışlıkla yanlış olması daha zordur. Veritabanı tasarımı bir sanattır, ama kesinlikle bir bilim dadır.
Yazdığı her şeyle göz göze gelmeme rağmen, Chris Date'in ilişkisel modelin altında yatan teori hakkında dayanılmaz ayrıntılara giren kitabını, Veritabanı Tasarımı ve İlişkisel Teori: Normal Formlar ve All That Jazz'ı öneriyorum .