Normalizasyon Nedir ve Neden yapılmalıdır?

Bir veritabanının en önemli önceliklerinden birisi de performanstır. Örneğin; bir sorgu yazdığımızda cevap süresinin gecikmesi demek verilerin geç gelmesi demektir. Verilerin geç gelmesi demek kullanıcıların beklemesi demektir. Kullanıcıların beklemesi demek bizim sıkıntı yaşamamız demektir. Dolayısıyla hiç istemediğimiz bir sonuç ortaya çıkacaktır. Bir sorgunun cevap vermesi 5sn sürerken normalizasyon’dan sonra bu süre 1 sn civarlarına düşmektedir.

Normalizasyon, iki temel amaca hizmet eder. Bunlardan birisi veri tekrarını ortadan kaldırmaktır. İkincisi ise Veri Tutarlılığını arttırmaktır. Daha açıklayıcı konuşmak gerekirse;

A Tablosu

Ad,soyad,tc,annead,babaad,dyeri,dtarihi,kimlikbilgisi,adres,il,ilce,telalankod,telnumarası,eposta,firmaad,firmabilgisi vs. alanların olduğu bir tanlo düşünelim. Bir select yapınca tüm bilgiler gelir ama bunları parçalarsak

Kişiler Tablosu

kisiid,Ad,soyad,tc,baba, anne, d.yeri,dtarihi, kimlikbilgisi,firmaid

Adres Tablosu

kisiid,adres,il,ilce

iletişim

kisiid,telalankod,telnumarası

Firma Tablosu

firmaid,firmaad,firmabilgisi

Yukarıda normalizasyon edilmiş ve edilmemiş halini yukarıdadır.Veritabanımızı açtıktan sonra Database Diagrams isimli klasöre sağ tıklayıp New Database Diagram dedikten sonra  ulaşabilir. İstediğiniz tablolar arasında ilişki kurabilirsiniz. Sonuç olarak veritabanı tasarımı bazı insanlar için ne kadar kolay gözüksede aslında onlarca ince detayı ve zorluğu vardır.