Upload
jonathan-dennis
View
221
Download
1
Tags:
Embed Size (px)
Citation preview
Chapter 13
Normalization
Transparencies
2
Last Class
Access Lab
3
Today
Normalization– How can we create a table?– Is there any potential problems?– If there is problems, can we fix those problems?
4
Chapter 13 - Objectives
Purpose of normalization.
Problems associated with redundant data.
Identification of various types of update anomalies such as insertion, deletion, and modification anomalies.
How to recognize appropriateness or quality of the design of relations.
5
Chapter 13 - Objectives
How functional dependencies can be used to group attributes into relations that are in a known normal form.
6
Normalization
Main objective in developing a logical data model for relational database systems is to create an accurate representation of the data, its relationships, and constraints.
To achieve this objective, must identify a suitable set of relations.
7
Normalization
Four most commonly used normal forms are first (1NF), second (2NF) and third (3NF) normal forms, and Boyce–Codd normal form (BCNF).
Based on functional dependencies among the attributes of a relation.
A relation can be normalized to a specific form to prevent possible occurrence of update anomalies.
8
Data Redundancy
Major aim of relational database design is to group attributes into relations to minimize data redundancy and reduce file storage space required by base relations.
Problems associated with data redundancy are illustrated by comparing the following Staff and Branch relations with the StaffBranch relation.
9
Data Redundancy
10
Data Redundancy
StaffBranch relation has redundant data: details of a branch are repeated for every member of staff.
In contrast, branch information appears only once for each branch in Branch relation and only branchNo is repeated in Staff relation, to represent where each member of staff works.
11
Update Anomalies
Relations that contain redundant information may potentially suffer from update anomalies.
Types of update anomalies include:
– Insertion, (new staff in StaffBranch)» Insert new branch with no staff.
– Deletion,» Delete the last staff from a branch loose information
– Modification.» Address change in B003
12
Functional Dependency
Main concept associated with normalization.
Functional Dependency– Describes relationship between attributes in
a relation. – If A and B are attributes of 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.
13
Functional Dependency
Property of the meaning (or semantics) of the attributes in a relation.
Diagrammatic representation:
Determinant of a functional dependency refers to attribute or group of attributes on left-hand side of the arrow.
14
Example - Functional Dependency
15
Example- StaffBranch
StaffNo sName, position, salary, branchNo, bAddress
branchNo bAddress bAddress branchNo branchNo, position salary bAddress, position salary
16
StaffNo sName, position, salary, branchNo, bAddressbranchNo bAddressbAddress branchNobranchNo, position salarybAddress, position salary
17
Functional Dependency
Main characteristics of functional dependencies used in normalization:
– have a 1:1 relationship between attribute(s) on left and right-hand side of a dependency;
– hold for all time;– are nontrivial.
18
Functional Dependency
Let A, B, and C be subsets of the attributes of relation R. Armstrong’s axioms are as follows:
1. Reflexivity
If B is a subset of A, then A B
2. Augmentation
If A B, then A,C C3. Transitivity
If A B and B C, then A C
19
The Process of Normalization
Formal technique for analyzing a relation based on its primary key and functional dependencies between its attributes.
Often executed as a series of steps. Each step corresponds to a specific normal form, which has known properties.
As normalization proceeds, relations become progressively more restricted (stronger) in format and also less vulnerable to update anomalies.
20
Relationship Between Normal Forms