David M. Kroenke Database Processing:

Slides:



Advertisements
Similar presentations
The Relational Model – Functional Dependencies & Normalization.
Advertisements

DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 3-1 David M. Kroenke’s Chapter Three: The Relational Model and Normalization.
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 3-1 David M. Kroenke’s Chapter Three: The Relational Model and Normalization.
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 3-1 COS 346 Day 5.
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 3-1 COS 346 Day4.
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 3-1 COS 346 Day5.
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 4-1 David M. Kroenke Database Processing Chapter 4 Database Design Using.
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 1-1 COS 346 Day 3.
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 3-1 David M. Kroenke Database Processing Chapter 3 Normalization.
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 3-1 COS 346 Day4.
Chapter 3 The Relational Model and Normalization
IT420: Database Management and Organization Normalization 31 January 2006 Adina Crăiniceanu
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall, Modified by Dr. Mathis 3-1 David M. Kroenke’s Chapter Three: The Relational.
Gegevens Analyse Les 3: Normaliseren. Chapter Premise We have received one or more tables of existing data The data is to be stored in a new database.
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 3-1 What Makes Determinant Values Unique? A determinant is unique in.
David M. Kroenke and David J. Auer Database Processing Fundamentals, Design, and Implementation Chapter Four: Database Design Using Normalization 4-1 KROENKE.
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 3-1 David M. Kroenke’s Chapter Three: The Relational Model and Normalization.
David M. Kroenke and David J. Auer Database Processing Fundamentals, Design, and Implementation Chapter Three: The Relational Model and Normalization.
David M. Kroenke and David J. Auer Database Processing Fundamentals, Design, and Implementation Chapter Four: Database Design Using Normalization.
David M. Kroenke and David J. Auer Database Processing: F undamentals, Design, and Implementation Chapter Three: The Relational Model and Normalization.
Adapted from DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 3-1 Functional Dependencies and Normalization.
CSIS 115 Database Design and Applications for Business
Database Processing: David M. Kroenke’s Chapter Four:
PLANIFIKIM AFAT SHKURT I ORËS MËSIMORE
Teknologji Informative
Leksioni nr 2 Data Base.
Windows XP(Control Panel)
Access 2007 Quiz.
SH.M.U-2 Tema:WEB Shfletuesit Nxënësi:Elbaroza Bunjaku Arsimtari:Muhamer.
Siguria e të dhënave në kompjuter
TIK 12 – Prof. Blerand Koshi
The Relational Model and Normalization
Modelimi i marrëdhënieve relacionale (ER)
Insertimi i hapësirave dhe kalimi në kryerresht
LEKSION 6 SQL. Struktura baze. Query-t. Veprimet me bashkesi.
Teknologji Informative
part 1 with pages 1-32 and part 2 with pages 33-69
Sistemet Operative (Operating System)
Lënda: Imformatikë Punoi: Rona Preteni Arsimtar: Muhamer Ujkani IX/9
Elementet e gjuhës C++.
TIK 12 – Prof. Blerand Koshi
Vendosja e prapavijes (Background)
SHMU-2 Vushtrri Punim seminarik Lënda: Informatikë Tema: Rjetet informative Klasa IX-2 Punuar nga: Argjent Abdurrahmani Erëza Mejzini.
Tema:Crossover Cable Nxënësi:Amir Sadiku Arsimtari:Muhamer Ujkani
PowerPoint 2007 Quiz.
Database Design Using Normalization
SH.M.U-2 Emri dhe mbiemri:Lavdim Veseli Klasa:IX-3 Shkolla:SHMU2
Elementet e gjuhës C++.
Database Processing: Chapter Four: Using Normalization
Database Processing: David M. Kroenke’s Chapter Six:
6. Unaza While dhe Do While
Database Processing: David M. Kroenke’s Chapter Three:
Shmu2 Lënda: Informatikë Tema: Programi i Power Ponit Klasa: IX-4
SH-M-U-2 Kl.9/4 Valon Ibishi Lënda:Informatikë Tema:Programi Excel Arsimtar:Muhamer Ujkani Vushtrri,2014.
LEKSION 9 Dizenjimi i database-it relacional.
Universiteti i Prizrenit
Arsimtar:Muhamer Ujakani
SISTEMI I DETEKTORËVE TË TRAFIKUT
LEKSION 4 Diagrama E-R. Karakteristika te modelit të zgjeruar E-R.
Targetimi i elementeve specifike
Internet Ligjerata 8 Dr. Fisnik Dalipi.
TIK 12 – Prof. Blerand Koshi
David M. Kroenke and David J
Variablat dhe konstantet
Degëzimet.
Database Processing: David M. Kroenke’s Chapter Six:
SHMU-2 PUNOI:Enis Shallci Lënda:Informatikë Tema : POWERPOINTI
Database Processing: David M. Kroenke’s Chapter Six:
Operatorët.
Shkolla e mesme e ulët “Gjon Serreçi” Ferizaj
Presentation transcript:

David M. Kroenke Database Processing: Fundamentals, Design, and Implementation Kapitulli i tretë: Modeli Relacional dhe Normalizimi

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?

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?

Por së pari - Duhet ti kuptojmë: Modelin relacional Terminologjinë e modelit relacional

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

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

Entiteti Entiteti është diçka që mund të identifikohet e që përdoruesit mund ta hetojnë/gjurmojnë: Klientët Kompjuterët Shitjet

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

Një relacion

Relacion me vlera me gjatësi të ndryshme

Tabelat që nuk janë relacione: Të hyra të shumëfishta për një qeli

Tabelat që nuk janë relacione: : Tabelë me rradhitje të kërkuar të rreshtave

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:

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!

Varshmëritë funksionale nuk janë ekuacione! ObjectColor  Weight ObjectColor  Shape ObjectColor  (Weight, Shape)

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)

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

Varshmëritë funksionale në tabelën SKU_DATA

Varshmëritë funksionale në tabelën SKU_DATA SKU  (SKU_Description, Department, Buyer) SKU_Description  (SKU, Department, Buyer) Buyer  Department

Varshmëritë funksionale në tabelën ORDER_ITEM

Varshmëritë funksionale në tabelën ORDER_ITEM (OrderNumber, SKU)  (Quantity, Price, ExtendedPrice) (Quantity, Price)  (ExtendedPrice)

Ç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

Ç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

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

Ç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

Ç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)

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

Ç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)

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

Ç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

Format Normale Relacionet janë kategorizuar si forma normale varësisht se çfarë anomalish ose problemesh shfaqen:

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

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

Një databazë : 1NF First Constraints - Kufizime Çelës primar : S# , P# Qyteti ka status specifik Një Supplier ndodhet në një qytet

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

Varshmëritë funksionale në FIRST Status QTY P# City

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

Një databazë : 1NF First Constraints - Kufizime Çelës primar : S# , P# Qyteti ka status specifik Një Supplier ndodhet në një qytet

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

Varshmëritë funksionale në SP edhe Second Eliminimi i varshmërisë parciale funksionale QTY P# S# Status City

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

Varshmëritë funksionale në SP , SC edhe CS QTY P# Eliminimi i varshmërive tranzitive S# City Status City

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

Eliminimi i anomalive nga varshmëritë funksionale në relacionale Vendosi të gjitha relacionet në Boyce-Codd Normal Form (BCNF):

Vendosja e relacionit në BCNF: EQUIPMENT_REPAIR

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

Vendosja e relacionit në BCNF: Relacione të reja

Vendosja e relacionit në BCNF: SKU_DATA

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

Vendosja e relacionit në BCNF: Relacione të reja

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

Varshmëritë shumëvlerëshe

Procesi i Normalizimit: 4NF CTX CTX.Course CTX.Teacher CTX.Course CTX.Text Hiqen varshmëritë shumëvlerëshe 4NF

Thank You! PYETJE???