You are on page 1of 54

Chapter 5

Functional Dependencies and


Normalization for Relational
Databases

Copyright © 2004 Pearson Education, Inc.


Chapter Outline
1 Informal Design Guidelines for Relational Databases
1.1Semantics of the Relation Attributes
1.2 Redundant Information in Tuples and Update Anomalies
1.3 Null Values in Tuples
1.4 Spurious Tuples
2 Functional Dependencies (FDs)
2.1 Definition of FD
2.2 Inference Rules for FDs
2.3 Equivalence of Sets of FDs
2.4 Minimal Sets of FDs

Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 10-2


Copyright © 2004 Ramez Elmasri and Shamkant Navathe
Chapter Outline(contd.)
3 Normal Forms Based on Primary Keys
3.1 Normalization of Relations
3.2 Practical Use of Normal Forms
3.3 Definitions of Keys and Attributes Participating in Keys
3.4 First Normal Form
3.5 Second Normal Form
3.6 Third Normal Form
4 General Normal Form Definitions (For Multiple
Keys)
5 BCNF (Boyce-Codd Normal Form)
Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 10-3
Copyright © 2004 Ramez Elmasri and Shamkant Navathe
1 Informal Design Guidelines for
Relational Databases (1)

 What is relational database design?


The grouping of attributes to form "good" relation schemas
  Two levels of relation schemas
– The logical "user view" level
– The storage "base relation" level
  Design is concerned mainly with base relations
  What are the criteria for "good" base relations? 

Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 10-4


Copyright © 2004 Ramez Elmasri and Shamkant Navathe
Informal Design Guidelines for
Relational Databases (2)
 We first discuss informal guidelines for good
relational design
 Then we discuss formal concepts of functional
dependencies and normal forms
- 1NF (First Normal Form)
- 2NF (Second Normal Form)
- 3NF (Third Normal Form)
- BCNF (Boyce-Codd Normal Form)

Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 10-5


Copyright © 2004 Ramez Elmasri and Shamkant Navathe
1.1 Semantics of the Relation
Attributes
GUIDELINE 1: Informally, each tuple in a relation
should represent one entity or relationship instance.
(Applies to individual relations and their attributes).
 Attributes of different entities (EMPLOYEEs, DEPARTMENTs,
PROJECTs) should not be mixed in the same relation
 Only foreign keys should be used to refer to other entities
  Entity and relationship attributes should be kept apart as much as
possible.
Bottom Line: Design a schema that can be explained
easily relation by relation. The semantics of
attributes should be easy to interpret.

Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 10-6


Copyright © 2004 Ramez Elmasri and Shamkant Navathe
Figure 5.1 A simplified COMPANY relational database schema

Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 10-7


Copyright © 2004 Ramez Elmasri and Shamkant Navathe
1.2 Redundant Information in
Tuples and Update Anomalies
 Mixing attributes of multiple entities may cause
problems
 Information is stored redundantly wasting storage
 Problems with update anomalies
– Insertion anomalies
– Deletion anomalies
– Modification anomalies

Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 10-8


