Sie sind auf Seite 1von 23

Chapter 5

Normalization
of
Database
Tables

Normalization of Database Tables

CHAPTER 6

Database
Systems
Rob &
Coronel 1
Chapter 5
Normalization Chapter Objectives
of
Database
Tables

 Understand concepts of normalization


 Learn how to normalize tables

Database
Systems
Rob &
Coronel 2
Chapter 5
Normalization Database Tables and Normalization
of
Database
Tables
 Normalization is a process for assigning attributes
to entities.
 It reduces data redundancies.
 An unnormalized relation (table) stores redundant
data, which can cause insertion, deletion, and
modification anomalies.
 In simple words: Normalization means keeping a
single copy of data in your database.
 Normalization theory provides a step by step
method to remove redundant data and undesirable
Database
table structures.
Systems
Rob &
Coronel 3
Chapter 5
Normalization Normal Forms
of
Database
Tables
 Tables are normalized by applying rules to create a
series of normal forms:
 Firstnormal form (1NF)
 Second normal form (2NF)
 Third normal form (3NF)
 Boyce/Codd normal form (BCNF)
 Fourth normal form (4NF)
 Projection Join normal form (PJNF, aka 5NF)

 A table or relation in a higher level normal form


always conforms to lower level normal forms.
Database
Systems
Rob &
Coronel 4
Chapter 5
Normalization Normal Forms
of
Database
Tables
1NF Relations

2NF Relations

3NF Relations

BCNF Relations

4NF Relations

PJ/NF (5NF) Relations

Database  While higher level normal forms are available,


Systems
Rob & normalization up to BCNF is often found to be adequate
Coronel 5
for business data.
Chapter 5
Normalization First Normal Form
of
Database
Tables
 A relation is in 1NF if
 All underlying domains contain atomic values only, i.e., the
intersection of each row and column contains one and only one
value – no repeating groups
 The primary key is defined

PNo PName ENo EName Jcode ChgHr Hrs


1 Alpha 101 John Doe NE $65 20
105 Jane Vo SA $80 15
110 Bob Lund CP $60 40
2 Beta 101 John Doe NE $65 20
108 Jeb Lee NE $65 15
106 Sara Lee SA $80 20
3 Omega 102 Beth Reed PM $125 20
105 Jane Vo SA $80 10
Database
Systems
Rob &
Coronel
Is the above relation in 1NF? 6
Chapter 5
Normalization First Normal Form
of
Database
Tables
 The previous relation can be converted into first
normal form by adding Pno and Pname to each row.

PNo PName ENo EName Jcode ChgHr Hrs


1 Alpha 101 John Doe NE $65 20
1 Alpha 105 Jane Vo SA $80 15
1 Alpha 110 Bob Lund CP $60 40
2 Beta 101 John Doe NE $65 20
2 Beta 108 Jeb Lee NE $65 15
2 Beta 106 Sara Lee SA $80 20
3 Omega 102 Beth Reed PM $125 20
3 Omega 105 Jane Vo SA $80 10

What is the primary key in this relation?


Database Do you see redundant data in this table?
Systems
Rob & What anomalies could be caused?
Coronel 7
Chapter 5
Normalization Functional Dependency Revisited
of
Database
Tables
 If A and B are attributes (or group of attributes) of
a relation R, B is functionally dependent on A
(denoted A B), if each value of A in R is
associated with exactly one value of B in R.
 A is called a determinant.
 Consider the relation
 Student (ID, Name, Soc Sec Nbr, Major, Deptmt)
 Assume a department offers several majors, e.g.
INSY department offers, INSY, MASI, and POMA
majors.
 How many determinants can you identify in
Database
Systems Student?
Rob &
Coronel 8
Chapter 5
Normalization Functional Dependency Revisited
of
Database
Tables
 A Dependency diagram

ID Name Soc Sec Nbr Major Deptmt

Database
Systems
Rob &
Coronel 9
Chapter 5
Normalization Functional Dependency Revisited
of
Database
Tables
 Full functional dependency
 Attribute B is fully functionally dependent on
attribute A if it is functionally dependent on A and
not functionally dependent on any proper subset of
A.
 This becomes an issue only with composite keys.

 Transitive dependency
 A, B and C are attributes of a relation such that
A B and B C, then C is transitively dependent on
A via B (provided that A is not functionally
dependent on B or C)
Database
Systems
Rob &
Coronel 10
Chapter 5
Normalization Second Normal Form
of
Database
Tables
 Dependency diagram for Project

PNo PName ENo EName JCode ChgHr Hrs

Database
Systems
Rob &
Coronel 11
Chapter 5
Normalization Second Normal Form
of
Database
Tables
 A relation is in 2NF if:
 It is in 1NF and
 every nonkey attribute is fully dependent on the
primary key, i.e., no partial dependency.
 A nonkey attribute is one that is not a primary key or
part of a primary key.
 We create new relations that are in 2NF through
projection of the original relation.
 Project(PNo, PName)
 Employee(ENo, EName, Jcode, ChgHr)
 Charge(PNo, ENo, Hrs)
Database
Systems
Rob &
Coronel 12
Chapter 5
Normalization Second Normal Form
of
Database
Tables
 Tables in 2NF Charge
Project PNo ENo Hrs
PNo PName 1 101 20
1 Alpha 1 105 15
2 Beta 1 110 40
3 Omega 2 101 20
2 108 15
2 106 20
Employee 3 102 20
ENo EName JCode ChgHr 3 105 10
101 John Doe NE $65
102 Beth Reed PM $125
105 Jane Vo SA $80
106 Sara Lee SA $80
108 Jeb Lee NE $65
110 Bob Lund CP $60
Database
Systems
Rob &
Coronel 13
Chapter 5
Normalization Second Normal Form
of
Database
Tables
 Note that the original relation can be recreated
through natural join of the new relation.
 Thus, no information is lost in the process of
creating 2NF relations from a 1NF relation. This is
called nonloss decomposition.
 If a relation that is in 1NF has a non composite
primary key (i.e., the primary key consists of a
single attribute) what can you say about its status
with regard to 2NF?
 Do you see any redundant data in the tables that are
in 2NF?
Database
Systems
Rob &  What anomalies could be caused by such
Coronel 14
redundancy?
Chapter 5
Normalization Third Normal Form
of
Database
Tables
 A relation is in 3NF if:
 It is in 2NF and
 every nonkey attribute is nontransitively
dependent on the primary key (i.e., no transitive
dependency).
 Relation Employee has a transitive dependency:
 ENo JCode ChgHr
 Employee can be replaced by two relations, that are
in 3NF:
 Employee(ENo, EName, Jcode)
Database
Systems  Job(JCode, ChgHr)
Rob &
Coronel 15
Chapter 5
Normalization Third Normal Form
of
Database
Tables
 Tables in 3NF Charge
Project PNo ENo Hrs
PNo PName 1 101 20
1 Alpha 1 105 15
2 Beta 1 110 40
3 Omega 2 101 20
2 108 15
2 106 20
3 102 20
Employee 3 105 10
ENo EName Jcode
101 John Doe NE Job
102 Beth Reed PM Jcode ChgHr
105 Jane Vo SA CP $60
106 Sara Lee SA NE $65
Database 108 Jeb Lee NE PM $125
Systems 110 Bob Lund CP SA $80
Rob &
Coronel 16
Chapter 5
Normalization Boyce-Codd Normal Form
of
Database
Tables
 A relation is in BCNF if
 every determinant is a candidate key.
 A determinant is an attribute (combination of attributes) on
which some other attribute is fully functionally dependent.
 BCNF is a special case of 3NF.
 The potential to violate BCNF may occur in a
relation that:
 contains two (or more) composite candidate keys,
 these keys overlap and share at least one attribute.

 Thus, if a table contains only one candidate key or


only non-composite keys, then 3NF and BCNF are
Database
Systems
Rob &
equivalent.
Coronel 17
Chapter 5
Normalization Boyce-Codd Normal Form
of
Database
Tables
 Consider the following example:
 The members of a recruiting team interview
candidates on a one-to-one basis. Each member is
assigned a particular room on a given date. Each
candidate is interviewed only once on a specific
date. He/she may return for follow up interviews on
later dates.
 Interview (CID, IDate, ITime, StaffID, RmNo)

CID IDate ITime StaffID RmNo


C01 8-22-99 10:00 S01 B107
C02 8-22-99 11:00 S01 B107
C03 8-22-99 10:00 S05 B108
Database C01 8-29-99 3:00 S06 B108
Systems
Rob &
Coronel 18
Chapter 5
Normalization Boyce-Codd Normal Form
of
Database
Tables
 This relation has following functional
dependencies:
 CID, IDate ITime, StaffID, RmNo
 StaffID, IDate, ITime CID, RmNo
 StaffID, IDate RmNo
 This relation does not have any partial or transitive
dependencies on the primary key (CID, IDate)
 It is not in BCNF because (StaffID, Idate) is a
determinant but not a candidate key.
 The new relations in BCNF are:
Database  Interview
(CID, IDate, ITime, StaffID)
Systems
Rob &  Room(StaffID, IDate, RmNo) 19
Coronel
Chapter 5
Normalization Fourth Normal Form
of
Database
Tables
 A table is in 4NF if
 itis in 3NF and
 has no multiple sets of multivalued dependencies.

 Consider the following example:


 Each course is taught by many teachers and requires
many texts.
CTXU (Unnormalized) CTXN (Normalized)
Course Teacher Text Course Teacher Text
Physics Green Basic Mechanics Physics Green Basic Mechanics
Brown Intro to Optics Physics Green Intro to Optics
Math White Modern Algebra Physics Brown Basic Mechanics
Intro to Calculus Physics Brown Intro to Optics
Database Math White Modern Algebra
Systems
Rob &
Math White Intro to Calculus
Coronel 20
Chapter 5
Normalization Fourth Normal Form
of
Database
Tables
 CTXN is in BCNF, because it is all key and there
are no other functional dependencies.
 It, however, has redundant data that could cause
update anomalies.
 This table shows two multivalued dependencies:
 Each course has a defined set of teachers and
 Course Teacher
 Each course has a defined set of textbooks.
 Course Text
 MVDs can exist only when the relation has at least
Database
three attributes.
Systems
Rob &  An FD is a special case of MVD when the set of
Coronel 21
dependent values has a single value.
Chapter 5
Normalization Fourth Normal Form
of
Database
Tables
 Tables in 4NF
CX
CT
Course Text
Course Teacher
Physics Basic Mechanics
Physics Green
Physics Intro to Optics
Physics Brown
Math Modern Algebra
Math White
Math Intro to Calculus

Database
Systems
Rob &
Coronel 22
Chapter 5
Normalization Denormalization
of
Database
Tables
 Normalized (decomposed) tables require additional
processing, thus reducing system speed.
 Sometimes normalization is not done keeping in
mind processing speed requirements and practical
aspects of the situation.
 A good example is: storing Zip code and City as
attributes in a Customer relation violates 3NF
because City is transitively dependent on Cust ID
via Zip Code.
 Why should we not create a separate relation
ZIP (ZipCode, City)?
Database
Systems
Rob &
Coronel 23

Das könnte Ihnen auch gefallen