Search code examples
normalization

What do I miss in understanding 1NF


I have a nooby question regarding 1NF. As I read from different sources a table is in the 1NF if it contains no repeating groups. I understand this with the examples given online (usually with customers and contact names etc) but when it comes to my specific data I face difficulties.

I have the following fields:

 ID  TOW  RECEIVER Phi01_L1 Phi01_L2 Phi01_L3
  1  4353  gpo1     0.007   0.006     0.4
  2  4353  gpo1     0.9     0.34      0.3

So, this table here is not in 1NF? How should it be in order to become?


Solution

  • What is Fist normal form (1NF)?

    1NF- Disallows:

    1. composite attributes
    2. multivalued attributes
    3. and nested relations; attributes whose values for an individual tuple are non-atomic

    How to convert a relation into 1NF?

    Two ways to convert into 1 NF:

    1. Expand relation:

      • Increase number of colons in relation (as you did)
      • Increase rows and change Primary key value. (PK will include non-atomic attribute)

      Hence your relation looks in 1-NF in present relation-state. and solution you made is expansion.

    2. Break Relation:

      • Break relation into two relations -e.g. remove non-atomic col from base relation and create a new relation and add to new with PK.

    Normal forms are best explain in Elmasri/Navath book