Re: Base Normal Form

From: dawn <dawnwolthuis_at_gmail.com>
Date: 6 Jul 2005 19:24:35 -0700
Message-ID: <1120703075.535108.140280_at_o13g2000cwo.googlegroups.com>


David Cressey wrote:
> I'd like to suggest a new Normal Form definition, one that I'm calling Base
> Normal Form, for lack of a better term.
>
> The purpose is NOT to advance theory any further. It's to make it easier to
> teach introductory database design.
>
> Here it is:
>
>
> A table is in base normal form if and only if it has at least one candidate
> key.

I think that what you are describing is a mathematical function (sometimes referred to as a mapping), perhaps? (I believe the def of a function and mathematical def of relation are in the cdt glossary.) Using these terms can be helpful as there are very clear, generally agreed upon, definitions for sets, relations, functions in mathematics from which to draw. It is necessary to make a distinction, then, between a mathematical relation and the (myriad of) defs the database community has for "relation" but since the latter arose from the former originally, this is not hard for a student to comprehend.

Using the term "function" is also helpful when looking at computers in general and discussing programming in terms of input-processing-output (sure, I've heard of objects, but I'll keep on track and avoid straying into that subject right now). Input-processing-output --> keyValue-lookupFunction-relationValue

> Note that the definition is for tables

I'm not sure what your def is for this -- rows and columns where a cell may include any defined type?

> and not relations. All relations are
> in Base Normal Form, so the definition is superfluous with regard to
> relations.

If you go back to the mathematical definition of a relation, rather than one of the variations in the database field, a relation is not necessarily a function, but a function is a relation (by definition). Once you require a relation to have a candidate key, you do have a function -- a good starting point prior to identifying functional dependencies and discussing normal forms, I would think.

I, too, don't know if this advances any theory as I'm concerned about practice (and related instruction). I have found using these mathematical terms to be helpful due to their precision and simplicity.

<snip>

Cheers! --dawn Received on Thu Jul 07 2005 - 04:24:35 CEST

Original text of this message