Top Banner
miniworld Requirements & collection analysis Conceptual Design Data Model Mapping Database Requirements Conceptual Schema ( ER diagram ) DBMS independent DBMS specific Conceptual Schema ( Relations ) refinemen t primary key constraint foreign key constraint
22

miniworld

Feb 23, 2016

Download

Documents

ringo

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 Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: miniworld

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

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

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

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

• 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

•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

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

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

• 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

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

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

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

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

•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

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

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

• 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

– 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

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

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

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

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