Copyright © 2004 Ramez Elmasri and Shamkant Navathe
EXAMPLE OF AN UPDATE
ANOMALY (1)
Consider the relation:
EMP_PROJ ( Emp#, Proj#, Ename, Pname, No_hours)
 
 Update Anomaly: Changing the name of project
number P1 from “Billing” to “Customer-
Accounting” may cause this update to be made for
all 100 employees working on project P1.

Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 10-9


Copyright © 2004 Ramez Elmasri and Shamkant Navathe
EXAMPLE OF AN UPDATE
ANOMALY (2)
 Insert Anomaly: Cannot insert a project unless
an employee is assigned to .
Inversely - Cannot insert an employee unless an
he/she is assigned to a project.
  Delete Anomaly: When a project is deleted, it
will result in deleting all the employees who work
on that project. Alternately, if an employee is the
sole employee on a project, deleting that employee
would result in deleting the corresponding project.
Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 10-10
Copyright © 2004 Ramez Elmasri and Shamkant Navathe
Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 10-11
Copyright © 2004 Ramez Elmasri and Shamkant Navathe
Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 10-12
Copyright © 2004 Ramez Elmasri and Shamkant Navathe
Guideline to Redundant Information
in Tuples and Update Anomalies
 GUIDELINE 2: Design a schema that does not
suffer from the insertion, deletion and update
anomalies. If there are any present, then note them
so that applications can be made to take them into
account

Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 10-13


Copyright © 2004 Ramez Elmasri and Shamkant Navathe
1.3 Null Values in Tuples

GUIDELINE 3: Relations should be designed such


that their tuples will have as few NULL values as
possible
  Attributes that are NULL frequently could be
placed in separate relations (with the primary key)
  Reasons for nulls:
– attribute not applicable or invalid
– attribute value unknown (may exist)
– value known to exist, but unavailable

Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 10-14


Copyright © 2004 Ramez Elmasri and Shamkant Navathe
1.4 Spurious Tuples

 Bad designs for a relational database may result in


erroneous results for certain JOIN operations
 The "lossless join" property is used to guarantee
meaningful results for join operations

GUIDELINE 4: The relations should be designed to


satisfy the lossless join condition. No spurious
tuples should be generated by doing a natural-join
of any relations.

Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 10-15


Copyright © 2004 Ramez Elmasri and Shamkant Navathe
Spurious Tuples (2)

 There are two important properties of decompositions:


(a) non-additive or losslessness of the corresponding
join
(b) preservation of the functional dependencies.

Note that property (a) is extremely important and


cannot be sacrificed. Property (b) is less stringent
and may be sacrificed. (See Chapter 11).

Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 10-16


Copyright © 2004 Ramez Elmasri and Shamkant Navathe
2.1 Functional Dependencies (1)

Functional dependency describes the


relationship between attributes in a
relation

Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 10-17


Copyright © 2004 Ramez Elmasri and Shamkant Navathe
 Functional dependencies (FDs) are used to specify
formal measures of the "goodness" of relational
designs
 FDs and keys are used to define normal forms for
relations
 FDs are constraints that are derived from the
meaning and interrelationships of the data attributes
 A set of attributes X functionally determines a set of
attributes Y if the value of X determines a unique
value for Y

Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 10-18


Copyright © 2004 Ramez Elmasri and Shamkant Navathe
Functional Dependencies (2)

 X -> Y holds if whenever two tuples have the same value


for X, they must have the same value for Y
 For any two tuples t1 and t2 in any relation instance r(R): If
t1[X]=t2[X], then t1[Y]=t2[Y]
 X -> Y in R specifies a constraint on all relation instances
r(R)
 Written as X -> Y; can be displayed graphically on a
relation schema as in Figures. ( denoted by the arrow: ).
 FDs are derived from the real-world constraints on the
attributes

Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 10-19


Copyright © 2004 Ramez Elmasri and Shamkant Navathe
Examples of FD constraints (1)

 social security number determines employee name


SSN -> ENAME
 project number determines project name and
location
PNUMBER -> {PNAME, PLOCATION}
 employee ssn and project number determines the
hours per week that the employee works on the
project
{SSN, PNUMBER} -> HOURS

Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 10-20


Copyright © 2004 Ramez Elmasri and Shamkant Navathe
Eg:
R = ( studid, name, courseno, course_name, dept,
Dhead )
– Given a student_ID, we can determine
the student name)
(note that given a student name we cannot
determine the student_ID)
– Given a course_ID, we can determine
the course name.
– X  Y X functionally determines Y
F = { studID  Name, courseno  course_Name }

Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 10-21


Copyright © 2004 Ramez Elmasri and Shamkant Navathe
Examples of FD constraints (2)

 An FD is a property of the attributes in the schema


R
 The constraint must hold on every relation
