Sunteți pe pagina 1din 39

NORMALIZATION

6/5/2013

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.
2 6/5/2013

OBJECTIVES
How functional dependencies can be used to group attributes into relations that are in a known normal form. How to undertake process of normalization. How to identify most commonly used normal forms, namely 1NF, 2NF and 3NF

6/5/2013

NORMALIZATION
Normalization is defined as a technique for producing a set of well designed relations that measure up to a set of requirements which are outlined in various levels of normalization (or Normal Forms).

6/5/2013

NORMALIZATION
Four most commonly used normal forms are first (1NF), second (2NF) and third (3NF) normal forms. Normalization has the underlying
aim of minimizing information redundancy, hence reducing file storage space. avoiding data inconsistency and preventing insertion, deletion, and modification anomalies (Update anomalies).

6/5/2013

DATA REDUNDANCY

6/5/2013

UPDATE ANOMALIES
Relations that contain redundant information may potentially suffer from update anomalies. Types of update anomalies include: Insertion Deletion Modification.

6/5/2013

UPDATE ANOMALIES
Insertion Anomaly: Occurs when extra data beyond the desired data must be added to the database. Until the new faculty member, Dr. Newsome, is assigned to teach at least one course, his details cannot be recorded.

6/5/2013

UPDATE ANOMALIES
Modification Anomaly: Changing the value of one of the columns in a table will mean changing all the values that have to do with that column. Employee 519 is shown as having different addresses on different records.

6/5/2013

UPDATE ANOMALIES
Deletion Anomaly: Occurs whenever deleting a row accidentally causes other data to be deleted.

All information about Dr. Giddens is lost when he temporarily ceases to be assigned to any courses.

10

6/5/2013

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.

11

6/5/2013

FUNCTIONAL DEPENDENCY
Diagrammatic representation:

Determinant of a functional dependency refers to attribute or group of attributes on left-hand side of the arrow.
12 6/5/2013

EXAMPLE
branchNo bAddress

Func tiona l Depe nden cies 6/5/2013

FUNCTIONAL DEPENDENCY

14

6/5/2013

EXAMPLES

Given TEXT we know the COURSE. TEXT ->COURSE TEXT maps to a single value of COURSE
15 6/5/2013

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.
16 6/5/2013

UNNORMALIZED FORM (UNF)


A table that contains one or more repeating groups.
Note: A repeating group is an attribute or group of attributes within a table that occurs with multiple values for a single occurrence of the nominated key attributes for that table. For example a book with multiple authors, etc

To create an unnormalized table: transform data from information source (e.g. form) into table format with columns and rows.
17 6/5/2013

FIRST NORMAL FORM (1NF)


A table is in First Normal Form (1NF) iff all its attributes are atomic.

A domain is atomic if its elements are considered to be indivisible units.


This literally means a relation in which intersection of each row and column contains one and only one value. Implies that it should have no composite attributes or multivalued attributes (repeating groups). In case a table is not in 1NF, we do two things
18 6/5/2013

UNF TO 1NF
First identify a primary key, then Either

Place each value of a repeating group on a tuple with duplicate values of the non-repeating data (called flattening the table)
19 6/5/2013

FIRST UNF TO 1NF


Or Make a new table to cater for multivalued attributes. Place repeating data along with copy of the original key attribute(s) into a separate relation The new primary key is usually a combination of the (multivalued) attribute and the primary key of the parent table.
Nor maliz ation
6/5/2013

UNF TO 1NF

Nor maliz ation


6/5/2013

UNF TO 1NF

22

6/5/2013

23

6/5/2013

SECOND NORMAL FORM (2NF)


Based on concept of full functional dependency: A and B are attributes of a relation, B is fully dependent on A if B is functionally dependent on A but not on any proper subset of A. 2NF - A relation that is in 1NF and every non-primarykey attribute is fully functionally dependent on the primary key. It applies to relations that have composite keys for a primary key. 6/5/2013
Nor maliz ation

1NF TO 2NF
This involves the removal of partial dependencies.

A partial dependency occurs when the primary key is made up of more than one attribute (i.e. it is a composite primary key) and there exists an attribute (which is a non-primary key attribute) that is dependant on only part of the primary key.
Nor maliz ation
6/5/2013

1NF TO 2NF
These partial dependencies can be removed by removing all of the partially dependent attributes into another relation along with a copy of the determinant attribute (which is part of the primary key in the original relation)

Nor maliz ation


6/5/2013

27

6/5/2013

28

6/5/2013

THIRD NORMAL FORM (3NF)


Based on concept of transitive dependency: A, B and C are attributes of a relation such that if A B and B C, then C is transitively dependent on A through B. (Provided that A is not functionally dependent on B or C). 3NF - A relation that is in 1NF and 2NF and in which no non-primary-key attribute is transitively dependent on the primary key.
Nor maliz ation
6/5/2013

2NF TO 3NF
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 Nor along with copy of their determinant. maliz
ation
6/5/2013

``````3EA4EZQQ `1 1

31

6/5/2013

32

6/5/2013

Exercise One
Using the given functional dependencies, normalize the relation fully.

EMPLOYEE_CONTRACT (staffNo, contractNo, hours, staffName, branchNo, branchName) fd1: staffNo, contractNo -> hours, staffName, branchNo, branchName fd2: staffNo -> staffName fd3: contractNo -> branchNo, branchName Fd4: branchNo -> branchName
33 6/5/2013

INSTRUCTIONS
The following tables are susceptible to update anomalies. Provide examples of insertion, deletion, and modification anomalies.

Using the primary key and functional dependency concepts, normalize the following tables below to the 3NF
34 6/5/2013

Exercise Two

35

6/5/2013

Exercise Three

36

6/5/2013

Exercise Four

37

6/5/2013

0NF ORDER(order#, customer#, name, street, city, country, orderdate(product#, description, quantity, unitprice)) 1NF ORDER(order#, customer#, name, street,city,country, orderdate) ORDER_LINE(order#, product#, description, quantity, unitprice) 2NF ORDER(order#, customer#, name, street, city, country, orderdate) ORDER_LINE(order#, product#, quantity) PRODUCT(product#, description, unitprice)
38 6/5/2013

SOLUTION

3NF ORDER(order#, customer#, orderdate) CUSTOMER(customer#, name, street, city, country) ORDER_LINE(order#, product#, quantity) PRODUCT(product#, description, unitprice)

39

6/5/2013

S-ar putea să vă placă și