You are on page 1of 25

Normalisation

Unit 6: Databases
Just to recap
 What is an Entity

 What is an Attribute?
Just to recap
 So, for example:

 An entity in a video store database


would be ‘Customer’

 What would the Attributes be?


Attributes
 First Name
 Surname
 Address
 Telephone Number
 Age
 Gender
 E-mail
Introduction
 This week we will be going on to
standard database notation and
Normalisation

 In your assignment your plan will


need to be in both tabular format
and in standardised database
notation
Lesson Objectives
 By the end of this lesson, you
should be able to:

 Design a database in standard


database notation
 Define the three forms of normalisation
Standard database notation
 Using the video store as an
example:
Standard database notation
 In a video store database, the tables can
be described as follows

• CUSTOMER (CustomerID, Firstname, Surname,


Address, TelephoneNumber, Email, Age, Gender)

• VIDEO (VideoID, VideoTitle, Rating, FilmGenre,


DateReleased, LengthOfFilm, RentalPrice)

• VIDEORENTALS (VideoRentalID, CustomerID, VideoID,


DateRented, DateReturned)
Primary Keys
 The underlined field types are known as Primary
Keys

• This is a field that is used to uniquely define a


particular record or line in a table.

• Since text fields e.g. surname can be repeated,


primary keys are nearly always numeric fields.

 They can include:


 Membership number, product number, employee
number, catalogue number, account number.
Primary and Foreign Key

Customer Video Table Video


Table Video ID Rentals
Customer ID Table
Video title
Video_Rental
First Name
ID
Rating
Surname Customer ID
Film Genre
Address Video ID
Date Released
Telephone Date Rented
number Length of film
Date Returned
E-mail
Rental price
Age

Gender
Your Task
 For the two databases you have
designed:
 Draw the tables as shown in the
previous slide
 Identify possible Primary Keys
Foreign Keys
 This is a field in one table which is also
the primary key of another table.

 Foreign keys are used to establish a


relationship between the main table and
other subsidiary tables.

 Looking at the video tables, what would


be the foreign keys?
Foreign Keys

Customer Video
Table Table Video
Customer Video ID Rentals
ID Video title
Table
First Name Video_Rent
Rating
Surname al ID
Film Genre
Customer
Address
Date ID
Telephone Released
Video ID
number
Length of
Date Rented
E-mail film
Age Date
Rental
price Returned
Gender
Your Task
 On the tables you have finished for
your databases, identify the foreign
keys
Normalisation
 The process of refining the structure of a
database to minimise redundancy and
improve integrity is called normalisation.

 When a database has been normalised it


is said to be in normal form.

 There are three normal forms:


 First, second and third
First Normal Form
 A database is in first normal form if there
are no repeated fields.

 That means that there must only be one


field for each item of data you want to
store.

 A library database, for example, is not in


first normal form because it has the field’s
book1, book2, book3, book4, book5, and
book6, which all store the same
information, i.e. the name of a book.
First Normal Form
 First normal form not only facilitates
searching, but is also more space
efficient as there wouldn't be 5
empty fields being stored if
borrowers only had one book.
Second Normal Form
 A database is said to be in second
normal form if it:
 is already in first normal form
 has no fields that aren't dependent on
the whole of the key

 That is to say that all fields are


dependent on the whole of the key
(where there is a compound key).
Second Normal Form
 For example, a merits database:
 Name
 Tutor group
 Teacher
 Subject
 Date
 Reason
 Head of year
 Tutor

 There are no repeated fields, so it's in first normal


form. If you made name the key field, however,
you could see there would be fields that aren't
dependent on the key.
Second Normal Form
 Subject, for example, is related to the
teacher, not to the student. This
database, therefore, is not in second
normal form.

 Even if you were to make a compound


key to include the date and the teacher
giving the merit, it still wouldn't be in
second normal before because subject
wouldn't be dependent on the whole of
the key.
Third Normal Form
 A database is in third normal form if it:

 is already in second normal form


 it has no non-key dependencies

 By non-key dependencies, we mean that


there are no fields that are dependent on
other fields that are not part of the key.
Third Normal Form
 For example:

 In the version of merits database


previously, where ‘Name’ was the key,
the ‘subject’ was related to the
‘teacher’, and not to the student - that
is a non-key dependency.
Real Life
 But forget all that! It still sounds a bit complicated
to me, and I've been developing relational
databases (including professionally) for more than
4 years.

 For your assignment, don't try to start at first


normal form, and then go to second normal form,
and then to third.

 Once you've got the hang of it, you'll knock out


databases in third normal form without even
thinking about it. The key thing is to think about
what your entities (or tables) are going to be - if
you pick the right ones it'll normalise itself.
The Normalisation Oath
 Well, don't forget it all, however, because you
may be asked about normalisation in an exam.
Here's a little tip to remember the three stages -
we call it the Normalisation Oath:

 Each attribute is dependent on the key, the whole


key, and nothing but the key!

 So, to get to third normal form, your non-


repeating fields (first normal form) need to be
dependent on the whole of the key (second
normal form), and nothing other than the key
(third normal form). It works for me!
So,
 By choosing the correct field names
and tables, your database should
normalise itself

 Normalisation improves searches


and queries

You might also like