What is normalization and types of normalization?
Answer Posted / prasad kumar
Normalization
This topic is a bit digressing from a DW point of view. But
it is better that we know about Normalization. Once we
understand Normalization & DW facts & dimensions, the schema
concepts would be clearer. It would help us understand why
reporting is easier & faster from a DW. There are 5 types of
Normalization. But for now it’s enough to understand 3 types
of Normalization. Normalization helps in reducing data
redundancy. As we move towards higher normalization
1NF: This type of normalization states that there must not
be any duplicates in the tables that we use. In other words,
all the tables used must have a primary key defined.
2NF: This type of normalization states that data redundancy
can be reduced if attributes those are dependent on one of
the keys of a composite primary key are isolated to a
separate table. Not only does this reduces data redundancy
but also helps in increasing data retention when a delete is
done. For example, consider a table that has the following
columns: Part Id, State, City, and Country. Here, assume
Part Id & Country form the composite primary key. The
attributes state & city depend only on the country. 2NF
states that if such is the case then split the table into 2
tables. One with Part Id & country as the columns. Other
with Country, state & city as the columns. In the 1st table
if a delete is made to all the rows with Part Id = ‘X’ then
we would lose country related data too. But in the 2nd case
this would not happen.
3NF: This type of normalization states that if a dependency
exists on certain attributes other than the primary key then
the table split depending on the dependency has to be done.
Consider the same example above. In the present case
consider that Part Id is the only primary key. Now state,
city depend only on country & not on Part Id. This table is
already in 1NF & 2NF. But to achieve 3NF we would do the
same split as above.
| Is This Answer Correct ? | 60 Yes | 13 No |
Post New Answer View All Answers
What is materialized view. What are different methods of refresh?
Which is faster subquery or join?
What is the requirement of self-join?
What are the different sql languages?
How to run sql commands in sql*plus?
Can we debug stored procedure?
what is the maximum length of a table name, database name, and fieldname in mysql? : Sql dba
What are tables and fields?
What is the syntax and use of the coalesce function?
What is sql clause?
What is auto increment feature in sql?
What are the differences between implicit and explicit cursors?
Explain aggregate functions are available there in sql?
Is left join same as join?
How do you take the union of two tables in sql?