Normalization

Prasad Ajinkya

Prasad Ajinkya

@prasad-aSUfhP Oct 26, 2024
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?

Replies

Welcome, guest

Join CrazyEngineers to reply, ask questions, and participate in conversations.

CrazyEngineers powered by Jatra Community Platform

  • mahul

    mahul

    @mahul-ZxpiLA Feb 15, 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

    @prasad-aSUfhP Feb 15, 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

    @mahul-ZxpiLA Feb 16, 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

    @jinx-Hp4Wl8 Feb 17, 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

    @shalini-goel14-ASmC2J May 27, 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

    @prasad-aSUfhP May 27, 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

    @maro-Ce3knx May 27, 2009

    I wish someday get to know more about databases, I entered a long DSP tunnel not coming back any soon...
  • manusaluja

    manusaluja

    @manusaluja-BMWMnB May 27, 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

    @safwan-NH7W5Y May 27, 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

    @manusaluja-BMWMnB May 27, 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

    @shalini-goel14-ASmC2J May 28, 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

    @manusaluja-BMWMnB May 28, 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

    @corpse-thrust-NpL92W May 28, 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.