Tuesday, 3 November 2009

Following an absence last week, I have only just learnt about Normalisation today. Normalisation doesnt generally seem like a hard task, and it seemed much easier compared against Entity Relationship diagrams.
Todays lesson was quite enjoyable and I learnt quite a lot through the use of the 5 steps that are used to complete the tasks given out today. The 5 steps that are portrayed for normalisation are as follows:
  • List the un-normalised data, and identify repeating groups by placing them in brackets - the replacing groups are usually those that could be written down more than once, for example Item Number.
  • Choose a key for the main group - this is usually the first entity found from the section, e.g. Customer Number within an Order Form.
  • Extract the repeating groups, and give that a key - this could be for example, Item Number. Due to the fact that the repreated groups will have been found earlier, usually, the key for the group is the first in the brackets.
  • Identify and extract partial dependencies.
  • Identify and extract non-key dependencies.
Normalisation for me personally gets quite confusing towards the end of the process, when identifying and extracting the dependencies happens.

The Objectives behind Normalisation is to try and separate the items that are initially listed, so that the long list that is originally found can be broken down and split into small sections. Within the last step, eradicating some of the items will help to make the overall form easier to process when implemented into a computer program. Normalisation generally breaks down the list of entities given at the start of an invoice or purchase order form so that when later submitted into a database system, entities that are repeated can be removed - generally, the purpose is to save time for when the data needs to be entered into the fields at a later date.

When carrying out normalisation, the process if broken down into 3/4 steps, and these are often abbreviated into the form of 0NF, 1NF, 2NF, 3NF - these stages are used to represent the stages carried out when the 5 steps are being implenented on a set of entities. A breakdown of the list of stages is show below.
  • 0NF - Zero Normalisation Form - This is the stage where all the entities from within the invoice or order form are listed into one large table. Commonly they will be seperated if there is more than one form present.
  • 1NF - First Normalisation Form - This is the stage where the repeated entities are broken down into a sublist of entities. When this stage is carried out, 2 keys will be applied to each of the new sublists created.
  • 2NF - Second Normalisation Form - This is the stage where the partial keys are identified and extracted. Within this stage, this is usually the time when the list of entities/sub-lists of enties is the longest.
  • 3NF - Third (Final) Normalisation Form - This stage is where the list of entities/sub-lists is reduced vastly, where repeated partial keys can be removed if repeated. The non-key dependencies are extracted in this stage to give the overall list of entities and sub-lists for the given forms/invoices.

Overall, normalisation is a topic that doesnt look too confusing, and I feel quite confident carrying out work based upon this topic.

No comments:

Post a Comment