Öğretim Görevlisi Alper Talha Karadeniz Veri Tabanı 1
NORMALİZASYON Normalizasyon; Veri tabanı tasarım aşamasında veri tekrarını, veri kaybını veya veri yetersizliğini önlemek için gerçekleştirilen işlemlerdir. Veritabanlarında çok fazla sütun ve satırdan oluşan bir tabloyu tekrarlardan arındırmak için daha az satır ve sütun içeren alt kümelerine ayrıştırma işlemidir.
Normalizasyon yapılırken uyulması gereken kurulların her birine normal form adı verilir. Birinci Normal Form (1NF) İkinci Normal Form (2NF) Üçüncü Normal Form (3NF) • BCNF 4NF şeklinde adlandırılır ve yukarı doğru devam eder.
İlk üç normal form düzeiy ihlal edilirse ; Kayıt güncelleme Kayıt silme Kayıt bulmada zorluk çekilir. Normalizasyonun Amaçları Veri Bütünlüğünün Sağlanması Gereksiz veri tekrarını önleyerek verilerdeki bozulmaları önlemek Uygulamadan Bağımsızlık Uygulama değişse bile veritabanı tutarlı olarak çalışmalı • Performansı Arttırmak Veri tekrarı en aza iner ve arama hızlı olur.
1.Normal Form(1NF) Veri tabanının daha az yer kaplaması için geliştirilen ilk normalizasyon kuralıdır. Kurallar Veritabanında bulunan tablolar ilişkilendirilebilir bir şekilde tasarlanmalıdır. Birden fazla bilgi tek bir sütunda olamaz. Bir sütun içerisinde ki bilgi özel karakterlerle ayrılarak tutulmamalıdır.
Yukarıda ki tabloda Ders_Kodu ve Sınav sütunları 1NF kuralına uymaz Yukarıda ki tabloda Ders_Kodu ve Sınav sütunları 1NF kuralına uymaz. Bu tabloyu 1NF ye uygun hale dönüştürelim. Ogr_No Bol_Kod Bolum Ders_Kodu Sınav 20152001 BP Bilgisayar B1,B2,B3 70,85,80 20152005 ELK Elektrik E1,E2,E3 70,80,90 201520010 E1,E3,E4 80,85,80 201520016 İK İnsan Kaynakları ik1,ik2,ik3 90,85,80
Ogr_No Bol_Kod Bolum Ders_Kodu Sınav 20152001 BP Bilgisayar B1 70 B2 85 B3 20152005 ELK Elektrik E1 E2 80 E3 201520010 E4 201520016 İK İnsan Kaynakları ik1 90 ik2 ik3
1NF’nin sorunları: Satır ekleme sorunu; örnekte öğrenci veya bölüm tanımlaması için ders kodu ve sınav bilgilerinin girilmesi zorunludur. Bu gereksiz tekrar hem programı hem programcıyı hem de kullanıcıyı oldukça fazla yormaktadır. Satır silme sorunu; eğer bölümde tek bir öğrenci kalırsa ve mezun olursa bölüm de silinecektir. Satır güncelleme sorunu; Bir öğrenci bölüm değiştirdiğin de bir sürü kaydın güncellenmesi gerekir.
2.Normal Form(2NF) 1NF de ki özellikle güncelleme sorununu ortadan kaldırmak için geliştirilmiştir. Kurallar: Tablo da anahtar sütunun ihtiyaç duyduğu bilgiler olmalıdır. Örneğin öğrenci tablosun da not ve ders bilgilerinin olması gereksizdir. Bu durumu çözmek için ayrı bir tablo oluşturulmalıdır.
Ogr_No Bol_Kod Bolum 20152001 BP Bilgisayar 20152005 ELK Elektrik 201520010 201520016 İK İnsan Kaynakları Ogr_No Ders_Kodu Sınav 20152001 B1 70 B2 85 B3 20152005 E1 E2 80 E3 201520010 E4 201520016 ik1 90
2NF’nin sorunları; Satır ekleme sorunu; Yeni bir bölüm tanımlanabilmesi için öğrenci tanımlanmalıdır. Satır silme sorunu; Tek bir öğrenci kalırsa öğrenci silindiğin de bölüm de silinir.
3.Normal Form(3NF) 2NF de karşılaşılan geçişli bağımlılıkları ortadan kaldırmak için gerçekleştirilmiştir. 2NF de sadece anahtar sütunlara göre bağımlılıklar ortadan kaldırılmıştır. 3NF de ise anahtar olmayan sütunlara göre de bağımlılıklar ortadan kaldırılır.
Ogr_No Bol_Kod 20152001 BP 20152005 ELK 201520010 201520016 İK Bol_Kod Bolum BP Bilgisayar ELK Elektrik İK İnsan Kaynakları Ogr_No Ders_Kodu Sınav 20152001 B1 70 B2 85 B3 20152005 E1 E2 80 E3 201520010 E4 201520016 ik1 90
KAYNAKLAR Turgut Özseven-Veri tabanı yönetim sistemleri kitabı ORACLE veri tabanı eğitimi notları Prof. Dr. Ümit Kocabıçak Sakarya üniversitesi Veri tabanı ders notları.