Re: Base Normal Form

From: dawn <dawnwolthuis_at_gmail.com>
Date: 12 Jul 2005 18:56:11 -0700
Message-ID: <1121219771.532121.315990_at_g44g2000cwa.googlegroups.com>


Jan Hidders wrote:
<snip>
> >
> > I'll accept that. When applying a mathematical model within a field
> > that has taken mathematical terms and given them new definitions is
> > problematic.
>
> Oh, come on, Dawn. Really! It is quite clear that there is a close
> relationship between a relation as defined in the relational model and
> the usual mathematical notion of relation. Just take a look in the
> "Foundations of databases" book by Abiteboul, Hull and Vianu. (That's a
> graduate text I usually recommend to PhD students.) They happily switch
> between the two definitions and use whichever one is most practical for
> the thing they want to present in the full knowledge they could use
> either of them.

Maybe the problem here is that I was accepting Date's def from his latest edition of an intro text. It really seems to be quite far removed from a clean, clear def of "relation" and I was guessing that there are many undergrads learning that or similar definitions.

> > A candidate key of a relation could be modeled as the
> > domain of a function -- gotta love language, eh?
>
> That's still way too sloppy and I think you can do better than that.

That was purposely sloppy -- many words with multiple meanings in multiple contexts.

> >>
> >>I have no problem with statements like "I can model every relation with
> >>a candidate key CK as a function that maps a value for the CK to a tuple
> >>of that relation".
> >
> > And that is what I'm saying with the additional statement that I find
> > it useful to do so.
>
> I also have no problem with the additional statement. :-)

Yes, I gathered that. I suspect I'm working in a much simpler context than you are, however. For example, I might be explaining to a web page developer who has never had a database behind their pages before, how to model data. I would not bring in the term "relation" very quickly, where I would use the term "function" right away. Look how many people, even software development professionals, explain relations by saying something about how there are multiple tables and they are related to each other. The term "relation" really isn't all that helpful when getting practitioners up and going, in my opinion.

> How about "a relation is a set, so every tuple in it occurs at most
> once". Is that too difficult for you? :-)

You know me, I'm pretty dense ;-)

> I'm sorry? Explaining the relational model gets simpeler if you don't
> use or define the word "relation"?

Remove that second question mark and I do believe we are getting somewhere.
smiles. --dawn Received on Wed Jul 13 2005 - 03:56:11 CEST

Original text of this message