Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

VERİTABANI YÖNETİM SİSTEMLERİ 3-Normalizasyon

Benzer bir sunumlar


... konulu sunumlar: "VERİTABANI YÖNETİM SİSTEMLERİ 3-Normalizasyon"— Sunum transkripti:

1 VERİTABANI YÖNETİM SİSTEMLERİ 3-Normalizasyon

2 Normalizasyon Nedir? Normalizasyon, Veritabanının tasarım aşamasında veri tekrarını, veri kaybını veya veri yetersizliğini önlemek için gerçekleştirilen işlemlerdir. Tabloların oluşturulması, tablolar arasında artıklığı ve tutarsızlığı ortadan kaldırma normalizasyonun temel amacıdır. Normalizasyon için gereken birkaç kural vardır. Her bir kurala «Normal Form» ismi verilir. İlk kural kullanılıyorsa, Veritabanının «birinci normal formda (1NF)» olduğu; ikinci kural kullanılıyorsa Veritabanının «ikinci normal formda (2NF)» olduğu, üçüncü kural kullanılıyorsa Veritabanının «üçüncü normal formda (3NF)» olduğu söylenir. 4 ve 5. Normalizasyon kuralları da vardır ama çoğu uygulama için ilk 3 Normalizasyon kuralı yeterlidir.

3 Genel olarak, normalleştirme için ek tablolar gerekir ve çoğunlukla bunun ek yük getirdiği düşünülebilir. Normalizasyon aynı zamanda çok fazla satır ve sütundan oluşan bir tablonun veri tekrarından korumak için daha az satır ve sütun içeren tablolara ayırma işlemidir. Normalizasyon kurallarına uygun tasarım yapılmadığında kayıt güncelleme, kayıt bulma ve yeni kayıt girişlerinde sorunlarla karşılaşılabilir. Üst normalizasyon kuralları, alt Normalizasyon kurallarını kapsamaktadır. Yani, 2NF kuralları 1NF kurallarını; 3NF kuralları 1NF ve 2NF kurallarını kapsar.

4 Normalizasyonun Amaçları
Veri Bütünlüğünü Sağlamak Örneğin bir veritabanı içerisinde öğrenci numarası birden fazla tabloda kullanıldığında veri bütünlüğü sağlanmazsa zamanla aynı öğrenci için birden fazla numara bilgisi oluşabilecektir. Uygulamadan Bağımsızlık Hazırlanacak ilişkisel model kullanılacak uygulamaya göre değil de içereceği veriye göre hazırlanılırsa, kullanılan uygulama değişse bile tasarım sorunsuz olarak çalışmaya devam edebilir. Performansı Arttırmak Tam olarak normalleştirilmiş veritabanında veri tekrarı en aza ineceği için kullanılan disk alanı ve veritabanı boyutu da azalacaktır. Böyle bir veritabanında işlemler daha hızlı yapılabilecektir.

5 Normalizasyon Kuralları
OgrNo BolumKod Bolum DersKod SınavNot 09001 BTP Bilgisayar B1 75 B2 25 B3 60 09002 46 65 B4 32 09003 ELK ELEKTRİK E1 18 E5 48 E4 85 09004 78 36 E8 70 1. Normal Form (1NF) Veritabanında bulunan tablolar ilişkilendirilebilir bir şekilde tasarlanmalıdır. Birden fazla türde bilgi tek bir sütunda olamaz. Bir alan içerisindeki bilgi özel karakterlerle ayrılarak tutulmamalıdır. Bir veritabanı yukarıdaki kurallara uyum sağlıyorsa 1NF kuralına uygundur. OgrNo BolumKod Bolum DersKod SınavNot 09001 BTP Bilgisayar B1,B2,B3 75,25,60 09002 B2,B3,B4 45,65,32 09003 ELK Elektrik E1,E5,E4 18,48,85 09004 E5,E4,E8 78,36,70

6 Normalizasyon Kuralları
1.Normal Formun Sorunları 1.Normal Form sonucu elde edilen tablo tekrarlı satırlara sahip olacağı için satır ekleme, satır silme ve satır güncelleme sorunları ile karşılaşılabilir. Satır Ekleme Sorunu Yeni bir öğrenci veya bölüm tanımlaması yapıldığında ders kodu ve sınav bilgilerinin de girilmesi gerekir. Satır Silme Sorunu Bir bölüm içinde sadece bir öğrenci kayıtlı ise, öğrenci silindiğinde bölüm de silinecektir. Satır Güncelleme Sorunu Bir öğrencinin bölümü değiştiğinde birden fazla kaydın güncellenmesi gerekecektir.

7 Normalizasyon Kuralları
2. Normal Form (2NF) Bir tablo içinde tanımlı ve anahtar olmayan her sütun, birincil anahtar olarak tanımlı anahtar sütuna bağımlı olmalıdır. Anahtar sütunun ihtiyaç duyduğu bilgileri içermelidir. Anahtar sütun, birden fazla sütunun birleşiminden oluşuyorsa tabloda yer alacak veriler iki sütuna da bağımlı olmalıdır. Tek sütuna bağımlı ise ayrı bir tabloda tutulmalıdır.

