Database - BCNF and 3NF?

Soldato
Joined
20 Jun 2005
Posts
3,826
Location
London..
Well, i'm trying to do some revision but i can't get my head around either BCNF or 3NF...i've read my notes over and over again, my book and also wiki but i don't really understand it clearly.

Can anyone try and help me out with a simple explanation if possible? Here is an example to work with:

Why is that a violation :confused:

Any help is appreciated!
 
Here seems like a good resource which seems to explain quite clearly:-

Normalization is the process of efficiently organizing data in a database. There are two goals of the normalization process: eliminating redundant data (for example, storing the same data in more than one table) and ensuring data dependencies make sense (only storing related data in a table). Both of these are worthy goals as they reduce the amount of space a database consumes and ensure that data is logically stored.

http://databases.about.com/od/specificproducts/a/normalization.htm
 
Well, i'm trying to do some revision but i can't get my head around either BCNF or 3NF...i've read my notes over and over again, my book and also wiki but i don't really understand it clearly.

Can anyone try and help me out with a simple explanation if possible? Here is an example to work with:

Why is that a violation :confused:

Any help is appreciated!

It's a violation because an entry in year does not define an entry in starname.

For something to be a key field in BCNF, it has to define all the other fields in the table, or at least the combination of fields in the table.

In the example given, the only field that could be considered a possible key is starname, because it's the only one without duplicates, however that wouldn't generally be how you would do it, because it certainly could contain duplicates. Instead you'd split the various things into seperate tables and then relate them, which is what the process of normalisation is really about.
 
Back
Top Bottom