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

IS2511 Module 9

Uploaded by

ngang585
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views

IS2511 Module 9

Uploaded by

ngang585
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 32

Copyright © 2016 Ramez Elmasri and Shamkant B.

Navathe
Module_9

Basics of Functional Dependencies


and Normalization for Relational
Databases

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 14- 2


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)
 Additional types of dependencies, further normal forms
exist

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 14- 3


Figure 14.1 A simplified COMPANY
relational database schema

Figure 14.1 A
simplified COMPANY
relational database
schema.

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 14- 4


1.2 Redundant Information in Tuples and
Update Anomalies
 Information is stored redundantly
 Wastes storage
 Causes problems with update anomalies
 Insertion anomalies
 Deletion anomalies
 Modification anomalies

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 14- 5


EXAMPLE OF AN UPDATE ANOMALY
 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.

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 14- 6


EXAMPLE OF AN INSERT ANOMALY
 Consider the relation:
 EMP_PROJ(Emp#, Proj#, Ename, Pname,
No_hours)
 Insert Anomaly:
 Cannot insert a project unless an employee is
assigned to it.
 Conversely
 Cannot insert an employee unless he/she is
assigned to a project.

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 14- 7


EXAMPLE OF A DELETE ANOMALY
 Consider the relation:
 EMP_PROJ (Emp#, Proj#, Ename, Pname,
No_hours)
 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.

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 14- 8


Figure 14.3 Two relation schemas
suffering from update anomalies

Figure 14.3
Two relation schemas
suffering from update
anomalies. (a)
EMP_DEPT and (b)
EMP_PROJ.

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 14- 9


Figure 14.4 Sample states for
EMP_DEPT and EMP_PROJ
Figure 14.4
Sample states for EMP_DEPT
and EMP_PROJ resulting from
applying NATURAL JOIN to the
relations in Figure 14.2. These
may be stored as base relations
for performance reasons.

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 14- 10


Guideline for 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 anomalies present, then note them
so that applications can be made to take them into
account.

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 14- 11


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

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 14- 12


2. Functional Dependencies
 Functional dependencies (FDs)
 Are used to specify formal measures of the
"goodness" of relational designs
 And keys are used to define normal forms for
relations
 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

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 14- 13


2.1 Defining Functional Dependencies
 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 previous Figures. (denoted by the
arrow).
 FDs are derived from the real-world constraints on the
attributes

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 14- 14


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

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 14- 15


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

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 14- 16


3.1 Normalization of Relations (1)
 Normalization:
 The process of decomposing unsatisfactory "bad"
relations by breaking up their attributes into
smaller relations

 Normal form:
 Condition using keys and FDs of a relation to
certify whether a relation schema is in a particular
normal form

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 14- 17


3.2 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 and BCNF. 4NF rarely used in practice.)
 Denormalization:
 The process of storing the join of higher normal form
relations as a base relation—which is in a lower normal form

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 14- 18


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.

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 14- 19


3.4 First Normal Form
 Disallows
 Composite attributes
 Multivalued attributes
 Nested relations; attributes whose values for an
individual tuple are non-atomic
 Considered to be part of the definition of a
relation
 Most RDBMSs allow only those relations to be
defined that are in First Normal Form

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 14- 20


Figure 14.9 Normalization into 1NF
Figure 14.9
Normalization into 1NF. (a) A
relation schema that is not in
1NF. (b) Sample state of
relation DEPARTMENT. (c)
1NF version of the same
relation with redundancy.

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 14- 21


Figure 14.10 Normalizing nested relations
into 1NF

Figure 14.10
Normalizing nested relations into 1NF. (a) Schema of the EMP_PROJ relation with a
nested relation attribute PROJS. (b) Sample extension of the EMP_PROJ relation
showing nested relations within each tuple. (c) Decomposition of EMP_PROJ into
relations EMP_PROJ1 and EMP_PROJ2 by propagating the primary key.

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 14- 22


3.5 Second Normal Form (1)
 Uses the concepts of FDs, primary key
 Definitions
 Prime attribute: An 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

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 14- 23


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

 R can be decomposed into 2NF relations via the


process of 2NF normalization or “second
normalization”

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 14- 24


Figure 14.11 Normalizing into 2NF and
3NF
Figure 14.11
Normalizing into 2NF and 3NF. (a)
Normalizing EMP_PROJ into 2NF
relations. (b) Normalizing EMP_DEPT
into 3NF relations.

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 14- 25


Figure 14.12 Normalization into 2NF and
3NF

Figure 14.12 Normalization into 2NF and 3NF. (a)


The LOTS relation with its functional dependencies FD1
through FD4.
(b) Decomposing into the 2NF relations LOTS1 and
LOTS2. (c) Decomposing LOTS1 into the 3NF relations
LOTS1A and LOTS1B. (d) Progressive normalization of
LOTS into a 3NF design.

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 14- 26


3.6 Third Normal Form (1)
 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

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 14- 27


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.

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 14- 28


Normal Forms Defined Informally
 1st normal form
 All attributes depend on the key
 2nd normal form
 All attributes depend on the whole key
 3rd normal form
 All attributes depend on nothing but the key

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 14- 29


4. General Normal Form Definitions (For
Multiple Keys) (1)
 The above definitions consider the primary key
only
 The following more general definitions take into
account relations with multiple candidate keys
 Any attribute involved in a candidate key is a
prime attribute
 All other attributes are called non-prime
attributes.

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 14- 30


4.1 General Definition of 2NF (For
Multiple Candidate Keys)

 A relation schema R is in second normal form


(2NF) if every non-prime attribute A in R is fully
functionally dependent on every key of R
 In Figure 14.12 the FD
County_name → Tax_rate violates 2NF.

So second normalization converts LOTS into


LOTS1 (Property_id#, County_name, Lot#, Area, Price)
LOTS2 ( County_name, Tax_rate)
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 14- 31
Chapter Summary
 Informal Design Guidelines for Relational
Databases
 Functional Dependencies (FDs)
 Normal Forms (1NF, 2NF, 3NF)Based on Primary
Keys
 General Normal Form Definitions of 2NF and 3NF
(For Multiple Keys).

Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Slide 14- 32

You might also like