instance r(R)
 If K is a key of R, then K functionally determines
all attributes in R (since we never have two
distinct tuples with t1[K]=t2[K])

Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 10-22


Copyright © 2004 Ramez Elmasri and Shamkant Navathe
2.2 Inference Rules for FDs (1)

 Given a set of FDs F, we can infer additional FDs


that hold whenever the FDs in F hold
 Armstrong's inference rules:
IR1. (Reflexive) If Y subset-of X, then X -> Y
IR2. (Augmentation) If X -> Y, then XZ -> YZ
(Notation: XZ stands for X U Z)
IR3. (Transitive) If X -> Y and Y -> Z, then X -> Z

  IR1, IR2, IR3 form a sound and complete set of


inference rules

Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 10-23


Copyright © 2004 Ramez Elmasri and Shamkant Navathe
Inference Rules for FDs (2)

Some additional inference rules that are useful:


(Decomposition) If X -> YZ, then X -> Y and X -> Z
(Union) If X -> Y and X -> Z, then X -> YZ
(Psuedotransitivity) If X -> Y and WY -> Z, then WX -> Z

  The last three inference rules, as well as any other


inference rules, can be deduced from IR1, IR2,
and IR3 (completeness property)

Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 10-24


Copyright © 2004 Ramez Elmasri and Shamkant Navathe
3 Normal Forms Based on Primary
Keys
3.1 Normalization of Relations
3.2 Practical Use of Normal Forms
3.3 Definitions of Keys and Attributes
Participating in Keys
3.4 First Normal Form
3.5 Second Normal Form
3.6 Third Normal Form

Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 10-25


Copyright © 2004 Ramez Elmasri and Shamkant Navathe
Relation Decomposition
 Redundancy arises when a relational schema forces an association
between attributes that is not natural.
 Functional dependencies and other integrity constraints can be
used to identify such situations and suggest refinements to the
schema.
 Many problems arising from redundancy can be addressed by
replacing a relation with a collection of smaller relations.
 decomposition of a relation schema R consists of replacing the
relation schema by two (or more) relation schemas that each contain
a subset of the attributes of R and together include all attributes in R.
 Decomposing a relation schema can create more problems than it
solves. Two important questions must be asked repeatedly:
 Do we need to decompose a relation?
 What problems ( if any) does a given decomposition cause?

Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition


Copyright © 2004 Ramez Elmasri and Shamkant Navathe
Chapter 10-26
Relation Decomposition
 To help with the first question, several normal forms have been
proposed for relations.
 Considering the normal forms of a given relation schema can
help us to decide whether or not to decompose it further.
 If we decide that a relation schema must be decomposed further,
we must choose a particular decomposition (I.e., a particular
collection of smaller relations to replace the given relation).
 With respect to the second question, two properties of
decompositions are of particular interest.
– The lossless-join property enables us to recover any instance of the
decomposed relation from corresponding instances of the smaller
relations.
– The dependency-reservation property enables us to enforce any constraint
on the original relation by simply enforcing Same constraints on each of
the smaller relations.

Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition


Copyright © 2004 Ramez Elmasri and Shamkant Navathe
Chapter 10-27
3.1 Normalization of Relations (1)
 Normalization: The process of decomposing
unsatisfactory "bad" relations by breaking up their
attributes into smaller relations
 Normalization is a technique for producing a set
of relations with desirable properties, given the
data requirements of an enterprise.
 The process of normalization is a formal method
that identifies relations based on their primary key.
 Normal form: Condition using keys and FDs of a
relation to certify whether a relation schema is in a
particular normal form

Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 10-28


Copyright © 2004 Ramez Elmasri and Shamkant Navathe
Unnormalized Form (UNF)
 A table that contains one or more
repeating groups.
 A repeating group is a field or group of
fields that hold multiple values for a single
occurrence of a field.
 To create an unnormalized table
– Transform the data from the information
source (e.g. form) into table format with
columns and rows.

21

Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 10-29


