miniworld
DESCRIPTION
miniworld. Requirements & collection analysis. refinement. Database Requirements. Conceptual Design. Conceptual Schema ( ER diagram ). DBMS independent. Data Model Mapping. DBMS specific. Conceptual Schema ( Relations ). primary key constraint foreign key constraint. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: miniworld](https://reader036.vdocuments.site/reader036/viewer/2022062520/56816262550346895dd2c22e/html5/thumbnails/1.jpg)
miniworld
Requirements & collection analysis
Conceptual Design
Data Model Mapping
Database Requirements
Conceptual Schema ( ER diagram )DBMS independent
DBMS specificConceptual Schema ( Relations )
refinement
• primary key constraint• foreign key constraint
![Page 2: miniworld](https://reader036.vdocuments.site/reader036/viewer/2022062520/56816262550346895dd2c22e/html5/thumbnails/2.jpg)
Schema Refinement and Normal Forms
•Conceptual database design gives us a set of relation schemas and integrity constraints
•Given a design, how do we know it is good or not?
•A design can be evaluated from various perspectives, our focus is on data redundancy
Conceptual design
Schemas ICs
![Page 3: miniworld](https://reader036.vdocuments.site/reader036/viewer/2022062520/56816262550346895dd2c22e/html5/thumbnails/3.jpg)
The Evils of Redundancy• Redundancy is at the root of several
problems associated with relational schemas:– redundant storage– Insertion/update/deletion anomalies
![Page 4: miniworld](https://reader036.vdocuments.site/reader036/viewer/2022062520/56816262550346895dd2c22e/html5/thumbnails/4.jpg)
Example• Schema
– Hourly_Emps (ssn, name, lot, rating, hrly_wages, hrs_worked)• Constraints:
1. ssn is the primary key2. If two tuples have the same value on rating, they have
the same value on hrly_wages SSN Name Lot Rd
d W H
123-22-3666 Attishoo 48 8 10 40 231-31-5368 Smiley 22 8 10 30 131-24-3650 Smethurst 35 5 7 30 434-26-3751 Guldu 35 5 7 32 612-67-4134 Madayan 35 8 10 40
![Page 5: miniworld](https://reader036.vdocuments.site/reader036/viewer/2022062520/56816262550346895dd2c22e/html5/thumbnails/5.jpg)
• Solution: Decomposition If we break Hourly_Emps into Hourly_Emps2 and Wages,
then we don’t have updates, insertion, deletion anomalies.
Hourly_Emps2 WagesS N L R H 123-22-3666 Attishoo 48 8 40 231-31-5368 Smiley 22 8 30 131-24-3650 Smethurst 35 5 30 434-26-3751 Guldu 35 5 32 612-67-4134 Madayan 35 8 40
R W8 105 7
![Page 6: miniworld](https://reader036.vdocuments.site/reader036/viewer/2022062520/56816262550346895dd2c22e/html5/thumbnails/6.jpg)
•Should a relation be decomposed?• If a relation is not in certain form, some problems (e.g., redundancy) will arise, are these problems tolerable?
•Aforementioned anomalies•Potential performance loss: Queries over the original relation may required to join the decomposed relations
•How to decompose a relation? Two properties must be preserved:
• lossless-join: the data in the original relation can be recovered from the smaller relations
•dependency-preservation: all constraints on the original relation must still hold by enforcing some constraints on each of the small relations
Decomposition Concerns
![Page 7: miniworld](https://reader036.vdocuments.site/reader036/viewer/2022062520/56816262550346895dd2c22e/html5/thumbnails/7.jpg)
Functional Dependencies (FDs)In a relation schema R, a set of attributes X
functionally determines a set of attributes Y if and only if whenever two tuples of R agree on X value, they must necessarily agree on the Y value.
XY
][][][][),(
2121
2,1
YtYtXtXtRrtt
XY: Y is functionally dependent on X, or
X uniquely determines Y orX functionally determines Y, or X determines Y
where r(R) is an instance of R,RYRX and
![Page 8: miniworld](https://reader036.vdocuments.site/reader036/viewer/2022062520/56816262550346895dd2c22e/html5/thumbnails/8.jpg)
X Y ZX1 Y2 Z1X1 Y2 Z2X2 Y2 Z3
Does this data set violate X->Y?Does this data set violate Z->Y?
X Y ZX1 Y1 Z1X1 Y1 Z2X1 Y2 Z1
Does this data set violate X->Y?Does this data set violate XY->Z?Does this data set violate Z->X?
![Page 9: miniworld](https://reader036.vdocuments.site/reader036/viewer/2022062520/56816262550346895dd2c22e/html5/thumbnails/9.jpg)
• An FD is a statement about all allowable relations.
– Must be identified based on semantics of application.– Given some allowable instance r1 of R, we can check
if it violates some FD f, but we cannot tell if f holds over R!
• A primary key constraint is a special case of an FD
– The attributes in the key play the role of X, and the set of all attributes in the relation plays the role of Y
![Page 10: miniworld](https://reader036.vdocuments.site/reader036/viewer/2022062520/56816262550346895dd2c22e/html5/thumbnails/10.jpg)
Example 1Hourly_Emps (ssn, name, lot, rating, hrly_wages,
hrs_worked)
• Notation: We will denote this relation schema by listing the attributes: SNLRWH– This is really the set of attributes {S,N,L,R,W,H}.– Sometimes, we will refer to all attributes of a relation by
using the relation name. (e.g., Hourly_Emps for SNLRWH)
• Some FDs on Hourly_Emps:– ssn is the key: SSNLRWH (or {S}{S,N,L,R,W,H})– rating determines hrly_wages : RW
![Page 11: miniworld](https://reader036.vdocuments.site/reader036/viewer/2022062520/56816262550346895dd2c22e/html5/thumbnails/11.jpg)
dname
budgetdid
since
lotname
ssn
Works_forEmployees Departments
FD: did->lot
Works_for(ssn,name,did,since)Department (did,dname,budget,lot);
Additional Constraints: Employees are assigned parking lots based on their department. All employees in the same department is given the same lot.
Example 2
![Page 12: miniworld](https://reader036.vdocuments.site/reader036/viewer/2022062520/56816262550346895dd2c22e/html5/thumbnails/12.jpg)
A set of dependencies may imply some additional dependencies.
Dependency Reasoning
EMP_DEPT(ENAME,SSN,BDATE,ADDRESS,DNUMBER,DNAME,DMGRSSN)
F={SSN->{ENAME,BDATE,ADDRESS,DNUMBER},DNUMBER->{DNAME,DMGRSSN} }
F infers the following additional functional dependencies:
F {SSN}->{DNAME,DMGRSSN}
F {SSN}->{SSN}
F {DNUMBER}->{DNAME}
![Page 13: miniworld](https://reader036.vdocuments.site/reader036/viewer/2022062520/56816262550346895dd2c22e/html5/thumbnails/13.jpg)
A set of dependencies may imply some additional dependencies.
Dependency Reasoning
Some important questions
1. Given a set of attributes X, what attributes can be determined by X
2. Given an FD set, what other dependencies are implied
3. Given an FD set F, what is the minimum set of dependencies that is equivalent to F
![Page 14: miniworld](https://reader036.vdocuments.site/reader036/viewer/2022062520/56816262550346895dd2c22e/html5/thumbnails/14.jpg)
•Armstrong’s Axioms where X, Y, Z are sets of attributes:– Reflexivity: If X Y, then XY. – Augmentation: If XY, then XZ YZ for any Z.– Transitivity: If X Y and YZ, then XZ.
Armstrong’s Axioms
![Page 15: miniworld](https://reader036.vdocuments.site/reader036/viewer/2022062520/56816262550346895dd2c22e/html5/thumbnails/15.jpg)
PROOFS• Reflexive rule: If X Y, then XY.
Let {t1,t2} r(R) such that t1[X]=t2[X]Since Y X, t1[X]=t2[X] t1[Y]=t2[Y]
XY.
![Page 16: miniworld](https://reader036.vdocuments.site/reader036/viewer/2022062520/56816262550346895dd2c22e/html5/thumbnails/16.jpg)
PROOFS (Cont’d)• Transitive rule: If XY and YZ, then XZ.
Let XY and (1) YZ (2)
)(, 21 Rrtt such that t1[X]=t2[X], (3)we have:
(1) t1[Y]=t2[Y] (4)(2)&(4) t1[Z]=t2[Z] (5)(3)&(5) XZ
![Page 17: miniworld](https://reader036.vdocuments.site/reader036/viewer/2022062520/56816262550346895dd2c22e/html5/thumbnails/17.jpg)
• Augmentation rule: If XY, then XZYZ.Assume that the Augmentation rule is not true.
)(, 21 Rrtt
PROOFS (Cont’d)
t1[X] = t2[X] (1)t1[Y] = t2[Y] (2)t1[XZ] = t2[XZ] (3)t1[YZ] != t2[YZ] (4)
(1)&(3) t1[Z]=t2[Z] (5)(2)&(5) t1[YZ]=t2[YZ] (6)
(6) Contradicts (4)
![Page 18: miniworld](https://reader036.vdocuments.site/reader036/viewer/2022062520/56816262550346895dd2c22e/html5/thumbnails/18.jpg)
– Union: If X Y and X Z, then X YZ.
– Decomposition: If XYZ, then XY and XZ.
– Pseudotransitive Rule: If XY and WYZ then WXZ.
Additional Inference Rules for Functional Dependencies
![Page 19: miniworld](https://reader036.vdocuments.site/reader036/viewer/2022062520/56816262550346895dd2c22e/html5/thumbnails/19.jpg)
PROOFS (Cont’d)• Union rule: If XY and XZ, then XYZ.
Given XY and (1) XZ. (2)
Applying Augmentation rule on (1), we have XXXY XXY. (3)
Applying Augmentation rule on (2), we have XYZY XYYZ . (4)
Applying Transitive rule on (3) and (4), we have XYZ.
![Page 20: miniworld](https://reader036.vdocuments.site/reader036/viewer/2022062520/56816262550346895dd2c22e/html5/thumbnails/20.jpg)
PROOFS (Cont’d)• Decomposition rule: If XYZ then XY and XZ.
Given XYZ. (1)Since Y YZ, reflexive rule gives YZY. (2)
Applying Transitive rule on (1) and (2), we have XY.XZ is derived in a similar way.
![Page 21: miniworld](https://reader036.vdocuments.site/reader036/viewer/2022062520/56816262550346895dd2c22e/html5/thumbnails/21.jpg)
PROOFS (Cont’d)
• Pseudotransitive rule: If XY and WYZ, then WXZ.
Given XY (1)and WYZ. (2)
Applying Augmentation rule on (1), we have WXWY. (3)
Applying Transitive rule on (3)&(2), we have WXZ.
![Page 22: miniworld](https://reader036.vdocuments.site/reader036/viewer/2022062520/56816262550346895dd2c22e/html5/thumbnails/22.jpg)
Exercise
• Prove or disprove the following inference rules1. {WY,XZ} |= {WXY}2. {XY,XW,WYZ} |= {XZ}3. {XY} |= {XYZ}4. {XY, Z Y} |= {XZY}
• Prove using inference rules• Disprove by showing a counter example