8 OgrNo BolumKod Bolum DersKod SınavNot 09001 BTP Bilgisayar B1 75 B2 25 B3 60 09002 46 65 B4 32 09003 ELK ELEKTRİK E1 18 E5 48 E4 85 09004 78 36 E8 70 ÖĞRENCİ OgrNo BolumKod Bolum 09001 BTP Bilgisayar 09002 09003 ELK Elektrik 09004 NOTLAR OgrNo DersKod SınavNot 09001 B1 75 B2 25 B3 60 09002 46 65 B4 32 09003 E1 18 E5 48 E4 85 09004 78 36 E8 70

9 Birleştirilmiş Anahtar Alanlar
SATIŞLAR MusNo MusAd SipNo Tutar 002 Ahmet 5000 006 Murat 125000 005 Ayşe 500 12000 Müşteri Tablosu MusNo MusAd 002 Ahmet 006 Murat 005 Ayşe SATIŞLAR MusNo SipNo Tutar 002 5000 006 125000 005 500 12000 Birleştirilmiş Anahtar Alanlar

10 2. Normal Formun Sorunları
2. Normal form sonucu güncelleme sorunu çözülür ama kayıt ekleme ve silme sorunu devam etmektedir. Satır Ekleme Sorunu Yeni bir bölüm tanımlaması yapılabilmesi için öğrenci tanımlanması zorunludur. Satır Silme Sorunu Bir bölüm İçin sadece bir öğrenci kayıtlı olursa öğrenci silindiğinde bölüm de silinecektir.

11 3. Normal Form Bir tablo içerisinde anahtar olmayan bir sütun, başka bir tablonun anahtar sütunu veya bulunduğu tablonun sütunlarıyla ilgili olmalıdır. Veya bir tablo için anahtar olmayan bir sütun anahtar olmayan başka hiçbir sütuna bağımlı olamaz. Ayrıca, veritabanındaki ilişkiler 2NF kuralına uygun olmalıdır.

12 Ürünler Birimler BirimKod 001 002 003 Ürünler UKod K001 K002 K003 K004
Adı Birim K001 Alçı Kg K002 Tel Cm K003 Boya Litre K004 Çimento Birimler BirimKod BirimAd 001 Kg 002 Cm 003 Litre Ürünler UKod UAd BirimKod K001 Alçı 001 K002 Tel 002 K003 Boya 003 K004 Çimento ÖĞRENCİ OgrNo BolumKod Bolum 09001 BTP Bilgisayar 09002 09003 ELK Elektrik 09004 NOTLAR OgrNo DersKod SınavNot 09001 B1 75 B2 25 B3 60 09002 46 65 B4 32 09003 E1 18 E5 48 E4 85 09004 78 36 E8 70 ÖĞRENCİ OgrNo BolumKod 09001 BTP 09002 09003 ELK 09004 BÖLÜMLER BolumKod BolumAd BTP Bilgisayar ELK Elektrik NOTLAR OgrNo DersKod SınavNot 09001 B1 75 B2 25 B3 60 09002 46 65 B4 32 09003 E1 18 E5 48 E4 85 09004 78 36 E8 70

13 3NF’li Hali Siparişler Tablosu (1NF kuralına uygun durumdadır)
MüşteriID ÜrünID Şehir ŞehirKod Miktar M145 U1 Tokat 60 500 M458 Amasya 05 450 M478 U2 Samsun 55 700 350 200 145 Siparişler MüşteriID ÜrünID Miktar M145 U1 500 M458 450 M478 U2 700 350 200 145 Müşteriler MüşteriID Şehir Şehirkod M145 Tokat 60 M458 Amasya 05 M478 Samsun 55 Siparişler MüşteriID ÜrünID Miktar M145 U1 500 M458 450 M478 U2 700 350 200 145 2NF’li Hali Siparişler MüşteriID ÜrünID Miktar M145 U1 500 M458 450 M478 U2 700 350 200 145 Müşteriler MüşteriID ŞehirKodu M145 60 M458 05 M478 55 Şehirler ŞehirKodu Şehir 60 Tokat 05 Amasya 55 Samsun 3NF’li Hali

14 Araştırma Ödevi 4NF 5NF Boyce-Codd Normal (BCNF)
Nedir/Ne anlama gelir? Nasıl yapılır?

15 Normalleştirme Örneği-1
Okul OgrNo Danışman OdaNo Ders 1022 Güneş 412 101-07 143-01 159-02 4023 Erkan 216 201-01 211-02 214-1 Normalleştirilmeden verilen tabloya, gerekli normalleştirme işlemlerini uygulayınız. Okul OgrNo Danışman OdaNo Ders1 Ders2 Ders3 1022 Güneş 412 101-07 143-01 159-02 4023 Erkan 216 201-01 211-02 214-1 1NF’li Hali Öğrenciler OgrNo Danışman OdaNo 1022 Güneş 412 4023 Erkan 216 Kayıt OgrNo Ders 1022 101-07 143-01 159-02 4023 201-01 211-02 214-01 2NF’li Hali

16 Normalleştirme Örneği-2

17

18 Kaynaklar «Veritabanı Yönetim Sistemleri 1», T.ÖZSEVEN, Murathan Yayınları, 2010


"VERİTABANI YÖNETİM SİSTEMLERİ 3-Normalizasyon" indir ppt

Benzer bir sunumlar


Google Reklamları