Skip to main content

The Need for Normalisation

We need to ensure that all of our data structures are able to be implemented in a relational database. This is not a problem if the structure is what we term Simple - for example Customer:

  • Customer Number
  • Name
  • Address
  • Telephone
  • Credit Limit
  • Item Ordered
  • Quantity
  • Price

This can easily be implemented in a database table. However a customer may order several items and each customer in our database may order a different number of items. This situation makes it difficult for us to implement the data in a relational database since we do not know how many Order entries to allow.

For example we may have the situation where most of our customers only order a single item, several are ordering 2 or 3 and one is ordering 20! In this case we would have to allow for up to 20 orders in our table for every customer but most are only ordering one product. This is very wasteful of space and would make the database perform very poorly.

A structure like this is not called Simple - it is called Complex. A complex entity must be converted to simple entities before it can be implemented in the database. This conversion process is called Normalisation.

Next: Complex Entities