Re: Function
From: mAsterdam <mAsterdam_at_vrijdag.org>
Date: Tue, 15 Jan 2008 17:29:40 +0100
Message-ID: <478cde16$0$85783$e4fe514c_at_news.xs4all.nl>
>
> This is not good enough.
>
> This seems right. A domain is just a set of values. In relational
> algebra, this set is required to be non-empty since attributes are
> non-null.
>
> On the other hand, mathematics does not require a domain to be non-empty.
>
>
> No, there is always just one meaning of function in database.
>
> Essentially correct, although to be rigorous you need to define how such
> binary relation can define the meaning of "associating each element in D
> exactly one element in C."
>
> Not all binary relation has this property.
>
> Yea. It's really an abused use of the term in software design.
> Subroutines in software has no clear domain since same input arguments
> can product different outputs.
>
> Fair.
>
>
> Yes.
Date: Tue, 15 Jan 2008 17:29:40 +0100
Message-ID: <478cde16$0$85783$e4fe514c_at_news.xs4all.nl>
Kira Yamato schreef:
> mAsterdam said:
>
>> vldm10 wrote: >>> I think it will be good to have two definitions for the functions in >>> your glossary. >>> Definition1 A function from A to B is a rule that assigns, to each >>> member of set A, exactly one member of set B. >>> >>> And second definition is similar to Jan's suggestion, but slightly >>> changed: >>> Definition2 >>> A function from A to B is a relation between A and B that associates >>> each element of A with exactly one element of B. >>> >>> First definition says that a function do something. You can call it >>> intutive definition of a function. Here the function in fact is a >>> procedure as you mentioned. >>> Second definition is set theoretic. >> >> Another difference I see with Jan's is a sense of direction. >> >> How about this: >> cdt glossary proposal: >> >>>> [Codomain] >>>> See function, math context. >>>> >>>> [Domain] >>>> 1. Given a relation R, a domain is a set Sn such >>>> that for each tuple (A1, A2, ...An, ...Am) in R, >>>> An is an element of Sn.
>
> This is not good enough.
Could you provide a better text?
> It is possible that a value exists in the
> domain Sn yet the relation has no corresponding tuple which holds that
> value for An.
Does the current text forbid that?
>>>> 2. A domain is a set of values: for example >>>> "integers between 0 and 255", >>>> "character strings less than 10 characters long", >>>> "dates". >>>> Sometimes used synonymously with type.
>
> This seems right. A domain is just a set of values. In relational
> algebra, this set is required to be non-empty since attributes are
> non-null.
It is worm season, it seems :-)
>>>> 3. Domain of a function. See function, math context.
>
> On the other hand, mathematics does not require a domain to be non-empty.
>
>>>> >>>> >>>> >>>> [Function] >>>> For now we have to live with different meanings >>>> of _function_ when talking about databases: >>>> "The function of this function is to get the tuples from B >>>> that are functionally dependant on A."
>
> No, there is always just one meaning of function in database.
Would s/meanings/uses/ take away your objection? If not, which one meaning?
>>>> Three different contexts, but just about the same meaning: >>>> >>>> 1. General >>>> A purpose or use. >>>> >>>> 2. Math >>>> A binary mathematical relation over two sets D and C that associates >>>> with each element in D exactly one element in C. >>>> Set D is called the domain of the function, C its codomain.
>
> Essentially correct, although to be rigorous you need to define how such
> binary relation can define the meaning of "associating each element in D
> exactly one element in C."
>
> Not all binary relation has this property.
IMHO this goes way beyond the glossaries purpose. However, if you have a simple replacement that would cover this it would be welcome.
>>>> 3. Software >>>> A subroutine, procedure, or method.
>
> Yea. It's really an abused use of the term in software design.
> Subroutines in software has no clear domain since same input arguments
> can product different outputs.
I'll keep this for now. Let's hope somebody gets irritated enough to write a better piece.
>>>> >>>> In both the math and software context, there is a sense of >>>> direction from domain (input) to codomain (output). >>>> For most purposes, this intuitive picture is good enough: >>>> >>>> |------------| >>>> --- x ---- >| f-machine |------ f(x) ----- > >>>> |------------| >>>> >>>> Where x is input in the "f-machine" and f(x) is output.
>
> Fair.
>
>>>> >>>> notes: >>>> every operator is a function >>>> every function is a relation
>
> Yes.
Thank you for your comments.
-- What you see depends on where you stand.Received on Tue Jan 15 2008 - 17:29:40 CET