Copyright © 2004 Ramez Elmasri and Shamkant Navathe
studid name courseid coursename dept dhead

123 Abebe M Comp 311 Organization Com. sc. Bekele


Comp 231 Programming I Comp. Sc. Bekele
Math 211 Algebra Mathematics Woldu
Mtpa 123 organization management Tsega

234 Worku K. Comp 231 Programming I Comp. Sc. Bekele


Comp 351 database Comp. Sc. Bekele

345 Abebe W. Comp 311 Organization Com. sc. Bekele


Math 211 Algebra Mathematics Woldu
Mtpa 123 Organization management Tsega

Repeating group = (courseid,coursename,dept,dhead)

Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 10-30


Copyright © 2004 Ramez Elmasri and Shamkant Navathe
Practical Use of Normal Forms

 Normalization is carried out in practice so that the


resulting designs are of high quality and meet the desirable
properties
 The practical utility of these normal forms becomes
questionable when the constraints on which they are based
are hard to understand or to detect
 The database designers need not normalize to the highest
possible normal form. (usually up to 3NF, BCNF or 4NF)
 Denormalization: the process of storing the join of higher
normal form relations as a base relation—which is in a
lower normal form

Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 10-31


Copyright © 2004 Ramez Elmasri and Shamkant Navathe
3.3 Definitions of Keys and Attributes
Participating in Keys (1)
 A superkey of a relation schema R = {A1, A2, ....,
An} is a set of attributes S subset-of R with the
property that no two tuples t1 and t2 in any legal
relation state r of R will have t1[S] = t2[S]

 A key K is a superkey with the additional


property that removal of any attribute from K will
cause K not to be a superkey any more.

Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 10-32


Copyright © 2004 Ramez Elmasri and Shamkant Navathe
Definitions of Keys and Attributes
Participating in Keys (2)
 If a relation schema has more than one key, each
is called a candidate key. One of the candidate
keys is arbitrarily designated to be the primary
key, and the others are called secondary keys.
 A Prime attribute must be a member of some
candidate key
 A Nonprime attribute is not a prime attribute—
that is, it is not a member of any candidate key.

Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 10-33


Copyright © 2004 Ramez Elmasri and Shamkant Navathe
Problems caused by unnormalized forms
 Redundant storage (repeating groups)
 Potential inconsistency (eg. Spelling errors)
 Anomalies
 Insertion anomaly
To insert details of a new department that do not have any
students yet into the student-course relation, we must enter
nulls into the attributes for studid. However, as studid is the
primary key, null is not allowed. We have to wait until
students are registered
 Deletion anomaly : if we delete a row from the stud-course
relation that represents the studid=234, the details about the
database course are also lost.
 Update anomaly :head of the Department of Information
Science is changed to Amare?
Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 10-34
Copyright © 2004 Ramez Elmasri and Shamkant Navathe
Normalization
 Normalization
– Reduces data redundancies
– Helps eliminate data anomalies
– Produces controlled redundancies to link tables
 Normalization stages
– 1NF, 2NF, 3NF, BCNF, 4NF,
– Normalization is often done as a series of steps.
– Each normal form involves a set of rules that can be tested
against each table in the system.
– If a table violates the rules of some normal form, then we
decompose the table in to tables that individually meet the
requirements of normalization.
– Each higher form of normalization is based on the form prior
to it
Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 10-35
Copyright © 2004 Ramez Elmasri and Shamkant Navathe
1NF
 A relation is in 1NF if it contains no multi-valued attributes and the
intersections of each row and column contains one & only one
value.
 It disallows multivalued attributes, composite attributes, and their
combinations.
 It states that the domain of an attribute must include only atomic
(simple, indivisible) values and that the value of any attribute in a
tuple must be a single value from the domain of that attribute.
 Hence, 1NF disallows having a set of values, a tuple of values, or a
combination of both as an attribute value for a single tuple.
 disallows "relations within relations" or "relations as attribute
