Path: dp-news.maxwell.syr.edu!spool.maxwell.syr.edu!drn.maxwell.syr.edu!news.maxwell.syr.edu!postnews.google.com!o13g2000cwo.googlegroups.com!not-for-mail
From: "dawn" <dawnwolthuis@gmail.com>
Newsgroups: comp.databases.theory
Subject: Re: Base Normal Form
Date: 6 Jul 2005 19:24:35 -0700
Organization: http://groups.google.com
Lines: 53
Message-ID: <1120703075.535108.140280@o13g2000cwo.googlegroups.com>
References: <Hz0ye.16944$eM6.7302@newsread3.news.atl.earthlink.net>
NNTP-Posting-Host: 199.120.93.7
Mime-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
X-Trace: posting.google.com 1120703080 24520 127.0.0.1 (7 Jul 2005 02:24:40 GMT)
X-Complaints-To: groups-abuse@google.com
NNTP-Posting-Date: Thu, 7 Jul 2005 02:24:40 +0000 (UTC)
In-Reply-To: <Hz0ye.16944$eM6.7302@newsread3.news.atl.earthlink.net>
User-Agent: G2/0.2
Complaints-To: groups-abuse@google.com
Injection-Info: o13g2000cwo.googlegroups.com; posting-host=199.120.93.7;
   posting-account=fLxfag0AAADzmFPc_IBdM-stGY4WCEYa
Xref: dp-news.maxwell.syr.edu comp.databases.theory:32073

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

