Mssql Normalizasyon Nedir
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
Kaydol:
Kayıtlar
(
Atom
)
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.