0% found this document useful (0 votes)
22 views

Normalization Step by Step (Lecturer Version)

The document describes the process of normalizing a data table from an un-normalized form to third normal form (3NF). It involves identifying primary keys, removing partial and transitive dependencies, and separating attributes into multiple tables based on functional dependencies. The result is data organized into multiple tables in 3NF, where each table has a primary key and no non-key attributes depend on other non-key attributes.
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
22 views

Normalization Step by Step (Lecturer Version)

The document describes the process of normalizing a data table from an un-normalized form to third normal form (3NF). It involves identifying primary keys, removing partial and transitive dependencies, and separating attributes into multiple tables based on functional dependencies. The result is data organized into multiple tables in 3NF, where each table has a primary key and no non-key attributes depend on other non-key attributes.
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 6

Iden

Un-Normalize Form
Normalization Process

Step 1:

 Present data in tabular format, where each cell has single value
 eliminate nulls by making sure that each attribute contains an appropriate data value
 Identify the Primary Keys

1st Normal Form


Step 2:

 Identify All Dependencies


 Remove partial dependency

2nd Normal Form


Step 3:

 Remove Transitive Dependencies

3rd Normal Form


Given the un-normalized form (UNF), normalized it into third normal form (3NF)

Present the data in table form, fill up all rows and columns. Ensure each row and intersection has only one value

ProNu ProName EmpNum EmpName JobClass ChgHour HourBill TotChar SubTot


m
1 Hurricane 101 John Elect.Eng 65 13 845 2945
1 Hurricane 102 David Comm.Tech 60 16 960 2945
1 Hurricane 104 Anne Comm.Tech 60 19 1140 2945
2 Coast 101 John Elect.Eng 65 15 975 1910
2 Coast 103 June Biol.Eng 55 17 935 1910
3 Satelite 104 Anne Comm.Tech 60 18 1080 1920
3 Satelite 102 David Comm.Tech 60 14 840 1920

Identify Primary keys: ProNum&EmpNum


The table is now in first normal form (1NF)

Change to second normal form (2NF)

Primary keys: ProNum&EmpNum (in most cases, there will be more than 1 attributes known as composite PK)

Identify all dependencies. Remove partial dependency (exists when table has composite PK)

Make sure that each non-key attributes / non-determinant / non-PK is fully dependent on its determinant (PK)

Composite PK Non-key Check List Action


attributes
ProNum&EmpNu ProName Is ProName fully dependent on both (ProNum&EmpNum)? Partial dependency exists. Remove ProName together
m Answer: No, ProName depend on ProNum, not EmpNum with its determinant (ProNum) to form a new table. Form
new
ProNum&EmpNu SubTot Is SubTot fully dependent on both (ProNum&EmpNum)? Partial dependency exists. Remove SubTot together with table
m Answer: No, SubTot depend on ProNum, not EmpNum its determinant (ProNum) to form a new table.

ProNum&EmpNu EmpName Is EmpName fully dependent on both (ProNum&EmpNum)? Partial dependency exists. Remove EmpName together
m Answer: No, EmpName depend on EmpNum, not ProNum with its determinant (EmpNum) to form a new table.
Form
ProNum&EmpNu JobClass Is JobClass fully dependent on both (ProNum&EmpNum)? Partial dependency exists. Remove JobClass together
new
m Answer: No, JobClass depend on EmpNum, not ProNum with its determinant (EmpNum) to form a new table.
table
ProNum&EmpNu ChgHour Is ChgHour fully dependent on both (ProNum&EmpNum)? Partial dependency exists. Remove ChgHour together
m Answer: No, ChgHour depend on EmpNum, not ProNum with its determinant (EmpNum) to form a new table.

ProNum&EmpNu HourBill Is HourBill fully dependent on both (ProNum&EmpNum)? Full dependency exists, therefore no action needed.
m Answer: Yes, HourBill depend on both (ProNum&EmpNum) HourBill remains in the original table with its Remain
determinant (ProNum&EmpNum) at
original
ProNum&EmpNu TotChar Is TotChar fully dependent on both (ProNum&EmpNum)? Full dependency exists, therefore no action needed.
m Answer: Yes, TotChar depend on both (ProNum&EmpNum) TotChar remains in the original table with its table
determinant (ProNum&EmpNum)
Tables in second normal form (2NF)

ProNum ProName SubTot EmpNum EmpName JobClass ChgHour


1 Hurricane 2945 101 John Elect.Eng 65
2 Coast 1910 102 David Comm.Tech 60
3 Satelite 1920 103 June Biol.Eng 55
104 Anne Comm.Tech 60

ProNum EmpNum HourBill TotChar


1 101 13 845
1 102 16 960
1 104 19 1140
2 101 15 975
2 103 17 935
3 104 18 1080
3 102 14 840

The tables are now in second normal form (2NF)


Convert to third normal form (3NF)

Identify transitive dependency (if any) then remove it , else the tables are already in third normal form (3NF)

Transitive dependency occurs when a non-key attribute is dependent on another non-key attribute

In this example, transitive dependency exists: EmpNum > JobClass > ChgHour (ChgHour is transitively dependent on EmpNum)

ChgHour (which is a non-key attribute) is dependent on JobClass (which is also a non-key attribute), because JobClass determines ChgHour

Therefore, remove JobClass & ChgHour to form a new table. However, JobClass need to remain in Employee table as a reference

Tables in third normal form (3NF)

ProNum ProName SubTot EmpNum EmpName JobClass


1 Hurricane 2945 101 John Elect.Eng
2 Coast 1910 102 David Comm.Tech
3 Satelite 1920 103 June Biol.Eng
104 Anne Comm.Tech

ProNum EmpNum HourBill TotChar


1 101 13 845
1 102 16 960
JobClass ChgHour
1 104 19 1140
Elect.Eng 65
2 101 15 975
Comm.Tech 60
2 103 17 935
Biol.Eng 55
3 104 18 1080
3 102 14 840

The tables are now in third normal form (3NF), normalization process ends.
Now you can implement the database in the DBMS, you can make further changes to the tables in 3NF such as below

Implement the tables in database server

Identify PK & FK

Project Employee

ProNum (PK) ProName SubTot EmpNum (PK) EmpName JobClassID (FK)


1 Hurricane 2945 101 John J01
2 Coast 1910 102 David J02
3 Satelite 1920 103 June J02
104 Anne J03

ProjectWork Rate

ID (PK) ProNum (FK) EmpNum (FK) HourBill TotChar JobClassID (PK) JobClass ChgHour
01 1 101 13 845 J01 Elect.Eng 65
02 1 102 16 960 J02 Comm.Tech 60
03 1 104 19 1140 J03 Biol.Eng 55
04 2 101 15 975
05 2 103 17 935
06 3 104 18 1080
07 3 102 14 840

You might also like