Advantages of Normalization:
The database design refined through the process of
normalization renders many advantages as compared to that without
normalization. They are as follows.
- Simple, understandable grammar of attributes:
The attributes of the relations are grouped in such a way that
their meaning and their relation with each other is a very clear, simple and
unambiguous.
- Reduced
repetition of information:
The data redundancy is reduced which leads to many advantages
of reducing the database updation anomalies namely insertion, updation and
deletion anomalies.
- Dependency preservation:
As all the attributes which are fully functionally dependent
on the primary key are grouped together in a relation, the system overhead for
checking each database update is reduced.
- Avoiding spurious
tuples:
If the database is not properly normalized, the join
operation on the relation may result in some unambiguous tuples or even loss of
some information. This is strictly avoided here by creating primary key-
foreign key relationship every time the relation is decomposed.
Disadvantages of Normalization:
- The extreme decomposition of
relation may result in violation of dependency preservation.
- Decomposition of the relation
after certain stage increases overhead on the DBMS. The DBMS has to keep
track of all the relations in the database. The primary key, foreign key,
relations between them, calculations of the join operation, indices, etc.
- There is no consideration of
null values in the whole process of normalization. The null values in
relations create dangling tuple, which may or may not appear in a join.
De - Normalization:
·
Once
a set of database structure or tables has been modified in analysis, a process
of de-normalization occurs in design.
·
De-normalization is the process of
structuring the set of tables so that its performance is most efficient in the
production environment.
·
A
normalized set of tables is in the most efficient configuration logically,
while a de-normalized set of tables is in most efficient form physically.
·
There
are several performance considerations that affect database design.
·
These
include database table access or update frequency, table size, index
requirement, and security requirements.
No comments:
Post a Comment