17 Mart 2007

Normalizasyon

Veritabanı tasarımı konusunda en önemli kavramlardan biri olan Normalizasyon ile ilgili teorik çok fazla şey yazılabilir. Ben bu kavramı kafasında net olarak oturtamayanlar için küçük bir örnek vermek istedim. Tasarlayacağımız veritabanı çok uluslu kaynaklarla proje üreten bir firmanın yaptığı proje ve çalışan bilgilerini tutsun. Projelerimizi "Amerika'nın yeniden keşfi" ve "Lambaya püf denilmesi" olarak belirleyelim.

Proje bilgileri tablomuzu oluşturup gerekli kayıtları ekleyelim.



Normalize etmek için öncelikle tekrarlanan sütunları bulalım. Bu datayı normalize ettiğimiz zaman 5 tablomuz olacaktır. Bunlar.

Proje (ProjeId,ProjeAd)
Calisan(CalisanId,CalisanAd,CalisanMaliyet,CalisanUlke)
Maliyet(MaliyetId,MaliyetTutar)
Ulke(UlkeId,UlkeAd)
ProjeBilgileriN(ProjeId,CalisanId,CalismaGunu)



Normalize ettiğimiz tablolara aynı verileri girelim.



Bu tasarımda önemli bir kaç normalizasyon kuralını kullandık. Aşağıdaki linkte 5 normalizasyon kuralı bir afiş olarak yer alıyor. İlginç.
http://www.marcrettig.com/poster/rettigNormalizationPoster.pdf

0 yorum: