Re: Authoritative References

From: Marshall Spight <mspight_at_dnai.com>
Date: Mon, 04 Oct 2004 06:15:56 GMT
Message-ID: <wU58d.172724$D%.67806_at_attbi_s51>


"Dawn M. Wolthuis" <dwolt_at_tincat-group.comREMOVE> wrote in message news:cjn751$qi5$1_at_news.netins.net...

>

> I prefer to work with a subset of relations --
> functions. These turn out to be very useful in computing since for each
> input there is exactly one ouput, rather than possibly more than one. That
> is, there is a unique key for each "row" in the relation, thereby making it
> a function with that key as the input and the row it maps to as the output.
> Most database designers make each relation a function anyway, so formalizing
> that only helps take some of the guess work out and permit us to work with
> data as functions as well as working with behavior as functions.

If we are speaking of the relational model, and not SQL, then I would have to say that the "unique key" business ("functions") also applies to relations. Every relation has at least one unique key. Thus, at least one function may be extracted from every relation.

In fact, come to think of it, some functions may indirectly define a relation of more than one key as well. For example, the successor function over the integers is one-to-one and onto, thus it is not only a total function, but its inverse is a total function as well.

So we have:

for all n:integer, the relation (n, m=n+1)

a relation that specifies two functions, the successor function n -> m, and
the predecessor function, m -> n

Cool! So suddenly I'm less clear on what the essential difference between a relation and a function is. Now it seems like it's just two ways of looking at the same thing, since both must have a key, and may have more than one. Perhaps the differences is simply that of saying (n, m) for the relation and n -> m for the function. Hmmm.....

Marshall Received on Mon Oct 04 2004 - 08:15:56 CEST

Original text of this message