VYS12_1
Last updated
Last updated
BSM211 Veritabanı Yönetim Sistemleri - Celal ÇEKEN, İsmail ÖZTEL, Veysel Harun ŞAHİN
Normalizasyon
Veri Tekrarının Zararları
Birinci Normal Form (1NF)
Fonksiyonel Bağımlılık
İkinci Normal Form (2NF)
Üçüncü Normal Form (3NF)
1., 2. ve 3. Normal Formlar
Örnekler
Kaynaklar
İyi bir veritabanı tasarımı, düzenli ve sağlam tablo tasarımlarını gerektirir.
Normalizasyon, veri fazlalıklarını en aza indirerek veri düzensizliklerinin (data anomaly) önüne geçebilmek için tablo yapılarını değerlendirme ve düzeltme işlemi olarak tanımlanabilir.
Normalizasyon işlemi normal form adı verilen seri işlemlerden meydana gelir. 1NF, 2NF, 3NF, 4NF
2NF 1NF den, 3NF 2NF den, ve 4NF 3NF den daha iyidir.
Her tasarım için en yüksek NF daha iyi sonuç verir denemez. Yüksek başarıma ihtiyaç duyulan bazı durumlarda normal formun (NF) düşürülmesi (denormalizasyon) gerekebilir.
Örneğin yüksek hız için veri fazlalığı göze alınarak zaman zaman denormalizasyon yapılabilir.
Normalizasyonun en temel faydası, veri tekrarını en aza indirerek veri düzensizliklerinin (data anomaly) önüne geçmemize yardımcı olmasıdır.
Veri tekrarı tablo içerisine başka tablonun gömüldüğü anlamına gelir.
Veri tekrarında aynı bilgi defalarca kaydedilir.
Veri tekrarı, kaynak kullanımında israfa yol açar.
Veri tekrarı, veri tutarsızlıklarına (düzensizliklerine) neden olabilir.
Veri girişinde tutarsızlık
Veri güncellenmesinde tutarsızlık
Veri silmede tutarsızlık
Veri tekrarı olan tablolara yeni kayıt eklenirken tutarsızlıklar oluşabilir.
Tabloya yeni kayıt eklenirken birimAdi ve elemanSayisi sütunlarında tutarsızlık oluşmuştur.
Veri tekrarı olan tablolara birincil anahtar değerinin tekrar etmesi durumunda yeni kayıt eklenemeyebilir.
Tabloda, personelNo alanına değer yazılamaz ve 3 nolu birim eklenemez.
Veri güncellenirken birçok noktada değişiklik yapmak gerekir ve bu durumda tutarsızlıklar oluşabilir.
Tabloda elemanSayısı güncellenirken tutarsızlık oluşmuştur.
Veriler silinirken başka veriler de kaybedilebilir.
Tabloda 1 numaralı birimin elemanları silindiğinde ilgili birimin bilgileri de kaybedilir.
Bir tablonun birinci normal formda (1NF) olması için aşağıdaki şartlar sağlanmalıdır.
Tüm alanlar birincil anahtar tarafından belirlenebilmelidir.
Tüm alanlar tek değerli olmalıdır.
Aşağıdaki tablo birinci normal formda (1NF) değildir.
Çünkü ePosta sütunu tek değerli değildir.
Normalizasyon yapmalıyız.
Aşağıdaki tablo birinci normal formdadır.
Tabloda birincil anahtar var.
Her sütunda tek değer var.
Buna rağmen veri tekrarı vardır.
Tablodaki tutarsızlık aşağıda gösterilmiştir.
Kayıtların ayırt edilebilmesi, tabolar araasında ilişki kurulabilmesini sağlar.
Anahtarlar belirlenirken fonksiyonel bağımlılık göz önüne alınmalıdır.
Aşağıdaki tabloda, ogrenciNo niteliği kullanılarak adi alanı belirlenebilir. (tersi doğru değildir)
Bu durumda:
ogrenciNo alanı adi alanını belirler.
adi alanı, ogrenciNo alanına fonksiyonel bağımlıdır ( ogrenciNo ➔ ogrenciAdi).
Nitelikler birden fazla alanın birleşimine fonksiyonel bağımlı olabilir.
ogrenciNo, dersNo ➔ ortalama Tam fonksiyonel bağımlılık
ogrenciNo, dersNo ➔ dersAdi Kısmi fonksiyonel bağımlılık
Tablonun birinci normal formda olması gerekir.
Birincil anahtar, birden fazla alanın birleşiminden oluşuyorsa, tablonun 2NF’de olabilmesi için diğer alanların birincil anahtara tam fonksiyonel bağımlı olması gerekir.
Birincil anahtar tek alandan oluşuyorsa ve tablo 1NF’de ise, 2NF de sağlanmış olur.
Birincil anahtar ogrenciNo ve dersNo alanlarından oluşan bileşik birincil anahtardır.
not alanı birincil anahtara tam fonksiyonel bağımlıdır.
dersAdi ve kredi alanları birincil anahtara kısmi fonksiyonel bağımlıdır ve bu nedenle tablo ikinci normal formda (2NF) değildir. Veri tekrarı meydana gelmiştir.
Eğer A ➔ B ve B ➔ C ise A ➔ B ➔ C
A, B üzerinden C’yi belirler.
C, A ya geçişken bağımlıdır.
Aşağıdaki tabloda geçişken bağımlılık vardır.
oduncNo ➔ ISBNNo ➔ kitapAdi
oduncNo ➔ ISBNNo ➔ yayinYili
oduncNo alanı, ISBNNo alanı üzerinden kitapAdi alanını belirler.
kitapAdi alanı, oduncNo alanına geçişken bağımlıdır.
Tablo 2NF’de ise ve geçişken bağımlılık yok ise 3NF’dedir.
1NF: Birincil anahtar mevcuttur ve çok değerli alanlar yoktur.
2NF: Birinci normal formdadır ve kısmi bağımlılık yoktur.
3NF: İkinci normal formdadır ve geçişken bağımlılık yoktur.
Tablodaki veri tekrarının nedenini ve nasıl düzeltilebileceğini açıklayınız.
Tablodaki veri tekrarının nedenini ve nasıl düzeltilebilceğini açıklayınız.