Prasad Ajinkya
Prasad Ajinkya
Branch Unspecified
15 Feb 2008

Normalization

All right techies of the world, answer me this.

Do you remember all the different types of normalization we learnt? 1NF, 2NF, 3NF, 4NF, 5NF (yes there is one), BCNF ... are there any more?

If there are, why do we need so many? Can someone honestly tell me that they have made an application which is truly past 3NF?

The debate is open sires ...

My $0.02 -

So far, I have worked on 4 online live applications -
1. a finance portal, portfolio management
2. a CMS, news feed, et al
3. 2 e-commerce portals

All of them are handling a decent amount of traffic, and in all the 4 applications, trying for more than 2NF resulted in nightmares. Effectively, we had to stop just short of 3NF.

What are the real life applications of higher forms of normalization then?
mahul

mahul

Branch Unspecified
15 Feb 2008
well being a student i'm not really aware of the actual industrial design norms, but maybe this is something that again exposes the lack of practical knowledge that is overlooked in our education system.
Prasad Ajinkya

Prasad Ajinkya

Branch Unspecified
16 Feb 2008
Lets make it a little bit more interactive here .. what do you think would be the normalization used in the DB structures of this forum?
mahul

mahul

Branch Unspecified
16 Feb 2008
no idea kidakaka, i'm not a pro and it will have 2 be a blind guess from my part, maybe _k could throw some light?
jinx

jinx

Branch Unspecified
17 Feb 2008
hi,
normalisation techniques as told by one of my professors seems to b a little outdated since now there are much advanced techniques available...
also a friend working in Wipro informed that it is still used for mainframes . in wipro they use DB2 and that's where its currently used
shalini_goel14

shalini_goel14

Branch Unspecified
27 May 2009
*bump*

Nice discussion was stopped. Can anyone tell me how trying more than 2NF resulted in nightmares in those 4 projects ?
Prasad Ajinkya

Prasad Ajinkya

Branch Unspecified
28 May 2009
Shalini,

Here is what happened. Over a period of time, we realized that due to higher no. of tables in the application, the query execution time would increase. To reduce the execution times, we realized the easiest way was to de-normalize the tables!!
MaRo

MaRo

Branch Unspecified
28 May 2009
I wish someday get to know more about databases, I entered a long DSP tunnel not coming back any soon...
manusaluja

manusaluja

Branch Unspecified
28 May 2009
More the normalization is, more will be the tables, and the queries will contain more joins.
take for example -- for 10,000 records i have to add some country name like United Arab Emirates/ United Kingdom / United States of America.
Denormalized database will contain 24-digit * 10000 entries. And normalized will contain a numeral digit for the name and 10000 * 1-digit code. So normalization would certainly save space, but we can easily imagine of some situations in which queries will be joining lots of data from lots of table, making query slower.

So normalization is merely moving a slider between performance and space. more normalized will have less performance and less space usage, and vice versa.
safwan

safwan

Branch Unspecified
28 May 2009
kidakaka
All right techies of the world, answer me this.

Do you remember all the different types of normalization we learnt? 1NF, 2NF, 3NF, 4NF, 5NF (yes there is one), BCNF ... are there any more?

i until now i have studied only till 3NF can you define 4NF,5NF,NCNF
please if require then explain also 😕
manusaluja

manusaluja

Branch Unspecified
28 May 2009
3NF is holy, if you don’t normalize till it hurts you’re a bad developer and you’ll be contracted by an awful disease soon 😁
shalini_goel14

shalini_goel14

Branch Unspecified
28 May 2009
Okies, if it affects exceution time then what is "SQL Performance and Tuning" for hmm? I agree no one goes beyond BCNF (ie. 4NF and 5NF) , is the reason is the person who made these higher level normal forms just for creating another burden on CS students for studying and gain fame or he got confused after creating so many normal forms.

PS: I could never ever get an example that explains 4NF and 5NF clearly. May be when people don't know tabout hese forms clearly then how can they use it properly right.
manusaluja

manusaluja

Branch Unspecified
29 May 2009
shalini_goel14
person who made these higher level normal forms just for creating another burden on CS students for studying and gain fame or he got confused after creating so many normal forms.
Correct.... well said :dance:
Corpse-Thrust

Corpse-Thrust

Branch Unspecified
29 May 2009
I still have nightmares remembering the moment when I was asked for an example of 4NF in viva lol.

Kidakaka is right, sometimes denormalization is the only way to speed up the whole process. It's just the same old time versus space issue that haunts us CS engineers often.

Share this content on your social channels -

Only logged in users can reply.