Professional Documents
Culture Documents
Normalletirmenin amac Veri fazlal ile bal sorunlar Gncelleme sapmalar (anomalileri) levsel bamllklar likilerin normal biimleri Normalletirme sreci Yaygn Kullanlan Normal Biimler
Mantksal Tasarm
Normalletirme sreci
likisel veri tabanlarnn gelitirilme aamas olan mantksal veri modelinin oluturulmasnda balca hedef, verilerin, veriler arasndaki ilikilerin ve snrlamalarn kesin, tam ifade edilmesidir. Bu hedefe ulamak iin uygun ilikiler kmesi tanmlanmaldr. Byle ilikilerin tanmlanmas ilevine normalletirme denir. Normalletirme- veri gereksinimlerinde tanmlanm olan, arzu olunan nitelikleri bulunan ilikiler kmesinin retilmesi srecidir.
ubenin bir veya birka zellik deerini deitirmek gerekmektedir.rnein, B7 ubesinin telefon numaras deitirilmelidir. Bunun iin ise Staff_Branch ilikisindeki B7 ubesinde alan personellere uygun tm satrlar gncellenmelidir. Eer tm gereken satrlar gncellenmezse bu, veri tabannn tutarszlna neden olacaktr.Yani, B7 ubesi hakkndaki bilgileri ieren farkl satrlarda ubenin telefon numaralar farkl grnecektir. Staff_Branch(Staff_No,SName,SAddress, Position, Salary, Banch_no,BAddress, Tel_No)
Ne yapmal?
Mantksal tasarm srecinde oluturulmu her bir veri ilikisini ayrlkta gzden geirmeli ve arzu olunan niteliklere ulamak iin ilikileri iyiletirmeli
Normal biimler Atomik deerlere (1NF) Anahtarlara ve bamllklara ve levsel bamllklara gre tanmlanr ( 2NF, 3NF, BCNF) Normalletirme Normalletirme,yukardan aaya metodolojisinin uyguland ve ardk paralamalar ve arndrmalar yolu ile yeni ilikilerin oluturulduu tasarm srecidir.
Normalletirme sorunlar
ema arzu olunan normal biimlere nasl paralanmaldr? Kaynak emann anlamsal btnln korumak iin paralanm emalara hangi kstaslar koyulmaldr? Yeniden yaplabilirlik: kaynak emann yeniden elde edilmesi yapay bititirmeler yoktur Paralamada kayp olmamas: bilgi kayb yoktur Kstlamalarn korunmas: kaynak emada bulunan kstlamalar paralanm ilikilerde tanmlanan kstlamalarla uyumlu olmaldr. Bititirme ilemlerinden dolay sorgularn ilem sresi ykseler
Tekrarlanan Gruplar
Tekrarlanan grup, birincil anahtar deeri iin birden fazla deeri bulunan zellik veya zellikler kmesidir
rnek: aadaki rnekte ube ve personel bilgileri ,her bir personelle irtibat telefonlar verilmitir. (iletiim_telefonlar tekrarlanan gruptur)
persNo grev SL10 Satc SA51 Ynetici DS40 Muhas. OS45 Muhas. ube 10 20 20 30 _ad Sat Muhasebe Muhasebe letme kent stanbul zmir zmir zmir iletiim_telefonlar 018111777, 018111888, 079311122 017111777 079311555
Tasarmda Tekrarlanan gruplara izin verilmez, tm zellikler blnmez olmaldr,yani tablonun her hcresinde tek bir deer bulunmaldr
1NF zellikleri
Tm anahtar zellikler tanmlanmtr Tabloda tekrarlanan gruplar yoktur Tm zellikler birincil anahtara bamldr
2NF liki birinci normal biimde ise ve birincil anahtar olmayan zellikleri birincil anahtardan tam baml ise (ksm bamlln olmamas) bu iliki ikinci normal biimdedir
levsel Bamllklar
levsel bamllk- ilikideki zellikler arasndaki balantlar ifade ediyor. Eer A ve B, R ilikisinin zellikleri ise , ve Ann her bir deerine Bnin kesin bir deeri uygun ise B ilevsel olarak Aya bamldr.(A B)
A
B, Aya ilevsel bamldr
levsel Bamllklar
levsel bamllk ilikisel veri tabannn iki zellikler kmesi arasndaki kstlamay ifade ediyor. Eer X ve Y ayn T ilikisinin zellikleri kmeleri ise, o zaman X Y , Xin ilevsel olarak Yyi tanmlamas anlamn veriyor: Xdeki zellik deerleri Ydeki zellik deerlerini tekdeerli tanmlar Tdeki her hangi iki t1 ve t2 satrlar iin t1[X] = t2[X] olmas t1[Y] = t2[Y] anlamna gelir (Eer T ilikisinin iki satr X stunu(stunlar)zere ayndrsa, onlarn Y stunu(stunlar) da ayn olmaldr)
levsel Bamllklar
Belirleyici- bamllk iaretinin solundaki zellik veya zellikler grubuna ilevsel bamlln belirleyicisi denir
Position
Manager
Position
Manager
Staff_No
Staff Number SL21 Staff Number SG5
SAddress
Bamll tam ilevsel bamllk deil, nk, Branch_no ayn zamanda Staff_No zelliine de ilevsel bamldr.
Eer birincil anahtar zere ksm bamllklar varsa bu bamllklar oluturan zellikleri onlarn belirleyicilerinin kopyas ile yeni bir ilikiye tamal
levsel bamllklar
Fd1 Customer_No,Property_No RentStart, RentFinish (tam bamllk) Fd2 Customer_No CName (ksm bamllk) Fd3 Property_No PAdderss,Rent,Owner_No, OName (ksm bamllk) Fd4 Owner_No Owner_name (dolayl bamllk) FD5 Customer_No,RentStart Property_no, PAdderss,RentFinish, Rent, Owner_No,OName (aday anahtara bamllk) Fd6 Property_No,RentStart Customer_no, CName,RentFinish (aday anahtara bamllk)
Fd1
Fd2 Fd3
Ksm bamllk
Ksm bamllk
d.b
Fd2
Ksm bamllk
Fd1
Birincil anahtar
Ksm bamllk
Fd3
Fd4
Dolayl bamllk
Fd5
Aday anahtar
Fd6
Aday anahtar
nc normal biim (3NF)- eer iliki birinci ve ikinci normal biimde ise ve birincil anahtar olmayan zellikler birincil anahtardan dolayl baml deilse , bu iliki nc normal biimdedir
Eer birincil anahtara ilevsel bamllk varsa bu bamll oluturan zellikleri belirleyicilerinin kopyas ile birlikte yeni bir ilikiye tamal
nc Normal Biim
Customer, Rental ve Property_Owner ilikilerindeki ilevsel bamllklar : Customer ilikisi Fd2 Customer_No CName Rental likisi Fd1 Customer_No,Property_No RentStart,RentFinish FD5 Customer_No,RentStart Property_no, RentFinish Fd6 Property_No,RenStart Customer_no, RentFinish Property_Owner likisi Fd3 Property_No Paddress, Rent,Owner_No,OName Fd6 Owner_No OName
Customer ve Rental ilikilerinde dolayl bamllk yoktur. Tm birincil olmayan zellikler birincil anahtara ilevsel bamldr
Property_Owner ilikisinde OName zelliinin dnda tm zellikler birincil anahtara ilevsel bamldr. OName ise ayn zamanda Owner_Noya bamldr (Fd4). 3NFe dntrmek iin dolayl bamllk kaldrlmaldr. Bunu 2 yeni iliki oluturmakla yapa bileriz: Property_for_Rent (Property_No,PAdderss,Rent,Owner_No) Owner (Owner_No,OName)
Property_Owner
2NF
Customer
Rental
Property_for_rent
Owner
3NF
Normalletirme basamaklar
Normal olmayan biim (UDF) Birinci normal biim (1NF)
Ksm bamllklar aradan kaldrmal tekrarlanan gruplar silmeli
43
SPAR (Sipari_no, sipari-tarihi, mteri-no, mteri-ad, mteri_adr, (rn-no, rn-ad, rn-fiyat, sip-mikt, toplam)*, genel-toplam
SPAR (Sipari_no, sipari-tarihi, mteri-no, mteri-ad, mteri_adr, (rn-no, rn-ad, rn-fiyat, sip-mikt, toplam)*, genel-toplam
UNFten 1NFe gei En d tekrarlanan grubu silmeli(ve onun ierdii tm yuval tekrarlanan gruplar) ve bu silinmi gruplar ieren yeni iliki oluturmal. Bu yeni ilikiye kaynak ilikinin birincil anahtarnn kopyasn ilave etmeli. Yeni ilikiye ad vermeli Yeni iliki iin birincil anahtar belirlemeli Tekrarlanan gruplar kalmayana dek admlar tekrar etmeli
SPAR (Sipari_no, sipari-tarihi, mteri-no, mteri-ad, mteri_adr, genel-toplam (rn-no, rn-ad, rn-fiyat, sip-mikt, toplam)
2. Bu yeni ilikiye kaynak ilikinin birincil anahtarnn kopyasn ilave etmeli
Sipari (Sipari_no, sipari-tarihi, mteri-no, mteri-ad, mteri_adr, genel-toplam) (sipari_no, rn-no, rn-ad, rn-fiyat, sip-mikt, toplam)
3. Yeni ilikiye ad vermeli ve birincil anahtar tanmlamal
(zelliklerin) kopyasn ilave etmeli. Bu belirleyici yeni ilikinin birincil anahtar olacak
(rn-no,rn-ad, rn-fiyat )
3. Yeni ilikiye ad vermeli ve birincil anahtar belirlemeli
Anahtar olmayan zellie dolayl baml olan zellikleri karmal ve onlar yeni ilikiye aktarmal Bu ilikiye , karlm zellikleri belirleyen zelliin(zelliklerin) kopyasn ilave etmeli. Bu belirleyici yeni ilikinin birincil anahtar olacaktr. Bu ilikiyi adlandrmal Kaynak ilikiye yeni ad vermeli
mt-no Mteri