Professional Documents
Culture Documents
Year : 2019
Normalization
Session 10
LEARNING OUTCOME
Systems: A Practical
Approach to Design,
Implementation, and
ISBN: 978-1-292-06118-4,
Chapter 14
LEARNING OBJECTIVES
vtraining-msuhandi.blogspot.com
The Purpose of Normalization
Normalization
1NF
1NF
1NF 3NF
2NF
3NF
2NF
2NF
3NF
Bina Nusantara
gerardnico.com
Purpose of Normalization
Bina Nusantara
How Normalization Supports
Database Design
Bina Nusantara
Data Redundancy and
Update Anomalies
• Database Design group attributes into relations to
minimize data redundancy
• Potential benefits for implemented database include:
Bina Nusantara
Data Redundancy and
Update Anomalies
Bina Nusantara
Data Redundancy and
Update Anomalies
• StaffBranch relation has redundant data; the details
of a branch are repeated for every member of staff.
• In contrast, the branch information appears only once
for each branch in the Branch relation and only the
branch number (branchNo) is repeated in the Staff
relation, to represent where each member of staff is
located.
• Relations that contain redundant information may
potentially suffer from update anomalies.
• Types of update anomalies include : Insertion,
Deletion, and Modification
Bina Nusantara
Lossless-join and Dependency
Preservation Properties
Bina Nusantara
Functional Dependencies
Functional Dependencies
attributes.
a relation.
• Diagrammatic representation.
appear to hold.
staffNo → sName
sName → staffNo
Bina Nusantara
Full Functional Dependency
Bina Nusantara
Transitive Dependencies
anomalies.
branchNo → bAddress
Identifying Functional
Dependencies
• Identifying all functional dependencies between a set of
attributes is relatively simple if the meaning of each attribute and
the relationships between the attributes are well understood.
• This information should be provided by the enterprise in the
form of discussions with users and/or documentation such as the
users’ requirements specification.
• However, if the users are unavailable for consultation and/or the
documentation is incomplete then depending on the database
application it may be necessary for the database designer to use
their common sense and/or experience to provide the missing
information.
Example - Identifying a set of
functional dependencies for the
StaffBranch relation
branchNo → bAddress
bAddress → branchNo
Example - Using sample data to
identify functional
dependencies.
A→C (fd1)
C→A (fd2)
B→D (fd3)
A, B → E (fd4)
Identifying the Primary Key for
a Relation using Functional
Dependencies
slide 23).
relation.
http://entrepreneurship.mit.edu/entrepreneurship-need-keep-calm-trust-process/
The Process of Normalization
determinant.
1NF to 2NF
http://www.sqa.org.uk/e-learning/SoftDevRDS02CD/page_12.htm
Convert into an unnormalised table (UNF). The process is as follows:
•Create column headings for the table for each data item on the report (ignoring
any calculated fields). A calculated field is one that can be derived from other
information on the form. In this case total staff and average hourly rate.
•Enter sample data into table (this data is not simply the data on the report but a
representative sample. In this example it shows several employees working on
several projects. The same employee can work on different projects and at a
different hourly rate).
•Identify a key for table (and underline it).
•Remove duplicate data (in this example, for the chosen key of Project Code, the
values for Project Code, Project Title, Project Manager and Project Budget are
duplicated if there are two or more employees working on the same project).
UNF
1NF
2NF
3NF
SCHOOL OF INFORMATION SYSTEMS
http://sis.binus.ac.id/
http ://www.facebook.com/schoolisbinus
SIS Binus