Upcoming SlideShare
×

# Normalization in database

1,038 views
928 views

Published on

Normalization in database

0 Likes
Statistics
Notes
• Full Name
Comment goes here.

Are you sure you want to Yes No
• Be the first to comment

• Be the first to like this

Views
Total views
1,038
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
50
0
Likes
0
Embeds 0
No embeds

No notes for slide

### Normalization in database

1. 1. Disclaimer: This presentation is prepared by trainees of baabtra as a part of mentoring program. This is not official document of baabtra –Mentoring Partner Baabtra-Mentoring Partner is the mentoring division of baabte System Technologies Pvt . Ltd
3. 3. NORMALIZATION • The process of efficiently organizing data in a database. • Two goals of normalization process:  Eliminating Redundant Data  Ensuring data dependencies • Main objective:  Isolate data  Reduce the amount of database space  Make database structure flexible  Consistent throughout database
4. 4. • Should not suffer from following anomalies.  Update anomalies.  Insertion anomalies.  Deletion anomalies. S_No S_name S_address Course_opted 1 smith calicut php 2 turner kannur java 3 clark wayanad java 4 smith calicut Android
5. 5. Normalization Stages • 1NF • 2NF • 3NF • Boyce-Codd Normal Form (BCNF or 3.5NF)
6. 6. First Normal Form (1NF) • The values in each column of a table are atomic . • Each table has a primary key. • There are no repeating groups.
7. 7. Second Normal Form (2NF) • Should be in 1NF. • Remove subsets of data that apply to multiple rows of a table and place them in separate tables. • Create relationships between tables.
8. 8. Third Normal Form (3NF) • should be 2NF. • Has no transitive functional dependencies. • Remove columns that are not dependent upon the primary key. • To convert 2NF to 3NF, we again divide tables.
9. 9. Boyce-Codd Normal Form(BCNF) • Should be 3NF. • Every determinant must be a candidate key. • All tables can have only one primary key • Candidate Key:  Any attribute or a set of attributes together that has the eligibility to become a primary key.
10. 10. TRANSFORMATION FROM UNF TO HIGHER NORMAL FORMS USING AN EXAMPLE Dep_no Dep_ name Stud_no Stud_ name Stud_ dob Stud_ age Course_ name Course_ fee 1 cse 101 Name 1 1990-1-01 23 java 5000 102 Name 2 1991-5-25 22 php 4000 103 Name 3 1992-3-01 21 Java,php 5000, 4000 2 ec 104 Name 4 1990-2-01 23 robotics 10000 105 Name 5 1991-3-01 22 circuits 15000 106 Name 6 1992-4-01 21 robotics 10000
11. 11. Conversion to 1st Normal Form Dep_no Dep_ name Stud_no Stud_ name Stud_ dob Stud_ age Course_ name Course_ fee 1 cse 101 Name 1 1990-1-01 23 java 5000 1 cse 102 Name 2 1991-5-25 22 php 4000 1 cse 103 Name 3 1992-3-01 21 Java 5000 1 cse 103 Name 3 1990-2-01 21 php 4000 2 ec 104 Name 4 1991-3-01 23 robotics 10000 2 ec 105 Name 5 1992-4-01 22 circuits 15000 2 ec 106 Name 6 1990-1-01 21 robotics 10000
12. 12. Conversion to 2nd Normal Form Dep_no Dep_name 1 cse 2 ec Fk_dept_id Fk_stud_id Course_name Course_fee 1 101 java 5000 1 102 php 4000 1 103 Java 5000 1 103 php 4000 2 104 robotics 10000 2 105 circuits 15000 2 106 robotics 10000 Stud_no Stud_name Stud_dob Stud_age 101 Name 1 1990-1-01 23 102 Name 2 1991-5-25 22 103 Name 3 1992-3-01 21 103 Name 3 1990-2-01 21 104 Name 4 1991-3-01 23 105 Name 5 1992-4-01 22 106 Name 6 1990-1-01 21
13. 13. Course_ name Course_ fee java 5000 php 4000 robotics 10000 circuits 15000 Dep_no Dep_ name 1 Cse 2 ec Fk_dept_no Fk_Stud_no Fk_Course_name 1 101 java 1 102 php 1 103 Java 1 103 php 2 104 robotics 2 105 circuits 2 106 robotics Stud_no Stud_name Stud_dob 101 Name 1 1990-1-01 102 Name 2 1991-5-25 103 Name 3 1992-3-01 103 Name 3 1990-2-01 104 Name 4 1991-3-01 105 Name 5 1992-4-01 106 Name 6 1990-1-01 Conversion to 3nd Normal Form
14. 14. Conversion To BCNF
15. 15. Class_name Roll_no name Class_teacher Class a 1 smith Teacher a Class a 2 turner Teacher a Class b 1 clark Teacher b Class c 1 allen Teacher c Class_name Class_teacher Class a Teacher a Class b Teacher b Class c Teacher c Class_name Roll_no name Class a 1 smith Class a 2 turner Class b 1 clark Class c 1 allen A Case where The table is in 3NF but not in BCNF A Case where The table is in both in 3NF and BCNF