Second Normal Form (2NF)
description
Transcript of Second Normal Form (2NF)
![Page 1: Second Normal Form (2NF)](https://reader035.fdocuments.net/reader035/viewer/2022062811/56815fbd550346895dceb747/html5/thumbnails/1.jpg)
CS 3630 Database Design and Implementation
![Page 2: Second Normal Form (2NF)](https://reader035.fdocuments.net/reader035/viewer/2022062811/56815fbd550346895dceb747/html5/thumbnails/2.jpg)
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)](https://reader035.fdocuments.net/reader035/viewer/2022062811/56815fbd550346895dceb747/html5/thumbnails/3.jpg)
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)](https://reader035.fdocuments.net/reader035/viewer/2022062811/56815fbd550346895dceb747/html5/thumbnails/4.jpg)
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)](https://reader035.fdocuments.net/reader035/viewer/2022062811/56815fbd550346895dceb747/html5/thumbnails/5.jpg)
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)](https://reader035.fdocuments.net/reader035/viewer/2022062811/56815fbd550346895dceb747/html5/thumbnails/6.jpg)
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)](https://reader035.fdocuments.net/reader035/viewer/2022062811/56815fbd550346895dceb747/html5/thumbnails/7.jpg)
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)](https://reader035.fdocuments.net/reader035/viewer/2022062811/56815fbd550346895dceb747/html5/thumbnails/8.jpg)
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)](https://reader035.fdocuments.net/reader035/viewer/2022062811/56815fbd550346895dceb747/html5/thumbnails/9.jpg)
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)](https://reader035.fdocuments.net/reader035/viewer/2022062811/56815fbd550346895dceb747/html5/thumbnails/10.jpg)
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)](https://reader035.fdocuments.net/reader035/viewer/2022062811/56815fbd550346895dceb747/html5/thumbnails/11.jpg)
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)](https://reader035.fdocuments.net/reader035/viewer/2022062811/56815fbd550346895dceb747/html5/thumbnails/12.jpg)
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)](https://reader035.fdocuments.net/reader035/viewer/2022062811/56815fbd550346895dceb747/html5/thumbnails/13.jpg)
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)](https://reader035.fdocuments.net/reader035/viewer/2022062811/56815fbd550346895dceb747/html5/thumbnails/14.jpg)
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)](https://reader035.fdocuments.net/reader035/viewer/2022062811/56815fbd550346895dceb747/html5/thumbnails/15.jpg)
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)](https://reader035.fdocuments.net/reader035/viewer/2022062811/56815fbd550346895dceb747/html5/thumbnails/16.jpg)
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)](https://reader035.fdocuments.net/reader035/viewer/2022062811/56815fbd550346895dceb747/html5/thumbnails/17.jpg)
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)](https://reader035.fdocuments.net/reader035/viewer/2022062811/56815fbd550346895dceb747/html5/thumbnails/18.jpg)
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)](https://reader035.fdocuments.net/reader035/viewer/2022062811/56815fbd550346895dceb747/html5/thumbnails/19.jpg)
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)](https://reader035.fdocuments.net/reader035/viewer/2022062811/56815fbd550346895dceb747/html5/thumbnails/20.jpg)
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)](https://reader035.fdocuments.net/reader035/viewer/2022062811/56815fbd550346895dceb747/html5/thumbnails/21.jpg)
Schedule• Monday, March 2
Assignment6-1
• Friday, March 6Quiz2
• Wednesday, March 11Test1
21
![Page 22: Second Normal Form (2NF)](https://reader035.fdocuments.net/reader035/viewer/2022062811/56815fbd550346895dceb747/html5/thumbnails/22.jpg)
Assignment 5-2
Due Today (before class)
22
![Page 23: Second Normal Form (2NF)](https://reader035.fdocuments.net/reader035/viewer/2022062811/56815fbd550346895dceb747/html5/thumbnails/23.jpg)
Assignment 5-1
23