second normal form (2nf)

23
CS 3630 Database Design and Implementation

Upload: thalia

Post on 19-Feb-2016

32 views

Category:

Documents


0 download

DESCRIPTION

Second Normal Form (2NF) . A relation R is in 1NF, and every non-primary-key attribute is fully functionally dependent on the primary key Then R is in 2NF No Partial FDs on the PK. Third Normal Form (3NF). Relation R in 2NF, and - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Second Normal Form (2NF)

CS 3630 Database Design and Implementation

Page 2: Second Normal Form (2NF)

First Normal Form (1NF)

• No multi-value attributes

• Done when mapping E-R model to relational schema

• DBDL

2

Page 3: Second Normal Form (2NF)

Second Normal Form (2NF)

A relation R is in 1NF, and every non-primary-key attribute is fully

functionally dependent on the primary key Then R is in 2NF

No Partial FDs on the PK.

3

Page 4: Second Normal Form (2NF)

Third Normal Form (3NF)

Relation R in 2NF, and No non-Primary-Key attribute is transitively

functionally dependent on the primary keyThen R is in 3NF.

No Transitive FDs on PK.

4

Page 5: Second Normal Form (2NF)

Boyce-Codd Normal Form (BCNF)

Definition R in 1NF andThe determinant of each FD is a candidate key.

Review: 1NF determinant candidate key

5

Page 6: Second Normal Form (2NF)

BCNF and 3NF

BCNF is stronger than 3NF

If R in BCNF, then R in 3NF.

If R not in 3NF, then R not in BCNF.

6

Page 7: Second Normal Form (2NF)

ProofIf R not in 3NF, then PK ---> B, and B ---> C, (PK ---> C) NO cycle for transitive FD B ---> PK : False B is not candidate key but a determinant (B ---> C )So, R is not in BCNF.

7

Page 8: Second Normal Form (2NF)

ExampleLease (RNo, RName, PNo, PAddress, Start, Finish, Rent, ONo, OName) Primary Key: PNo, Start Alternate Key: PNo, Finish PAddress, Start PAddress, Finish FDs: PNo, Start ---> All other attributes PNo, Finish ---> All other attributes PAddress, Start ---> All other attributes PAddress, Finish ---> All other attributes PNo ---> PAddress, ONo, OName (Pno not a candidate key) PAddress ---> PNo, ONo, Oname (Paddress not a candidate key) RNo ---> Rname (Rno not a candidate key) ONo ---> OName (Ono not a candidate key)

Not in BCNF.How many tables in order to make it BCNF?

8

Page 9: Second Normal Form (2NF)

Decompose Lease into BCNF Lease (RNo, RName, PNo, PAddress, Start, Finish, Rent, ONo, OName) PNo ---> PAddress, ONo, OName (Pno not a candidate key) PAddress ---> PNo, ONo, Oname (Paddress not a candidate key) RNo ---> Rname (Rno not a candidate key) ONo ---> OName (Ono not a candidate key)

Owner (ONo, OName) ONo ---> Oname

Renter (RNo, RName) RNo ---> RName

Lease (RNo, PNo, Start, Finish, Rent) PNo, Start ---> All PNo, Finish ---> All

Property (PNo, PAddress, ONo) PNo ---> PAddress, ONo PAddress ---> PNo, Ono

9

Only 4 tables, not 5.Pno PaddressPaddress Pno

Ono will not be in Lease.Pno ---> Ono

Page 10: Second Normal Form (2NF)

Example

R (A, B, C, D, E, F) PK: A, B, C AK: B, C, D FK: None FDs: A, B, C All B, C, D All B, D A

10

Page 11: Second Normal Form (2NF)

Table Instance

A B C D E F 2 10 x u ct 1 1 20 y v cis 2 2 10 z u se 3 1 20 x v cs 4

FDs: A, B, C All B, C, D All B, D A

11

Page 12: Second Normal Form (2NF)

Decomposing to BCNFR (A, B, C, D, E, F) PK: A, B, C AK: B, C, D FK: None FDs: A, B, C All B, C, D All B, D A

B, D and A should be in a new table with (B, D) as PKB and D should remain in the original table as FKA should not remain in the original tablePK of the original table must be changed to B, C, D.

12

Page 13: Second Normal Form (2NF)

Decomposing to BCNFR (A, B, C, D, E, F) PK: A, B, C AK: B, C, D FK: None FDs: A, B, C All B, C, D All B, D A

13

R2 (B, C, D, E, F) PK: B, C, D AK: NONE FK: B, D References R1 FDs: B, C, D AllDoes R2 have a FK?

R1 (A, B, D) PK: B, D AK: NONE FK: None FDs: B, D ADoes R1 have a FK?

Page 14: Second Normal Form (2NF)

Table Instance A B C D E F 2 10 x u ct 1 1 20 y v cis 2 2 10 z u se 3 1 20 x v cs 4

FDs: A, B, C All B, C, D All B, D A

14

A B D 2 10 u 1 20 v

B C D E F 10 x u ct 1 20 y v cis 2 10 z u se 3 20 x v cs 4

Page 15: Second Normal Form (2NF)

Selecting B, C, D as PK at the Beginning

R (A, B, C, D, E, F) PK: A, B, C AK: B, C, D FK: None FDs: A, B, C All B, C, D All B, D A

15

R (A, B, C, D, E, F) PK: B, C, D AK: A, B, C FK: None FDs: A, B, C All B, C, D All B, D AA is Partial on PK!

Page 16: Second Normal Form (2NF)

Review: Normalization• 1NF Remove multi-value attributes Why: each element can not be a set (first order logic) • 2NF Remove partial FDs on PK Why: remove redundant data • 3NF Remove transitive FDs on PK Why: remove redundant data • BCNF Stronger than 3NF Any candidate keys Why: better PK remove redundant data

In most cases, BCNF is enough.

16

Page 17: Second Normal Form (2NF)

Lossless Decomposition

After a relation is normalized into two or more relations, the original relations could be obtained by joining new relations

Primary Key and Foreign Key

17

Page 18: Second Normal Form (2NF)

Decompose Lease into BCNF Lease (RNo, RName, PNo, PAddress, Start, Finish, Rent, ONo, OName)

Owner (ONo, OName) ONo ---> OName

Renter (RNo, RName) RNo ---> RName

Property (PNo, PAddress, ONo) PNo ---> PAddress, ONo PAddress ---> PNo, Ono

Lease (RNo, PNo, Start, Finish, Rent) PNo, Start ---> All other attributes PNo, Finish ---> All other attributes

18

How to get Property data for a lease?

Lease Property

How to get Renter data for a lease?

Lease Renter

How to get Owner data for a lease?

Lease Property Owner

Page 19: Second Normal Form (2NF)

De-Normalization

• Normalized relations Minimal redundancy Need join operation to get results • How far should we go? • Where to stop?

19

Page 20: Second Normal Form (2NF)

20

Review: Database DesignA structured approach that uses procedures, techniques, tools, and

documentation aids to support and facilitate the process of design.

Three main phases 1. Conceptual database design Understanding client data E-R (EER) Model Contract between clients and designers

2. Logical database design Mapping E-R Model to (relational) database schema (Derive relational schema from E-R Model) DBDL Normalization

3. Physical database design

Page 21: Second Normal Form (2NF)

Schedule• Monday, March 2

Assignment6-1

• Friday, March 6Quiz2

• Wednesday, March 11Test1

21

Page 22: Second Normal Form (2NF)

Assignment 5-2

Due Today (before class)

22

Page 23: Second Normal Form (2NF)

Assignment 5-1

23