Relational Database Design - Normalisation Basics

Data Redundancy? No thanks!

One of the main objects in designing a database is to remove (or reduce as much as possible) what is known as Data Redundancy. Data Redundancy basically means Data Duplication or Repetition - but the clever folks who write the technical papers on Relational Database Design Methodology like to use confusing words!

Remove the data redundancy (duplication)

We really don't want to store the same data more than once if we can avoid it. We would use too much disk space, and the data maintenance overhead would be high.

Normalisation

Yes I spell it with an 's' not a 'z' - I'm British! Another techy word that just means ogranising the data into optimized chunks. We don't call them Tables yet, we call these chunks- Entities (which really means 'things'!). The Data Models we have looked at so far can also be called Entity Relationship Models (a picture of your Database design).

Normalisation - Organising data into optimised , non repeating groups called entities

You may have heard people talking of Third Normal Form Normalisation - cripes that's a mouthful! I'm gong to cover very briefly the stages of Normalisation here. If you want more details then you can zoom off to the more detailed Nomalisation and Normal Forms Page - which is a work in progress, I might get round to finishing it one day!

Basically 1st, 2nd and 3rd Normal Forms are stages in creating the entities on our Data Model that will one day grow up to be Tables in our database.

Entities are logical groups or containers of data items, that will become tables

The Normal Forms (Simplified)

If you have looked at the detailed Normalisation section you will reallise that the whispy beard chaps want to keep everything sounding as complicated as possible. I haven't got time for all that techno babble so the next section of this tutorial covers my simplified rules for 1st, 2nd and 3rd Normal Form Normalisation.