Welcome to My Blog 👋

Java, Spring Framework, Microservices, Docker, Kubernetes, AWS and Others 🚀
Follow Me

SQL - Üçüncü Normal Şekil (Third Normal Form - 3NF)



  October 31, 2018    Labels:,,,,,,,,,, 

İlişkisel veritabanı teorisinde geçen ve ilişkisel bir veri tabanının hafızayı daha verimli kullanması için geliştirilen normal şekillerden üçüncüsüdür. Bir veri tabanı tasarlanırken veya daha sonradan normalleştirilebilir yani normal form kurallarına uyması sağlanabilir. Bu sayede veritabanının daha az yer kaplaması sağlanmış olur. Ancak bazı durumlarda yerden fedakarlık yapılarak hız ön plana çıkar. Bu durumda normalleştirilmiş bir veritabanının bozulması (denormalization) gerekir. Veritabanımızın üçüncü normal şekle uyması için iki temel kural vardır;
  • İkinci normal şekle uymalıdır.
  • Bir tablodaki aday anahtar olmayan hiç bir kolon diğer herhangi bir kolunu tanımlayamamalıdır.

Not! Yukarıdaki ikinci şart ile kastedilen şey bir tablodaki anahtarın diğer tüm kolonları tek başına tanımlayabilmesi ama anahtar olmayan bir kolonun diğer herhangi bir kolonu tanımlayamamasıdır.

Örnek:

Çalışanlar Tablosu
id İsim Soyisim  Yaş Departman Dahili Tel
1 Berkay Demirel  24 Bilgi İşlem  144
2 Ali Veli  33 Bilgi İşlem 144
3 Mehmet Ahmet  25 Muhasebe 145

Bu tasarımda id bilgisi anahtardır. Id bilgisi isim, soyisim, yaş, departman ve dahili tel bilgilerini tanımlar yani id bilgisini bildiğimiz bir kişinin bu bilgilerine ulaşabiliriz. Diğer bilgilerden örnek olarak isim bilgisi diğer bilgileri tanımlayamaz yani Berkay isminde iki çalışan olduğunu düşünürsek bu çalışanların soyisim, yaş, departman ve dahili tel bilgileri farklı olabilir. Berkay ismini bildiğimizde hangi Berkay çalışanını aradığımızı bilemeyiz. Ancak bu tabloda dahili tel bilgisi departman bilgisini tanımlar ve aynı şekilde departman bilgiside dahili tel bilgisini tanımlar. Yani dahili tel bilgisini bildiğimizde departman bilgisinide öğrenebiliriz. Elimizde 144 dahili tel bilgisi olduğunu düşünürsek bu bilgiden departmanın bilgi işlem olduğunu öğrenebiliriz. Bu yüzden bu iki bilgi arasında fonksiyonel bağımlılık vardır denir ve üçüncü normal forma uymaz.

Çalışanlar Tablosu
İsim Soyisim  Yaş Departman
Berkay Demirel  24 144
Ali Veli  33 144
Mehmet Ahmet  25 145

Departman Tablosu
Departman Dahili Tel
Bilgi İşlem  144
Muhasebe 145

Yukarıda görüldüğü üzere bu tasarım hem birinci hem ikinci hem de üçüncü normal forma uyar.


No comments:

Post a Comment