Re: Normalization

From: Jan Hidders <hidders_at_wsinis12.win.tue.nl>
Date: 2000/08/06
Message-ID: <8mk7f4$le9$1_at_news.tue.nl>#1/1


On 6 Aug 2000 13:58:09 GMT, Jan Hidders <hidders_at_wsinis12.win.tue.nl> wrote:
>
>I will. In the mean time I found an URL that points to some people that
>research these questions. Especially the last sentence seems very relevant:
>
>http://www.acrc.unisa.edu.au/doc/ds_ddtm.html

Relevant indeed. After looking a little further on this site I found an article by Dr. Millist W. Vincent that treats exactly the subject we are discussing. The article can be found on the following page:

  http://www.cis.unisa.edu.au/~cismwv/papers/index.html

Look for the following article:

  Vincent, M.W. 1998. 'What is the real 5NF?', submitted for publication.

The results are summarized in Lemma 8 where it says the following:

  5NF ==> PJ/NF ==> 5NFR ==> KCNF This means that 5NF is the strongest normal form and KCNF is the weakest (but still stronger than 4NF). The article also shows that these inclusions are strict.

The article also explains what has caused all the problems. In 1979 Ronald Fagin introduced the PJ/NF as the ultimate normal form which is also sometimes refered to as the 5NF. In 1983 David Maier gave in his book 'The theory of Relational Databases' another definition of the 5NF wich is the one that Halpin called the 5NF.

The article shows that the original 5NF, as definied by Maier, is quite a nonsensical normal form and far too strong to serve any pracicial purpose. It turns out that it is equivalent to requiring that every attribute in the relation is a key by itself. The reasons for this rather surprising fact are rather technical but it has to do with the fact that you also consider JDs that are nonsensical such as *(AB,AC,C) or follow from the functional dependencies. The author then goes on to show how to remove these dependencies and this is the 5NFR (the revised 5NF).

But then we can ask what is achieved by *this* normal form. Could it be that it defines exactly when we have removed all the redundancy? The author answers this with a "no" by showing that there is a weaker normal form, KCNF, the key constraint normal form, that characterizes exactly when all the redundancy has been removed. Because he also shows that 5NFR is strictly stronger than KCNF it follows that it is possible that all redundancy has been elimiated (so no more update anomalies) but that you still may not have achieved PJ/NF (so the database will still have to do more than just watch the key constraints).

The article is an overview article and doesn't contain any proofs, but these can be found in its references. Some of these are written by the author itself and can be found on the same page.

Pretty neat stuff. I hope more people will come and ask this question so I can write a FAQ about it. :-)

Kind regards,

  • Jan Hidders
Received on Sun Aug 06 2000 - 00:00:00 CEST

Original text of this message