values within tuples."
 The only attribute values permitted by lNF are single atomic (or
indivisible) values
Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 10-36
Copyright © 2004 Ramez Elmasri and Shamkant Navathe
Conversion to 1NF
 Repeating groups must be eliminated
– Proper primary key developed : expand the key to have a separate
tuple for each attribute. This has a disadvantage of redundancy
 Uniquely identifies attribute values (rows)
– Dependencies can be identified
 Desirable dependencies based on primary key
– Remove the attribute that violates the 1NF & place it in a
separate relation
– If the max no of values for the attribute is known, replace it with
these distinct atomic attributes. This causes several null valued
tuples in a relation

Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 10-37


Copyright © 2004 Ramez Elmasri and Shamkant Navathe
Conversion to 1NF
 Example1: Department Relation. The Dlocation att can be considered in 2 d/t
ways
 The domain of Dlocation is atomic but some tuples have a set of these values.
– Hence, Dlocation is not FD on the PK(Dnumber)
 the domain is non-atomic
 In either case the relation is not in 1NF
 Solution:
– Remove Dlocation and place it in new relation with Dnmuber
– Expand the PK of the original relation to include Dlocations
– If only 3 values can be given to the Dlocation, then represent them independently in the original
relation

Dname Dnumber Dmgreno Dlocations


Cs 1 12345 {4kilo, 5kilo}
Is 2 32145 {FBE}
ICT 3 56487 {4kilo, 5kilo,6kilo}

Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 10-38


Copyright © 2004 Ramez Elmasri and Shamkant Navathe
Example of Student Relation 1NF
studid Courseno. Dept Name Course_name Dhead

123 Comp 311 Com Sc Abebe M. Organization Bekele

234 Comp 231 Comp sc. Worku K Programming I Bekele


345 Inst 223 Inf. sc Abebe W. organization Bekele

123 Comp 231 Comp sc. Abebe M. Programming I Bekele


345 Mtpa 123 management Abebe W. organization Tsega

123 Math Math Abebe M. Algebra Woldu


211
345 Math 211 Math Abebe W. Algebra Woldu
123 Mtpa 123 management Abebe M. organization Tsega

234 Comp 251 comp.sc Worku K. database


Bekele
Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 10-39
Copyright © 2004 Ramez Elmasri and Shamkant Navathe
 Student_course(studId,courseno,Dept,name,
Course_name,Dhead) in 1NF

Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 10-40


Copyright © 2004 Ramez Elmasri and Shamkant Navathe
Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 10-41
Copyright © 2004 Ramez Elmasri and Shamkant Navathe
1NF of the table will be

Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition


Copyright © 2004 Ramez Elmasri and Shamkant Navathe
3.3 Second Normal Form (1)
 Uses the concepts of FDs, primary key
Definitions:
 Prime attribute - attribute that is member of the
primary key K
 Full functional dependency - a FD Y -> Z where
removal of any attribute from Y means the FD
does not hold any more
Examples: - {SSN, PNUMBER} -> HOURS is a full FD
since neither SSN -> HOURS nor PNUMBER -> HOURS hold
- {SSN, PNUMBER} -> ENAME is not a full FD (it is called a
partial dependency ) since SSN -> ENAME also holds

Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 10-43


Copyright © 2004 Ramez Elmasri and Shamkant Navathe
Second Normal Form (2)
 A relation schema R is in second normal form
(2NF) if every non-prime attribute A in R is
fully functionally dependent on the primary key
 A table that is in 1NF and in which the values
of each non-primary-key column can be
worked out from the values in all the columns
that make up the primary key.
 R can be decomposed into 2NF relations via the
process of 2NF normalization

Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 10-44


Copyright © 2004 Ramez Elmasri and Shamkant Navathe
Second Normal Form (2)
 No non-key attribute is functionally dependent on part
of the primary key.
 A relation that is in 1st normal form will be in 2NF if
