You are on page 1of 6

Normalizimi i te Dhenave

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.

Figura 5.22 Tabela EMPLOYEE2

Figur 5.23. Tablea 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.

Hapat në procesin e normalizimit.

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

Figura 5.25. Një relacion por jo i mirëstrukturuar.

Zgjedhja e celësit primar.


Ka 4 determinantë në figurën më sipër dhe varësitë e tyre funksionale janë si më poshtë:

Order_ID  Order_Date, Customer_ID, Customer_Name, Customer_Address


Customer_ID  Customer_Name, Customer_Address
Product_ID  Product_Description, Product_Finish, Unit_Price
Order_ID, Product_ID  Ordered_Quantity.

Pra celës primar është kompozicioni Order_ID, Product_ID

Anomalitë në formën e parë të normalizuar


Anomali të hyrjes
Shtimi i një produkti të ri në një porosi shoqërohet me përpsëritjen e të dhënave mbi klientin; kjo
mund të sjellë gabime në procesin e regjistrimit të informacionit.
Anomali të fshirjes
Fshirja e një produkti nga një porosi mund të sjellë humbje të informacionit në ndonjë nga fushat
dhe në bazën e të dhënave.
Anomali të modifikimit

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ë.

Forma e dytë e normalizuar.

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ë:

Order_ID  Order_Date, Customer_ID, Customer_Name, Customer_Address


Product_ID  Product_Description, Product_Finish, Unit_Price

Hapat që ndjekim në procesin e konvertimit në formën e dytë të normalizuar 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.

Rezultati këtyre hapave tregohet në figurën 5.26, dhe 5.27

Figura 5.26. Përcaktimi i varësive të pjesshme, te plota dhe tranzitive.

3
Figura 5.27. Eleminimi i varësive të pjesshme

Forma e tretë e normalizuar.

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

Varësitë tranzitive krijojnë teprica të panevojshme, që mund të cojnë në anomali.

Eleminimi i varësive tranzitive


1. Për cdo atribut jocelës (ose bashkësi atributesh) që është determinant në një relacion, krijoni një
relacion të ri. Ky atribut bëhet celësi primar i relacionit të ri.
2. Zhvendosni nga relacioni i vjetër në relacionin e ri të gjitha atributet qe kanë varësi funksionale
nga atributi më sipër.
3. Atributin (që shërben si celës primar në relacionin e ri) lereni si një celës të huaj në relacionin e
vjetër, për të mundësuar lidhjen midis relacioneve.

Rezultati që përftojmë nga hapat më sipër tregohet në figurën 5.28:

Figura 5.28. Eleminimi i varësive tranzitive.

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:

Marrim ne konsiderate tabelen me poshte:

campus course class time room/bldg

East English 101 1 8:00-9:00 212 AYE

East English 101 2 10:00-11:00 305 RFK

West English 101 3 8:00-9:00 102 PPR

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)

Në figurën më poshtë jepën hapat e normalizimit:

5
Figura 5.29. Hapat e normalizimit.

You might also like