Mssql Normalizasyon Nedir

2 yorum
Merhaba Arkadaşlar ;

 Bu bölümde Microsoft SQL Server serüvenimize başlıyor olacağız.İlk olarak veritabanı nedir kısaca değinelim.

  VeriTabanı : Bilgisayar ortamında bir düzen ile saklanan,programatik erişim imkanı bulunan

yönetilebilir,güncellenebilir ve birbirleri arasında ilişki kurabilen  bilgi kümeleridir.

  SQL :(Structed Query Language) Türkçe anlamı : Yapılandırılmış sorgu dili anlamına gelmektedir.Verileri

ve veri kümelerini modellemek ve yönetmek için kullanılır.

SQL Veri Tabanı  :Tanımlı sql cümleleri ile veri tabanını güncelleyebileceğimiz ve verileri ekleyip

silebileceğimiz veri tabanıdır.Bu veritanı kullanım standartları Microsoft SQL Server,Oracle,Microsoft Office

Access  gibi platformlarda belirli bir standartizasyona kavuşmaktadır.

Biz bu veritabanları içerisinden Transact  Sql (T_sql) yani Microsoft SQL Server üzerinden işlemlerimizi

gerçekleştiriyor olacağız.Biz bu aşamada Microsoft SQL Server 2008 R2 üzerinde 

işlemlerimizi gerçekleştiriyor olacağız.

NORMALİZASYON

Veri tabanları üzerinde oluşturduğumuz tabloların daha sağlıklı çalışabilmesi için belirli kurallar 

konulmuştur.Bu kurallara normalizasyon diyoruz.Normalizasyon 6 Kademeden oluşmaktadır.Fakat bunların içinden 3'ü yapılmışsa normalizasyon gerçekleşmiş demektir.Bu kademelere 1NF,2NF,3NF,

BCNF(Boyce - Codd Normal Form),5NF,6NF'dir


Şimdi Senaryonumuzu ele alıp bu kurallara kısaca değinmeye çalışalım.Bir işyerinde muhasebe departmanında çalışan bir elamanı düşünelim.Ve işyerinin birden fazla şubesinin olduğunu ve bir o kadarda çalışan elamanının olduğunu düşünelim.Ve Maaş günü geldiğinde aşağıdaki gibi derme çatma yapılmış bir ödeme planı ile bu işlerin olmayacağını elimden geldiğince anlatmaya çalışıyor olacağım.İlk olarak belirli bir düzen gösterilmeksizin yapılmış kısaltmalar yada - işareti ile belirlenmiş verilerin olduğunu bunun yanı sıra aynı isimde ve soy isimde iki çalışanın aynı şube içerisinde çalıştığını gözlemlemekteyiz.Mahmut Günveren isimli arkadaşlarımız maaş günü geldiğinde bankadan maaşlarını çekmeye gittiklerinde şoke olmuş olabilirler bu senaryo üzerinde   

   Doğal olarak kimin ne kadar maaş alacağı bir anlık hata ya bakabilir.Şimdi bu senaryomuzu düzelmek için normalizasyon kurallarından birinci olan benzersiz bir alan adı ihtiyacımızı gideriyor olacağız

Artık çağırıken muhasebecimiz anansuna göre 1 numaralı çalışan yada 4 numaralı çalışan diyerek çağırabilir ve sorun çıkmadan maaşları dağıtabilir.Bu Noktada normalizasyon bize derken tekrar eden yada edebilecek verileri ayrıt ediniz.Bizde bu aşamada 



 Şimdi Arkadaşlar Normalizasyon 'un Kurallarına geri dönüp senaryomuzda anlattığımız kurallara değinelim.

 1NF : Tabloda "Multi Value" olmayacak yani bir iş yerinde hem müdür hemde çaycı  olan bir çalışanımız varsa buna "2,4"gibi iki veya daha fazla değer içeren veri koymayacağız,eğer gerekliyse ya ikinci bir kayıt ki, bu önerilmez,yada diğer bir seçenek ise yeni bir görev tanımlamak olacak ve görev numarası bu çalışana verilecektir.

2NF:1NF olmak zorunda;

Tabloda benzersiz tanımlayıcı olarak (Pirmary Key PK) istendiği taktirde bir tabloada birden fazla olabilir.

Foksiyonel bağımlılık olmayacak .Örneğin Pk olan bir kolon yada kolonlar başka bir kolona bağımlı olmayacak.Örneğin DoğumTarihi kolonu Pk olsun ve aynı tablo içerisinde Yas diye bir kolon daha olsun ,yaş kolonundaki değeri hesaplamak için DoğumTarihi kolonuna bağımlı olmak zorunda bunu veri tabanında hesaplamak yerine veriyi çekip kullanmak istediğim zaman hesaplayabilirim.

3NF:2NF olmak zorunda ;

Anahtar olmayan kolonlar arasında bağımlılık olmayacak

2 yorum :

Yorum Gönder

Soru Görüş önerileriniz için gmail plus üzerinden + layın müsait olduğumda mutlaka yanıt dönüyor olacağım.