Here are the steps to bring the STUDENT relation to 1NF:
1. Create a new relation called ENROLLMENT with attributes:
Stud_ID, Course_ID, Units
2. Make (Stud_ID, Course_ID) the primary key of ENROLLMENT
3. Remove the repeating group (Course_ID, Units) from STUDENT
4. The STUDENT relation now only contains Stud_ID and Name
with Stud_ID as the primary key
This removes the multivalued attribute and puts the relations
in 1NF by having each row represent a unique fact.
20
5
Bringing a Relation to 2NF
CUSTOMER
1 of 27
Downloaded 92 times
More Related Content
Normalization
1. 5
Database Design 1:
Some Normalization Examples
1
2. 5
Dependencies: Definitions
x Multivalued Attributes (or repeating groups): non-
key attributes or groups of non-key attributes the
values of which are not uniquely identified by
(directly or indirectly) (not functionally dependent on)
the value of the Primary Key (or its part).
STUDENT
Stud_ID Name Course_ID Units
101 Lennon MSI 250 3.00
101 Lennon MSI 415 3.00
125 Johnson MSI 331 3.00
2
3. 5
Dependencies: Definitions
x Partial Dependency when an non-key
attribute is determined by a part, but not the
whole, of a COMPOSITE primary key.
Partial
CUSTOMER Dependency
Cust_ID Name Order_ID
101 AT&T 1234
101 AT&T 156
125 Cisco 1250
3
4. 5
Dependencies: Definitions
x Transitive Dependency when a non-
key attribute determines another non-key
attribute. Transitive
Dependency
EMPLOYEE
Emp_ID F_Name L_Name Dept_ID Dept_Name
111 Mary Jones 1 Acct
122 Sarah Smith 2 Mktg
4
5. 5
Normal Forms: Review
x Unnormalized There are multivalued
attributes or repeating groups
x 1 NF No multivalued attributes or
repeating groups.
x 2 NF 1 NF plus no partial
dependencies
x 3 NF 2 NF plus no transitive
dependencies
5
6. 5
Example 1: Determine NF
All attributes are directly
x ISBN Title or indirectly determined
x ISBN Publisher by the primary key;
therefore, the relation is
x Publisher Address at least in 1 NF
BOOK
ISBN Title Publisher Address
6
7. 5
Example 1: Determine NF
The relation is at least in 1NF.
x ISBN Title There is no COMPOSITE
x ISBN Publisher primary key, therefore there
cant be partial dependencies.
x Publisher Address Therefore, the relation is at
least in 2NF
BOOK
ISBN Title Publisher Address
7
8. 5
Example 1: Determine NF
Publisher is a non-key attribute,
x ISBN Title and it determines Address,
x ISBN Publisher another non-key attribute.
Therefore, there is a transitive
x Publisher Address dependency, which means that
the relation is NOT in 3 NF.
BOOK
ISBN Title Publisher Address
8
9. 5
Example 1: Determine NF
We know that the relation is at
x ISBN Title least in 2NF, and it is not in 3
x ISBN Publisher NF. Therefore, we conclude
that the relation is in 2NF.
x Publisher Address
BOOK
ISBN Title Publisher Address
9
10. 5
Example 1: Determine NF
x ISBN Title In your solution you will write the
following justification:
x ISBN Publisher No M/V attributes, therefore at
x Publisher least 1NF
No partial dependencies,
Address therefore at least 2NF
There is a transitive dependency
(Publisher Address), therefore,
not 3NF
Conclusion: The relation is in 2NF
BOOK
ISBN Title Publisher Address
10
11. 5
Example 2: Determine NF
x 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
11
12. 5
Example 2: Determine NF
x Product_ID Description
The relation is at least in 1NF.
There is a COMPOSITE Primary Key (PK)
(Order_No, Product_ID), therefore there can be
partial dependencies. Product_ID, which is a part
of PK, determines Description; hence, there is a
partial dependency. Therefore, the relation is not
2NF. No sense to check for transitive
dependencies!
ORDER
Order_No Product_ID Description
12
13. 5
Example 2: Determine NF
x 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
13
14. 5
Example 2: Determine NF
x Product_ID
Description In your solution you will write the
following justification:
1) No M/V attributes, therefore at least
1NF
2) There is a partial dependency
(Product_ID Description), therefore
not in 2NF
Conclusion: The relation is in 1NF
ORDER
Order_No Product_ID Description
14
15. 5
Example 3: Determine NF
x Part_ID Description Comp_ID and No are not
x Part_ID Price determined by the primary
key; therefore, the relation
x Part_ID, Comp_ID No is NOT in 1 NF. No sense
in looking at partial or
transitive dependencies.
PART
Part_ID Descr Price Comp_ID No
15
16. 5
Example 3: Determine NF
In your solution you will write
x Part_ID Description the following justification:
2) There are M/V attributes;
x Part_ID Price
therefore, not 1NF
x Part_ID, Comp_ID No Conclusion: The relation is not
normalized.
PART
Part_ID Descr Price Comp_ID No
16
17. 5
Bringing a Relation to 1NF
STUDENT
Stud_ID Name Course_ID Units
101 Lennon MSI 250 3.00
101 Lennon MSI 415 3.00
125 Johnson MSI 331 3.00
17
18. 5
Bringing a Relation to 1NF
x Option 1: Make a determinant of the
repeating group (or the multivalued
attribute) a part of the primary key.
Composite
Primary Key
STUDENT
Stud_ID Name Course_ID Units
101 Lennon MSI 250 3.00
101 Lennon MSI 415 3.00
125 Johnson MSI 331 3.00
18
19. 5
Bringing a Relation to 1NF
x Option 2: Remove the entire repeating group from
the relation. Create another relation which would
contain all the attributes of the repeating group, plus
the primary key from the first relation. In this new
relation, the primary key from the original relation
and the determinant of the repeating group will
comprise a primary key.
STUDENT
Stud_ID Name Course_ID Units
101 Lennon MSI 250 3.00
101 Lennon MSI 415 3.00
125 Johnson MSI 331 3.00
19
20. 5
Bringing a Relation to 1NF
STUDENT
Stud_ID Name
101 Lennon
125 Jonson
STUDENT_COURSE
Stud_ID Course Units
101 MSI 250 3
101 MSI 415 3
125 MSI 331 3
20
21. 5
Bringing a Relation to 2NF
Composite
Primary Key
STUDENT
Stud_ID Name Course_ID Units
101 Lennon MSI 250 3.00
101 Lennon MSI 415 3.00
125 Johnson MSI 331 3.00
21
22. 5
Bringing a Relation to 2NF
x Goal: Remove Partial Dependencies
Partial
Composite Dependencies
Primary Key
STUDENT
Stud_ID Name Course_ID Units
101 Lennon MSI 250 3.00
101 Lennon MSI 415 3.00
125 Johnson MSI 331 3.00
22
23. 5
Bringing a Relation to 2NF
x Remove attributes that are dependent from the part
but not the whole of the primary key from the original
relation. For each partial dependency, create a new
relation, with the corresponding part of the primary
key from the original as the primary key.
STUDENT
Stud_ID Name Course_ID Units
101 Lennon MSI 250 3.00
101 Lennon MSI 415 3.00
125 Johnson MSI 331 3.00
23
24. 5
Bringing a Relation to 2NF
CUSTOMER
STUDENT_COURSE
Stud_ID Name Course_ID Units
101 Lennon MSI 250 3.00
101 Lennon MSI 415 3.00
125 Johnson MSI 331 3.00 Stud_ID Course_ID
101 MSI 250
101 MSI 415
125 MSI 331
COURSE
Stud_ID Name
101 Lennon
Course_ID Units
125 Johnson
MSI 250 3.00
MSI 415 3.00
MSI 331 3.00
24
25. 5
Bringing a Relation to 3NF
x Goal: Get rid of transitive dependencies.
Transitive
Dependency
EMPLOYEE
Emp_ID F_Name L_Name Dept_ID Dept_Name
111 Mary Jones 1 Acct
122 Sarah Smith 2 Mktg
25
26. 5
Bringing a Relation to 3NF
x Remove the attributes, which are dependent on a
non-key attribute, from the original relation. For each
transitive dependency, create a new relation with the
non-key attribute which is a determinant in the
transitive dependency as a primary key, and the
dependent non-key attribute as a dependent.
EMPLOYEE
Emp_ID F_Name L_Name Dept_ID Dept_Name
111 Mary Jones 1 Acct
122 Sarah Smith 2 Mktg
26
27. 5
Bringing a Relation to 3NF
EMPLOYEE
Emp_ID F_Name L_Name Dept_ID Dept_Name
111 Mary Jones 1 Acct
122 Sarah Smith 2 Mktg
EMPLOYEE
Emp_ID F_Name L_Name Dept_ID
111 Mary Jones 1
122 Sarah Smith 2
DEPARTMENT
Dept_ID Dept_Name
1 Acct
2 Mktg
27