Re: confused about normalisation

From: Bernard Peek <Bernard_at_shrdlu.com>
Date: 2000/01/07
Message-ID: <EYLpGFBQDTd4EwhD_at_shrdlu.com>#1/1


In article <cc9d4.95$U94.26914691_at_nnrp1.cal.metronet.ca>, crossfade <cross_fade_at__REMOVETHIS_hotmail.com> writes
>I'm new to databasing and I've just recently been getting my head around
>mySQL. After talking to some people about databasing, they all seem to
>mention normalisation. From what I have gathered it is essential to do this
>when designing any database for optimizational purposes. I have purchased a
>couple books on mySQL, neither of which describe normalisation at all. Is
>there anywhere I can go to find out more about this? Possibly any books
>that would help? Do I even need to know what normalisation is? Thanks.

I can't think of any particular book on the subject, normalisation should be covered in any book on database design.

You do need to think about it but common-sense will probably lead you to a normalised design anyway. Very briefly, normalisation breaks data down into separate tables. Each table contains information about only one type of thing.

Where you can have one to many relationships between things they belong in different tables. So when you have several books written by the same author it makes sense to put information about authors in one table and information about book titles in another. That way you only store information about each author once. So when an author dies you only have to update their bibliographic data in one place.

It optimises storage space and makes the data easier to maintain because each piece of data is stored once and only once. There's also a process of denormalisation when you deliberately break the rules in order to optimise something else, such as processing speed. If you are new to databases then there's a simple rule about denormalisation: don't do it.

-- 
Bernard Peek
bap_at_shrdlu.com
bap_at_shrdlu.co.uk
Received on Fri Jan 07 2000 - 00:00:00 CET

Original text of this message