any one of the following conditions applies:
– The primary key consists of only one attribute.
– No non key attributes exist in the relation.
– Every non key attribute is functionally dependent on the
full set of primary key attributes.
 2NF only applies to tables with composite primary
keys.

Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 10-45


Copyright © 2004 Ramez Elmasri and Shamkant Navathe
Example
studentID relativeID R/P Student-Tele
01 R1 mother 123456
01 R2 father 123456
01 R3 Uncle 123456
 The PK of the Table is (Stud_id , Relative_id )
 The stud_ tele field is not fully functionally dependent on
the PK because:
 Stud _id → stud _tele is a correct functional dependency.
 So, to normalize the above table, we need to split it in to
two using the functional dependency: Stud_id →stud-tele as
a guide.
 after the split, we need to check T1 and T2 obey the rules of
normalization.

Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 10-46


Copyright © 2004 Ramez Elmasri and Shamkant Navathe
Example
IID Iname Cno Ctitle Hours Room
01 ABEBE C01 XXX 2 203
01 ABEBE CO2 YYY 3 203
01 ABEBE C03 ZZZ 2 301
 Not in 2NF but in 1NF
– IID->Iname
– CnO->Ctitle, Room
– IID->CnO, Hours
 Solution
– Start with 1NF format:
– Write each key component on separate line
– Write dependent attributes after each key
– Each component is new table
Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 10-47
Copyright © 2004 Ramez Elmasri and Shamkant Navathe
Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 10-48
Copyright © 2004 Ramez Elmasri and Shamkant Navathe
 Student_course(studId,courseno,Dept,name,
Course_name,Dhead) in 1NF but not in 2NF

studId courseno Dept name Course_name Dhead


 2nd normal form conversion results
 (studid, name)
 (courseno, course_name)
 (Dept,Dhead)
 (student_ID, course_ID,dept)

Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 10-49


Copyright © 2004 Ramez Elmasri and Shamkant Navathe
3.4 Third Normal Form (1)
 Based on the concept of transitive dependency.
Definition:
 Transitive functional dependency - a FD X -> Z
that can be derived from two FDs X -> Y and Y -> Z
Examples:
- SSN -> DMGRSSN is a transitive FD since
SSN -> DNUMBER and DNUMBER -> DMGRSSN hold
- SSN -> ENAME is non-transitive since there is no set of
attributes X where SSN -> X and X -> ENAME

Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 10-50


Copyright © 2004 Ramez Elmasri and Shamkant Navathe
Third Normal Form (2)

 A relation schema R is in third normal form


(3NF) if it is in 2NF and no non-prime attribute A
in R is transitively dependent on the primary key
 R can be decomposed into 3NF relations via the
process of 3NF normalization
NOTE:
In X -> Y and Y -> Z, with X as the primary key, we consider this a
problem only if Y is not a candidate key. When Y is a candidate key,
there is no problem with the transitive dependency .
E.g., Consider EMP (SSN, Emp#, Salary ).
Here, SSN -> Emp# -> Salary and Emp# is a candidate key.

Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 10-51


Copyright © 2004 Ramez Elmasri and Shamkant Navathe
 Identify the primary key in the 2NF relation.
 Identify functional dependencies in the relation.
 If transitive dependencies exist on the primary key
remove them by placing them in a new relation along
with a copy of their dominant.
 Eg:

ename ssn address bdate dnumber dname mgrssn

Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 10-52


Copyright © 2004 Ramez Elmasri and Shamkant Navathe
The 3NF:

ssn name adress bdate dnumber

dnumber dname mgrssn

Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 10-53


Copyright © 2004 Ramez Elmasri and Shamkant Navathe
Summary
 First Normal Form (1NF) - removes repeating
groups
 Second Normal Form (2NF) - removes partial
dependencies on the primary key
 Third Normal Form (3NF) - removes transitive
dependencies on the primary key

Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 10-54


Copyright © 2004 Ramez Elmasri and Shamkant Navathe

You might also like