Review

Preview:

DESCRIPTION

Review. Exam Su 3:30PM - 6:30PM 2010/12/12 Room C9000. Algebra. Relational Algebra Operations. Basic operations Selection ( ) Selects a subset of rows from relation. Projection ( ) Deletes unwanted columns from relation. - PowerPoint PPT Presentation

Citation preview

REVIEW

22

Exam Su 3:30PM - 6:30PM 2010/12/12 Room C9000

ALGEBRA

44

RELATIONAL ALGEBRA OPERATIONS Basic operations

Selection ( ) Selects a subset of rows from

relation. Projection ( )

Deletes unwanted columns from relation.

Cartesian product ( ) Combine two relations.

Set-difference ( ) Tuples in relation 1, but not in

relation 2. Union ( )

Tuples in relation 1 or in relation 2.

55

Suppliers (S)

sid

sname

address

Parts (P)

pid

pname

color

Catalog (C)

sid

pid

cost

66

Suppliers (S)

sid

sname

address

Parts (P)

pid

pname

color

Catalog (C)

sid

pid

cost

77

Suppliers (S)

sid

sname

address

Parts (P)

pid

pname

color

Catalog (C)

sid

pid

cost

88

Suppliers (S)

sid

sname

address

Parts (P)

pid

pname

color

Catalog (C)

sid

pid

cost

99

Suppliers (S)

sid

sname

address

Parts (P)

pid

pname

color

Catalog (C)

sid

pid

cost

1010

Suppliers (S)

sid

sname

address

Parts (P)

pid

pname

color

Catalog (C)

sid

pid

cost

FUNCTIONAL DEPENDENCY

1212

FUNCTIONAL DEPENDENCIES (FDS)

A functional dependency XY holds over relation R if, for every allowable instance r of R: given two tuples in r, if the X values agree, then

the Y values must also agree. (X and Y are sets of attributes.)

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!

K is a candidate key for R means that KR However, KR does not require K to be minimal!

1313

EXAMPLE (CONTD.)

Problems due to R W : Update anomaly: Can

we change W in just the 1st tuple of SNLRWH?

Insertion anomaly: What if we want to insert an employee and don’t know the hourly wage for his rating?

Deletion anomaly: If we delete all employees with rating 5, we lose the information about the wage for rating 5!

S N L R 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

S 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 W

8 10

5 7Hourly_Emps2

Wages

1414

REASONING ABOUT FDS (CONTD.) Couple of additional rules (that follow from

AA): Union: If X Y and X Z, then X YZ Decomposition: If X YZ, then X Y and X Z

Example: Contracts(cid,sid,jid,did,pid,qty,value), and: C is the key: C CSJDPQV Project purchases a part using single contract:

JPC Dept purchases at most a part from a supplier:SD

P JP C, C CSJDPQV imply JP CSJDPQV SD P implies SDJ JP SDJ JP, JP CSJDPQV imply SDJ CSJDPQV

1515

Suppose that relation R contains attributes A1 ... An. A decomposition of R consists of replacing R by two or more relations such that: Each new relation scheme contains a subset of

the attributes of R (and no attributes that do not appear in R), and

Every attribute of R appears as an attribute of one of the new relations.

e.g., A B, ABCD E, EF GH, ACDF EG has the following minimal cover: A B, ACD E, EF G and EF H

1616

EXAMPLESA B C

1 2 3

4 2 3

5 3 3

5 3 4

Does A B hold? Don’t know

Does BC A hold? Does not hold (first two tuples)

Does B C hold? Does not hold (last 2 tuples)

1717

EXAMPLES Relation: ABCDE Dependencies:

A B C D

Decompose to?

1818

EXAMPLES Relation: ABCD Dependencies:

CD CA BC

What is the candidate key? B

1919

EXAMPLES Relation: ABCD Dependencies:

BC DA

What is the candidate key? BD

2020

EXAMPLES Relation: ABCD Dependencies:

ABCD DA

What is the candidate key? ABC BCD

2121

EXAMPLES Relation: ABCD Dependencies:

ABC ABD CA DB

What is the candidate key? AB BC CD AD

2222

EXAMPLES Suppose you are given a relation R(A,B,C,D) Dependencies

ABC CA CD

What is the candidate key? AB BC

Decomposed into ACD and BC. Good? Lossless. Can join back to ABCD. Dependency ABC is not preserved.

2323

EXAMPLES Suppose you are given a relation R(A,B,C,D) Dependencies

ABC CAD

What is the candidate key? A C

Decomposed into ABC and AD. Good? No. A is key, so no need to decompose. Dependency CAD is not preserved.

Recommended