Lecture 9 - DB Normalization - Practice by Example
Lecture 9 - DB Normalization - Practice by Example
In this unit you will learn to practice on database normalization for case:
2
Library management system
Un-normalized Database:
Let's say we have a table which stores information about books borrowed by library members:
MemberID Member Name Member Address Book ID Book Title Author Date Borrowed
2024-04-01
101 John Abraham 96-Brooklyn Bridge 231 Harry Potter J.K. Rowling 2024-05-10
2024-07-15
102 Jane Claude 23-River Road Street 331 Lord of the Rings K.R.R. Tolkien 2024-04-02
101 John Abraham 96-Brooklyn Bridge 332 Lord of the Rings K.R.R. Tolkien 2024-04-03
101 John Abraham 96-Brooklyn Bridge 255 Java by Example Dietal & Dietal 2024-04-05
2024-04-10
102 Jane Claude 23-River Road Street 525 Cloud Computing Dr. Zee
2024-05-25
102 Jane Claude 23-River Road Street 256 Java by Example Dietal & Dietal 2024-04-15
3
UNF to 1NF
4
Conversion of UNF to 1NF
Resolve multivalued cells
MemberID Member Name Member Address Book ID Book Title Author Date Borrowed
101 John Abraham 96-Brooklyn Bridge 231 Harry Potter J.K. Rowling 2024-04-01
101 John Abraham 96-Brooklyn Bridge 231 Harry Potter J.K. Rowling 2024-05-10
101 John Abraham 96-Brooklyn Bridge 231 Harry Potter J.K. Rowling 2024-07-15
102 Jane Claude 23-River Road Street 331 Lord of the Rings K.R.R. Tolkien 2024-04-02
101 John Abraham 96-Brooklyn Bridge 332 Lord of the Rings K.R.R. Tolkien 2024-04-03
101 John Abraham 96-Brooklyn Bridge 255 Java by Example Dietal & Dietal 2024-04-05
102 Jane Claude 23-River Road Street 525 Cloud Computing Dr. Zee 2024-04-10
102 Jane Claude 23-River Road Street 525 Cloud Computing Dr. Zee 2024-05-25
102 Jane Claude 23-River Road Street 256 Java by Example Dietal & Dietal 2024-04-15
5
Conversion of UNF to 1NF
(Remove / Segregate repeating groups )
6
Conversion of 1NF to 2NF
Remove partial dependencies
Remove further repetition of data
7
Conversion of 2NF to 3NF
Remove transitive dependencies
Remove further repetition of data
• Author is transitively (indirectly) dependent on Book ID and is also a repeating data.
• So, create a separate Authors table to remove transitive dependency and save space.
8
Thankyou
Any Queries?