Normalisation help required

  • Thread starter Thread starter alidaowl
  • Start date Start date
A

alidaowl

Guest
Hi all this is my first post so go easy

OK i have a project to do about a garage


these are the unormalised attributes

Customer_ID, First_Name, Surname, Address, Telephone_No, Postcode, Employee_ID, First_Name, Surname, Hours_worked, Service_ID, Name_of_service, Cost_of_service, Car_registraion, Engine_size, Colour_of_Car, Car_manufacturer, Invoice_No, Amount_due, Amount_paid, Outstanding_amount, VAT, Cost_of_service, Booking_code, Date_of_booking

these are the entities

CUSTOMER
SERVICE
CAR
PAYMENT
EMPLOYEE
BOOKING

ive never done normalisation before, and read online a bit about it but cant for the life of me understand it. anyone willing to give me a little help. on converting the above to 1NF, 2NF and 3NF?

Thanks in advance
alison
x
 
ok, there are a few steps u must do before you normalise.

you must first be sure which attributes belong to which entity. then for each entity you must identify the primary key amongst your attributes.

1nf
you must make sure that each attribute uniquely identifies the entity. this is known as an atomic attribute.. (so you wont want an attribute that describes another entity)

2nf
you must make sure that all the attributes depend on the primary key. basically look at your fields, and ask.. will i know this attribute if i know the primary key. this is called a partial dependancy.

3nf
this means removing transitive dependancies. this means removing all 'non key' to 'non key' dependancies. so in a database for a university, the 'subject ' field could be a non key attribute.. because a teacher can teach many subjects, knowing the subject will not tell you anything about the record.
so you basically have to make sure that all the attributes of the entity can only be know from the primary key, not from any other of the attributes.


this is the JIST let me add. the fundamental principles are there tho.

make sure each attribute is atomic (unique) to the entity, and make sure that in each entity, knowing the primary key will reveal to you the details of the other attributes.

im sure some others can advance on this, but that should get you started.
 

Users who are viewing this thread

Back
Top Bottom