Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Database Normalization
Data Anomalies Caused by:
Update, Insertion, Deletion
Brief History/Overview
1st Normal Form
2nd Normal Form
3rd Normal Form
Conclusion
Database Normalization
The main goal of Database Normalization is to
Data Anomalies
Data anomalies are inconsistencies in the
Brief History/Overview
Database Normalization was first proposed by
Edgar F. Codd.
Dependencies: Definitions
Multivalued Attributes (or repeating
General Hardware
Company: Unnormalized
Data
Salesperson
Number
Product
Number
137 19440
24013
26722
186 16386
19440
21765
24013
204 21765
26722
361 16386
21765
26722
Salesperson
Name
Commission
Percentage
Baker
10
Adams
Dickens
Carlyle
Year Department
of
Number
Manager Product
Hire
Name
Name
1995
73 Scott
Hammer
Saw
Pliers
15 2001
59 Lopez
Wrench
Hammer
Drill
Saw
10 1998
73 Scott
Drill
Pliers
20 2001
73 Scott
Wrench
Drill
Pliers
Unit
Price Quantity
17.50
473
26.25
170
11.50
688
12.95
1745
17.50
2529
32.99
1962
26.25
3071
32.99
809
11.50
734
12.95
3729
32.99
3110
11.50
2738
SALESPERSON/PRODUCTTable
General Hardware
Company: First Normal Form
SALESPERSON/PRODUCTTable
7-7
Dependencies:
determinant
Definitions:Functional
Dependency
Salesperson Number
dependan
t
Salesperson Name
Dependencies: Definitions
Partial Dependency when an non-key attribute is
Dependencies: Definitions
10
11
Example 1: Determine NF
ISBN Title
ISBN Publisher
Publisher Address
BOOK
ISBN
Title
Publisher
Address
12
Example 1: Determine NF
ISBN Title
ISBN Publisher
Publisher Address
BOOK
ISBN
Title
Publisher
Address
13
Example 1: Determine NF
ISBN Title
ISBN Publisher
Publisher Address
BOOK
ISBN
Title
Publisher
Address
14
Example 1: Determine NF
ISBN Title
ISBN Publisher
Publisher Address
BOOK
ISBN
Title
Publisher
Address
15
Example 1: Determine NF
ISBN Title
ISBN Publisher
Publisher Address
BOOK
ISBN
Title
Publisher
Address
16
Example 2: Determine NF
Product_ID Description
All attributes are directly or
indirectly determined by the
primary key; therefore, the relation
is at least in 1 NF
ORDER
Order_No
Product_ID
Description
17
Example 2: Determine NF
Product_ID Description
ORDER
Order_No
Product_ID
Description
18
Example 2: Determine NF
Product_ID Description
We know that the relation is at least
in 1NF, and it is not in 2 NF.
Therefore, we conclude that the
relation is in 1 NF.
ORDER
Order_No
Product_ID
Description
19
Example 2: Determine NF
Product_ID Description
ORDER
Order_No
Product_ID
Description
20
Example
3:
Determine
NF
Part_ID Description
Part_ID Price
Part_ID, Comp_ID No
PART
Part_ID
Descr
Price
Comp_ID
No
21
Example 3: Determine NF
In your solution you will write
Part_ID Description
the following justification:
1) There are M/V attributes;
Part_ID Price
therefore, not 1NF
Part_ID, Comp_ID No Conclusion: The relation is not
normalized.
PART
Part_ID
Descr
Price
Comp_ID
No
22
Bringing a Relation to
1NF
23
Bringing a Relation to
1NF
Option 1: Make a determinant of the
repeating group (or the multivalued
attribute) a part of the primary key.
Composite
Primary Key
24
Bringing a Relation to
1NF
Option 2: Remove the entire repeating group
25
Bringing a Relation to
1NF
STUDENT_COURSE
Stud_ID
Course
Units
101
MSI 250
101
MSI 415
125
MSI 331
26
Bringing a Relation to
2NF
Composite
Primary Key
27
Bringing a Relation to
2NF
Goal: Remove Partial Dependencies
Composite
Primary Key
Partial
Dependencies
28
Bringing a Relation to
2NF
Remove attributes that are dependent from the part
29
Course_ID
101
MSI 250
101
MSI 415
125
MSI 331
COURSE
Course_ID
Units
MSI 250
3.00
MSI 415
3.00
MSI 331
3.00
30
Bringing a Relation to
3NF
Goal: Get rid of transitive dependencies.
Transitive
Dependency
31
Bringing a Relation to
Remove the attributes, which are dependent on a
3NF
32
DEPARTMENT
Dept_ID Dept_Name
1
Acct
Mktg
33
Conclusion
We have seen how Database Normalization
34