Normalization.riz

18
Normalization 1 st ,2 nd and 3 rd Normal Form By Rizwan , A.Rehman And Imran

Transcript of Normalization.riz

Normalization1st ,2nd and 3rd Normal Form

By

Rizwan , A.Rehman And Imran

Normalization(def)

• The Process of producing a simple and more reliable database structure. Or

• Normalization is a process of moving data into related field.

• This process works through different stages known as normal form.

• These stages are 1st ,2nd ,and 3rd normal form.

Purpose of Normalization

• It makes the database design efficient in performance.

• It reduce the amount of data if possible.

• It makes the database design free of update , insertion and deletion problems.

• It identifies relationship between entities.

Characteristics of normalized Database

• Each relation must have a key field.

• All fields must contain atomic data.

• There must be no repeating fields.

• Each table must contain information about a single entity.

• Each field in a relation must depend on key field.

• All non-key fields must be mutually independent.

UsersUsers requirement

Specification

Source like Data dictionary & Data

Model

Data Source

Second Normal Form(2NF)

First Normalized Form(1NF)

Un-Normal Form(UNF)

Third Normal Form(3NF)

Transfer attributed into Table format

Remove repeating groups

Remove Partial dependencies

Remove transitive dependencies

1st Normal FormThe Requirements

• Each table has a primary key: minimal set of attributes which can uniquely identify a record.

• The values in each column of a table are atomic (No multi-value attributes allowed).

• There are no repeating groups: two columns do not store similar information in the same table.

1st NF ExampleAccountant#

Skill#

SkillCategory

Proficiency#

Accountant Name

AccountantAge

Group #

GroupSupervisor

21 113 Systems 3 Ali 55 52 Baber

35113179204

SystemsTaxAudit

516

Daud32 44 Ali

50 179 Tax 2 Chohan 40 44 Ali

77 148179

ConsultingTax

66

Zahid 52 52 Baber

The above relation is un-normalize because it contain repeating groups of three attributes Skill number, Skill category and Proficiency number.

1st NF Example

Accountant#

Skill #

SkillCategory

Proficiency #

Accountant Name

AccountantAge

Group #

GroupSupervisor

21 113 Systems 3 Ali 55 52 Baber

35 113 Systems 5 Daud 32 44 Ali

35 179 Tax 1 Daud 32 44 Ali

35 204 Audit 6 Daud 32 44 Ali

50 179 Tax 2 Chohan 40 44 Ali

77 148 Consulting 6 Zahid 52 52 Baber

77 179 Tax 6 Zahid 52 52 Baber

Normalize Form

Primary Key

Problems Of 1NF

Updating Problem: Suppose user want to change name Accountant # 35 to

M.Daud. He has to name all record in which accountant number 35 appears.

Inconsistent Data: The above table may contain inconsistent data. There are

three records of Accountant # 35.It is possible that there are two different names with Account number 35 in two different records. The user can make this error during updating.

Addition Problem: Suppose the user want to add another skill number in the

table. It is not possible until an Accountant with that skill exists because both skill number and Accountant Number are used as primary key.

Deletion Problem: Suppose the user want to delete the record of Supervisor

Ali.If he delete the whole record in which Ali appears, the information about Accountant will also be lost.

2nd Normal FormThe Requirements

• All requirements for 1st NF must be met.

• Redundant data across multiple rows of a table must be moved to a separate table.

• The above relation in 1NF has some attributes which are not depending on the primary key. E.g. Accountant Name, Accountant Age, And group Information is determined by Accountant Number and is not dependent on skill. The following relation can be created in which all attributes are fully dependent on primary key account number.

Accountant # Accountant Name

AccountantAge

Group # GroupSupervisor

21 Ali 55 52 Baber

35 Daud 32 44 Ali

50 Chohan 40 44 Ali

70 Zahid 52 52 Baber

Primary Key

Skill Number Skill Category

113 System

179 Tax

204 Audit

148 Consulting

Similarly , Another relation skill can be created in which all fields are fully dependent on the primary key as follows.

Primary Key

The attribute Proficiency in 1NF relation was fully dependent on the whole primary key. The proficiency require to know the accountant number and skill number. The third relation will be create as follows.

Skill Table in 2NF

Accountant Table in 2NF

Accountant Number

Skill Number

Proficiency

21 113 3

35 113 5

35 179 1

35 204 6

50 179 2

77 148 6

77 179 6

Primary key

There are three relations in second normal form(2NF). The attributes of all relations are fully dependent on the primary key's.

Proficiency Table in 2NF

Analysis Of 2NF

The following analysis indicates whether the problems are eliminated in 2NF or not.

Updating Problem: If the user need to change the name of Accountant

Number 35 to “M.Daud” in 1NF, he must change the name in every record in which Accountant Number 35 appears. But in 2NF, the record of one accountant appears only once. The updating problem eliminated in 2NF.

Inconsistent Data: The record of one accountant appears only once in the

database, the possibility of inconsistent data is automatically eliminated.

Addition Problem: In 1NF, it was not possible to enter a new Skill Number

until an Accountant with that skill existed. In 2NF, Any number of skills can be added in skill relation with out an accountant with that skill. It eliminates the addition problem.

Deletion Problem: In 2NF, if the record of Ali is deleted, it does not delete

any other record.

Transitive Dependency(def)

Transitive dependency is a condition in which an attribute is dependent on an attribute that is not part of primary key.

Suppose A, B and C are attributes of a relation. If A approach to B and B approach to C then C is transitively dependent on A through B provided that A is not functionally dependent on B or C.

In third Normal Form(3NF) we remove Transitive dependency.

3rd Normal FormThe Requirements

All requirements for 2nd NF must be met.

Remove all attributes from the 2NF record that depend on another non-key field.

Place them into a new relation with the another attribute as the primary key.

The Accountant table in 2NF, contain some attributes which are depending on non-key attributes. For example, Group City and Group Supervisor are depending on a non-key field Group Number. A new relation can be created as;

Accountant Number

Accountant Name

Accountant Age

Group Number

21 Ali 55 52

35 Daud 32 44

50 Chohan 40 44

77 Zahid 52 52

Primary Key

The second table created form the Accountant table in 1NF is as follows:

Group Number

GroupSupervisor

52 Baber

44 Ali

Both Accountant table and Group table contain the attribute is used to join both tables.

The skill table in 2NF contain no attribute, which is depending on a non-key attribute. It is already in 3NF and will be used with out any further change.

Primary Key

Skill Table in 3NF

Accountant Table in 3NF

Accountantnumber

Skill Number

Proficiency

21 113 3

35 113 5

35 179 1

35 204 6

50 179 2

77 148 6

77 179 6

Primary Key

Proficiency Table in 3NF

Conclusion

• We have seen how Database Normalization can decrease redundancy, increase efficiency and reduce anomalies by implementing three of seven different levels of normalization called Normal Forms. The first three NF’s are usually sufficient for most small to medium size applications.