***Welcome to ashrafedu.blogspot.com * * * This website is maintained by ASHRAF***

Posts

Thursday, 5 December 2019

Normalisation

Normalisation

Normalization is the process of organizing the data in the database. Normalization is used to minimize the redundancy from a relation or set of relations. It is also used to eliminate the undesirable characteristics like Insertion, Update and Deletion Anomalies.

Normal Forms:
Normalization rules are divided into the following normal forms:
1.      First Normal Form
2.      Second Normal Form
3.      Third Normal Form
4.      BCNF

First Normal Form (1NF):
Relational schema R is in 1NF if every attribute of R is single valued (Atomic). [No multi-valued attribute in R]

Above relation is not in 1NF because it has multi valued attribute (Cn). So arrange the relation as

Second Normal Form (2NF):
Relational schema R is in 2NF if it is in 1NF and there are no partial dependencies in R.

Example: Consider the relation
Stuid
Subjectid
Marks
Teacher
1
10
65
Java teacher
1
20
78
C++ teacher
2
10
70
Java teacher

In above relation Stuid + Subjectid is the candidate key and it is the primary key. It uniquely identifies any tuple in relation.

If observed carefully there is a dependency between Subjectid and Teacher. And Subjectid is part of primary key, so there is a partial dependency in the relation.

Partial dependency can be eliminated by decomposing the relation as follows:

Score
Stuid
Subjectid
Marks
1
10
65
1
20
78
2
10
70

Subject:
Subjectid
Teacher
10
Java teacher
20
C++ teacher
10
Java teacher

Third Normal Form(3NF):

A relation is in 3NF if it is in 2NF and there are no transitive dependencies in the relation

Example: Consider the relation

 

ID

Name

Subject

State

Country

29

Lalita

English

Gujrat

India

33

Ramesh

Geography

Punjab

India

49

Sarita

Mathematics

Maharashtra

India

The candidate key in the above table is ID.

The functional dependency set can be defined as Id->Name, Id->Subject, Id->State,

State->Country.

For the above relation, Id->State, State->Country is true. So we deduce that Country is transitively dependent upon Id. This does not satisfy the conditions of the Third Normal Form. The realtion can be decomposed to eliminate transitive dependency as

Teacher:

ID

Name

Subject

29

Lalita

English

33

Ramesh

Geography

49

Sarita

Mathematics

 State_country:

State

Country

Gujrat

India

Punjab

India

Maharashtra

India


Boyce-Codd Normal Form(BCNF):

A relation is in BCNF if it is in 3NF and for every dependency X Y, X should be a super key.
It means that for every dependency X Y, X cannot be a non prime attribute if Y is a prime attribute.

Example:
Stuid
Subject
Teacher
101
Java
Javateacher
101
C++
C++teacher
102
Java
Javateacher
103
C#
C#teacher

In above relation Studid + Subject is primary key. There is a dependency between Subject and Teacher (Teacher Subject). Teacher is a non prime attribute and Subject is prime attribute. This relation violates BCNF.

Decomposing the realation as:

Professor:
Pid
Subject
Teacher
1
Java
Javateacher
2
C++
C++teacher
3
C#
C#teacher

Student:
Stuid
Pid
101
1
101
2
102
1
103
3


No comments:

Post a Comment