Professional Documents
Culture Documents
Normalizimi
Normalizimi
Normalizimi është procesi formal që përcakton atributet që duhet të grupohen së bashku në një
relacion. P.sh ne përdorim principet e normalizimit për të konvertuar tabelën EMPLOYEE2 (me
teprica) në EMPLOYEE1 dhe EMP_COURSE.
Deri tani kemi prezantuar në mënyrë intuitive relacionet e mirëstrukturuara. Shkurtimisht trajtojmë
procesin për projektimin e tyre. Normalizimi është procesi i heqjes së anomalive nga relacionet për
të prodhuar relacionet më të vogla të mirëstrukturuara. Qëllimet kryesore të normalizimit janë:
minimizon tepricën e të dhënave, dukë mënjanuar anomalitë dhe duke kursyer memorje.
Thjeshton mirëmbajtjen e detyrimeve dhe kufizimeve që lidhen me integritetin referencial.
Thjeshton mirëmbajtjen e të dhënave (hyrje, modifikim, fshirje)
Siguron një dizenjim më të mirë, që është një prezantim i përmirësuar i botës reale dhe një
bazë më e fortë për rritjen në të ardhmen.
Normalizimi kryhet në disa hapa. Forma normale është një gjendje e relacionit që rezulton nga
aplikimi i rregullave të thjeshta në lidhje me varësitë funksionale në një relacion.
1. forma normale e parë. Cdo atribut shumëvlerësh (i quajtur ndryshe grupe përsëritëse)
hiqet; pra ka një vlerë të vetme (mundësisht jo null) në ndërthurjen e cdo radhe dhe kolone
të tabelës.
Ne figurën më poshtë 5.24 nuk kemi një relacion. Tabela me atributet shumëvlerësh nuk është
në formën e parë të normalizimit.
1
Figurë 5.24. Një tabelë me atribute shumëvlerëshe.
Për ta kthyer në formën e parë të normalizuar heqim grupet përsëritëse, duke mbushur vendet boshe
me vlerat përkatëse të të dhënave, si në figurën 5.25
2
Rritja e cmimit të një produkti duhet të shoqërohet me modifikimin e të gjitha radhëve të porosive
ku ky produkt është pjesë.
Relacioni është në formën e parë të normalizuar dhe nuk përmban varësi funksionale të pjesshme.
Një varësi funksionale e pjesshme ekziston kur një atribut jo celës ka një varësi funksionale nga një
pjesë (por jo nga i gjithe) e celësit primar.
Le të kthejmë relacionin e figurës 5.25 në formën e dytë të normalizuar. Në këtë mënyrë kemi hequr
shumë teprica.
Nga sa thamë më sipër për relacionin e figurës 5.25 pranuam si celës primar kompozicionin
Order_ID, Product_ID. Varësitë funksionale të pjesshme janë:
1. krijoni një relacion të ri për cdo atribut celës primar (ose kombinim të atributeve) që
është determinant në varësitë e pjesshme. Këto atribute janë celësat primarë në
relacionet e reja.
2. zhvendosni nga relacioni i vjetër në relacionin e ri atributet jo celës që janë në varësi
të atributit celës primar.
3
Figura 5.27. Eleminimi i varësive të pjesshme
Një relacion është në formën e tretë të normalizuar nëse ai i përket formës së dytë të normalizuar
dhe nuk ka varësi tranzitive.
Një varësi tranzitive në një relacion është një varësi funksionale midis dy ose më tepër atributeve
jocelës. P.sh në relacionin tonë ka varësi tranzitive:
Customer_ID Customer_Name
Customer_ID Customer_Adreess
4
Forma e normalizimit Boyce Codd
Anomalitë mund të ndodhin në realcionet në formën 3NF nëse ekziston një çelës kompozit në të,
ku pjesë të këtij çelësi kanë një determinant i cili nuk është në vetvete një çelës kandidat.
Kjo mund të shprehet si R(A,B,C), C--->A ku:
Relacioni R përmban atributet A, B dhe C
A dhe B formojnë një çelës kandidat.
C është determinant për A (A ka varësi funksionale nga C).
C nuk është pjesë e ndonjë çelësi.
Shembull:
Shenojme qe, asnje prej dy ndertesave te cdo njerit prej kampuseve te universitetit nuk ka te njejtin
emer, pra, ROOM/BLDG----->CAMPUS. Si determinant nuk eshte nje celes kandidat. Kjo tabele
nuk eshte ne formen normale Boyce-Codd kjo tabele duhet te dekompozohet ne relacionet e
meposhtme:
R1(course, class, room/bldg, time)
R2(room/bldg, campus)
5
Figura 5.29. Hapat e normalizimit.