Download presentation
Presentation is loading. Please wait.
1
David M. Kroenke Database Processing:
Fundamentals, Design, and Implementation Kapitulli i tretë: Modeli Relacional dhe Normalizimi
2
Hyrje e kapitullit Kemi pranuar një apo më shumë tabela me të dhëna.
Të dhënat duhet të ruhen në databazë të re. PYETJE: A duhet që të dhënat të ruhen ashtu si i kemi pranuar, ose duhet që të njëjtat të transformohen për tu ruajtur?
3
Sa tabela? A duhet ti ruajmë këto dy tabela kështu si janë, ose duhet ti kombinojmë ato në një tabelë në databazën tonë të re?
4
Por së pari - Duhet ti kuptojmë: Modelin relacional
Terminologjinë e modelit relacional
5
Modeli Relacional Futet në përdorim në 1970 Krijuar nga E.F. Codd
Ai ishte një inzhiner i IBM Modeli shfrytëzon fushën e matematikës e quajtur si “algjebra relacionale” Tani përdoret si model standard për DBMS produktet komerciale
6
Terminet e rëndësishme të Modelit Relacional
Entity - Entiteti Relation - Relacioni Functional Dependency – Varshmëria funksionale Determinant - Përcaktues Candidate Key – Çelës kandidat Composite Key – Çelës i përbërë Primary Key – Çelës primar Surrogate Key – Çelës surogat Foreign Key – Çelës i jashtëm Referential integrity constraint – Rregulla e integritetit referencial Normal Form – Forma normale Multivalued Dependency – Varshmëria shumëvlerëshe
7
Entiteti Entiteti është diçka që mund të identifikohet e që përdoruesit mund ta hetojnë/gjurmojnë: Klientët Kompjuterët Shitjet
8
Relacioni Produktet relacionale të DBMS i ruajnë të dhënat e entiteteve në relacione, të cilat janë tipe speciale të tabelave Relacioni është tabelë dydimensionale që i posedon këto karakteristika: Rreshtat përmbajnë të dhëna për entitetin Kolonat ruajnë të dhëna për atributet e entitetit Të gjithë entitetet në kolonë janë të të njëjtit tip Secila kolonë ka emër unik Qelitë e tabelës kanë vlera të veçantë Rradhitja e kolonave është e parëndësishme Rradhitja e rreshtave është e parëndësishme Dy rreshta nuk mund të jenë identike
9
Një relacion
10
Relacion me vlera me gjatësi të ndryshme
11
Tabelat që nuk janë relacione: Të hyra të shumëfishta për një qeli
12
Tabelat që nuk janë relacione: : Tabelë me rradhitje të kërkuar të rreshtave
13
Terminologji Alternative
Edhe pse jo të gjitha tabelat janë relacione, terminet tabelë dhe relacion përdoret në mënyrë të këmbyeshme Këto termine janë ekuivalente:
14
Varshmëria funksionale
Varshmëria funksionale ndodh kur vlera e një atributit(teve) përcakton vlerat e atributit(teve) tjetër: StudentID StudentName StudentID (DormName, DormRoom, Fee) Atributi në anën e majtë të varshmërisë funksionale quhet përcaktues (determinant) Varshmëritë funksionale mund të bazohen edhe në ekuacione: ExtendedPrice = Quantity X UnitPrice (Quantity, UnitPrice) ExtendedPrice Varshmëritë funksionale nuk janë ekuacione!
15
Varshmëritë funksionale nuk janë ekuacione!
ObjectColor Weight ObjectColor Shape ObjectColor (Weight, Shape)
16
Përcaktuesit e përbërë
Përcaktuesit e përbërë: Përcaktues i një varshmërie funksionale që përbëhet nga më shumë se një atribut (StudentName, ClassName) (Grade)
17
Rregullat e varshmërisë funksionale
Nëse A (B, C), atëherë A B edhe A C Nëse (A,B) C, atëherë as A edhe as B nuk përcakton C vetëvetiu
18
Varshmëritë funksionale në tabelën SKU_DATA
19
Varshmëritë funksionale në tabelën SKU_DATA
SKU (SKU_Description, Department, Buyer) SKU_Description (SKU, Department, Buyer) Buyer Department
20
Varshmëritë funksionale në tabelën ORDER_ITEM
21
Varshmëritë funksionale në tabelën ORDER_ITEM
(OrderNumber, SKU) (Quantity, Price, ExtendedPrice) (Quantity, Price) (ExtendedPrice)
22
Çka i bën vlerat përcaktuese/determinuese unike?
Përcaktuesi/determinanta është unike në relacion nëse, dhe vetëm nëse, përcakton çdo kolonë tjetër në relacion Ju nuk mund ti gjeni përcaktuesit e të gjitha varshmërive funksionale thjeshtë vetëm duke kërkuar vlera unike në një kolonë: Kufizime e bashkësisë së të dhënave Logjikisht duhet të jetë përcaktues
23
Çelsat Një çelës është një kombinim i një apo më shumë kolonave që përdoret për identifikim të rreshtave në relacion Çelësi i përbërë është çelës që përbëhet nga dy apo më shumë kolona
24
Çelësi kandidat dhe primar
Çelësi kandidat është çelës që përcakton të gjitha kolonat tjera të relacionit Çelësi primar është çelës kandidat i zgjedhur si primar Ka një dhe vetëm një çelës primar për një relacion Çelësi primar mund të jetë çelës i përbërë Çelësi primar ideal është i shkurtërm numerik dhe që nuk ndryshon kurrë
25
Çelësat surrogat Çelësi surrogat është një kolonë artificiale e shtuar në relacion që të shërbejë si çelës primar: E shton DBMS I shkurtër, numerik dhe nuk ndryshon kurrë - çelës primar ideal! Ka vlera artificial që nuk kanë kuptim për shfrytëzuesit Normalisht fshihet në forma apo raporte
26
Çelësat surrogat RENTAL_PROPERTY pa çelës surrogat:
SHËNIM: Çelësi primar është i nënvizuar: RENTAL_PROPERTY pa çelës surrogat: RENTAL_PROPERTY (Street, City, State/Province, Zip/PostalCode, Country, Rental_Rate) RENTAL_PROPERTY me çelës surrogat: RENTAL_PROPERTY (PropertyID, Street, City, State/Province, Zip/PostalCode, Country, Rental_Rate)
27
Çelësat e jashtëm Çelës i jashtëm është çelës primar i një relacioni që vendoset në një relacion tjetër për të formuar link ndërmjet relacioneve: Çelësi i jashtëm mund të jetë kolonë e vetme ose çelës i përbërë
28
Çelësat e jashtëm SHËNIM: Çelësat primar të relacioneve janë nënvizuar dhe çelësat e jashtëm janë në italics : DEPARTMENT (DepartmentName, BudgetCode, ManagerName) EMPLOYEE(EmployeeNumber, EmployeeName, DepartmentName)
29
Rregulla e integritetit regerencial
Rregulla e integritetit referencial është fjali që kufizon vlerat e çelësit të jashtëm me vlerat për çelsin primar ekzistues në relacionin korespondues
30
Çelësi i jashtëm me rregullën e integritetit referencial
SHËNIM: Çelësi primar i relacionit është nënvizuar dhe çelësi i jashtëm është në italics: SKU_DATA (SKU, SKU_Description, Department, Buyer) ORDER_ITEM (OrderNumber, SKU, Quantity, Price, ExtendedPrice) Where ORDER_ITEM.SKU must exist in SKU_DATA.SKU
31
Format Normale Relacionet janë kategorizuar si forma normale varësisht se çfarë anomalish ose problemesh shfaqen:
32
Format Normale 1NF – Tabela që kualifikohet si relacion themi se është në 1NF 2NF – Relacioni është në 2NF nëse të gjitha atributet e tij që nuk janë çelës janë të varur nga të gjithë çelësat primar 3NF – relacioni është në 3NF nëse është në 2NF dhe nuk ka asnjë përcaktues përveç çelësit primar Boyce-Codd Normal Form (BCNF) – Relacioni është në BCNF nëse çdo përcaktues është çelës kandidat
33
Relacioni në 1NF Pamë më parë se relacioni duhet ti ketë këto veçori:
Relacioni në databazë ka emër unik. Çdo qeli e relacionit përmban saktësisht një vlerë atomike. Çdo atribut ka emër të përveçëm (distinct) përbrenda relacionit. Vlerat e atributit janë të domenit të njëjtë. Rradhitja e atributeve nuk luan rol kyç. Çdo rresht është i përveçëm; nuk ka rreshta duplikat. Rradhitja e rreshtave nuk luan rol kyç, teoritikisht. Në atë rast themi se relacioni është në FORMËN E PARË NORMALE (1NF).
34
Një databazë : 1NF First Constraints - Kufizime Çelës primar : S# , P#
Qyteti ka status specifik Një Supplier ndodhet në një qytet
35
Varshmëria funksionale
Përshkruan raportin ndërmjet atributeve në relacion Nëse A edhe B janë atribute të relacionit R, B varet funksionalisht nga A , nëse çdo vlerë e a në R ndërlidhet me saktësisht një vlerë të B në R E shënojmë A B Diagrami i varshmërisë funksionale Determinanta/Përcaktuesi Përcaktuesi i varshmërisë funksionale i referohet atributit ose grupit të atributeve në pikën fillestare të shigjetës B funksionalisht i varur nga A A B
36
Varshmëritë funksionale në FIRST
Status QTY P# City
37
Varshmëria e plotë funksionale
Varshmëria e plotë funksionale tregon se nëse A edhe B janë atribute të relacionit, B është në varësi të plotë funksionale të A nëse B funksionalisht varet nga A, por jo nga një nënbashkësi e caktuar e A. p.sh. First.(S# , Status ) First.City First. S# First.City Në fakt, varshmëria e plotë funksionale është koncept më i rëndësishëm se varshmëria funksionale
38
Një databazë : 1NF First Constraints - Kufizime Çelës primar : S# , P#
Qyteti ka status specifik Një Supplier ndodhet në një qytet
39
Procesi i Normalizimit: 2NF
Relacioni është në formën e dytë normale nëse është në formën e parë normale dhe çdo atribut që sështë çelës primar është në varësi të plotë funksionale nga çelësi primar Second SP Reduktimi përbëhet nga një projeksion i përshtatshëm Shtojmë edhe një Supplier 5
40
Varshmëritë funksionale në SP edhe Second
Eliminimi i varshmërisë parciale funksionale QTY P# S# Status City
41
Procesi i Normalizimit: 3NF
Relacioni është në formën e tretë normale nëse është në formën e parë dhe të dytë normale, dhe ku asnjë atribut që sështë çelës primar është tranzitivisht i varur nga çelësi primar. SC CS
42
Varshmëritë funksionale në SP , SC edhe CS
QTY P# Eliminimi i varshmërive tranzitive S# City Status City
43
Procesi i Normalizimit: BCNF
Relacioni është në formën normale Boyce-Codd fnëse dhe vetëm nëse çdo përcaktues/determinantë është çelës kandidat. Ky definicion nuk iu referohet formave tjera normale. BCNF është më e fortë se 3NF
44
Eliminimi i anomalive nga varshmëritë funksionale në relacionale
Vendosi të gjitha relacionet në Boyce-Codd Normal Form (BCNF):
45
Vendosja e relacionit në BCNF: EQUIPMENT_REPAIR
46
Vendosja e relacionit në BCNF: EQUIPMENT_REPAIR
EQUIPMENT_REPAIR (ItemNumber, Type, AcquisitionCost, RepairNumber, RepairDate, RepairAmount) ItemNumber (Type, AcquisitionCost) RepairNumber (ItemNumber, Type, AcquisitionCost, RepairDate, RepairAmount) ITEM (ItemNumber, Type, AcquisitionCost) REPAIR (ItemNumber, RepairNumber, RepairDate, RepairAmount) Where REPAIR.ItemNumber must exist in ITEM.ItemNumber
47
Vendosja e relacionit në BCNF: Relacione të reja
48
Vendosja e relacionit në BCNF: SKU_DATA
49
Vendosja e relacionit në BCNF: SKU_DATA
SKU_DATA (SKU, SKU_Description, Department, Buyer) SKU (SKU_Description, Department, Buyer) SKU_Description (SKU, Department, Buyer) Buyer Department SKU_DATA (SKU, SKU_Description, Buyer) BUYER (Buyer, Department) Where BUYER.Buyer must exist in SKU_DATA.Buyer
50
Vendosja e relacionit në BCNF: Relacione të reja
51
Varshmëritë shumëvlerëshe
Varshmëritë shumëvlerëshe ndodhin kur përcaktuesi përcakton një bashkësi të caktuar të vlerave: Employee Degree Employee Sibling PartKit Part Përcaktuesi i varshmërisë shumëvlerëshe nuk mund të jetë çelës primar
52
Varshmëritë shumëvlerëshe
53
Procesi i Normalizimit: 4NF
CTX CTX.Course CTX.Teacher CTX.Course CTX.Text Hiqen varshmëritë shumëvlerëshe 4NF
54
Thank You! PYETJE???
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.