9

This is a common interview question. I faced one interview where the interviewer gave me one table and asked me tell him which normal form the table is in? If it's in ##NF, then normalize it to the next NF?

I'm always get confused between these normal forms of database. Can anyone explain to me these normal forms with a proper example of how each NF is modeled into table so it will help in my next interview?

philipxy
  • 14,867
  • 6
  • 39
  • 83
Vishwanath Dalvi
  • 35,388
  • 41
  • 123
  • 155
  • 2
    Here's a good link: http://www.phlonx.com/resources/nf3/ – FrustratedWithFormsDesigner Jan 14 '11 at 15:00
  • 1
    I was just reading about the Normalization the other day on SO. Here is a good link that attempts to explain upto 2NF : http://stackoverflow.com/questions/2331838/normalization-in-plain-english/2331885#2331885 – VoodooChild Jan 14 '11 at 15:01
  • 1
    possible duplicate of [Can someone please give an example of 1NF, 2NF and 3NF in plain english?](http://stackoverflow.com/questions/723998/can-someone-please-give-an-example-of-1nf-2nf-and-3nf-in-plain-english) – Daniel DiPaolo Jan 14 '11 at 16:14
  • Does this answer your question? [What are database normal forms and can you give examples?](https://stackoverflow.com/questions/723998/what-are-database-normal-forms-and-can-you-give-examples) – philipxy May 04 '20 at 22:04

1 Answers1

5

Boyce Codd Normal Form is really the most important and also the easiest to explain: Every non-trivial determinant is a superkey (just remember "arrows out of superkeys"). The lesser normal forms are only worth mentioning because BCNF is not dependency-preserving in a few cases.

Examples of BCNF and 5NF by Hugh Darwen:

For more mathematical definitions (Abiteboul et al):

Jonathan Leffler
  • 730,956
  • 141
  • 904
  • 1,278
nvogel
  • 24,981
  • 1
  • 44
  • 82