Veri Tabanı Normalizasyon Örneği - Bilişim Konuları

Veri Tabanı Normalizasyon Örneği

Aşağıdaki örnekte bir tablo verilmiştir. Bu tabloda bazı veriler bulunmaktadır. Bu tablonun Normalizasyon kurallarına uygun olup olmadığını inceleyeceğiz. Tabloda bulunan veriler tekil yani atomik olduğu için tablo 1NF kurallarına göre uygun görünmektedir.

Tekrarlanan sütun yapıları olmamalıdır. Birden fazla bilgi tek bir sütunda olamaz. Bir alan içerisindeki bilgi özel karakterlerle ayrılarak tutulmamalıdır.

musteriNo urun_id sehir sehirKodu miktar
M145 U1 Ankara 1 100
M145 U2 Ankara 1 150
M151 U2 İstanbul 2 75
M149 U3 Bursa 3 200
M148 U1 İstanbul 2 140

Yukarıdaki tabloyu aşağıdaki gibi iki farklı tablo şeklinde bölersek tablo artık 2NF kurallarına uygun hale gelmiş olur. Tabloda bir birincil anahtar olmalı ve anahtar olmayan sütunlar birincil anahtara bağımlı olmalı. Birincil anahtar birden fazla sütundan oluşuyorsa
tablodaki veriler her iki sütuna da bağımlı olmalıdır.
Bu şekilde artık tablomuz 2NF ye tam olarak uygun hale gelmiştir.

musteriNo urun_id miktar
M145 U1 100
M145 U2 150
M151 U2 75
M149 U3 200
M148 U1 140

Ürünler ve müşteriler şeklinde tabloyu iki ayrı tablo haline getirdik.

musteriNo sehir sehirKodu
M145 Ankara 1
M151 İstanbul 2
M149 Bursa 3
M148 İstanbul 2

 

 

Yukarıdaki görüldüğü gibi tabloyu iki farklı tabloya ayırarak ana tabloyu 2NF kurallarına uygun hale getirdik. Ancak henüz işimiz bitmedi. Bu tabloyu tekrar işleme sokarak 3NF kurallarına uygun hale getirmemiz gerekiyor. Bunun için tablomuzu aşağıdaki gibi üç farklı tabloya bölersek artık tablomuz 3NF kurallarına uygun hale gelmiş olacaktır. Böylece normalizasyon işlemleri tamamlanmış olacaktır.

Miktar tablosu

musteri urun_id miktar
M145 U1 100
M145 U2 150
M151 U2 75
M149 U3 200
M148 U1 140

Müşteri tablosu

musteri sehirKodu
M145 1
M151 2
M149 3
M148 2

Şehir tablosu

sehirKodu sehir
1 Ankara
2 İstanbul
3 Bursa

Ana tablomuzu yukarıdaki gibi üç ayrı tabloya bölerek normal hale getirmiş oluyoruz.

Bu Yazıya Tepkin Nedir?
+1
0
+1
0
+1
0
+1
1
+1
0
+1
0
+1
0

Yorum Yap