Re: Is a function a relation?

From: David BL <>
Date: Fri, 26 Jun 2009 16:52:39 -0700 (PDT)
Message-ID: <>

On Jun 27, 2:22 am, "Brian Selzer" <> wrote:
> "David BL" <> wrote in message
> > * Do you draw a distinction between a relation variable and a
> > relation value?
> Of course, but I think in terms of relation schemata instead of relation
> variables. Date and Darwen's databases_as_collections_of_relvars paradigm
> presupposes assignment as the only mechanism for implementing database
> updates. Relation schemata serve the same purpose as relation variables but
> without the baggage of assuming an implementation methodology.

If a database system records relations, then there are relation variables. I fail to see how you can deny that. It follows from the definition of 'variable'. Also when a variable changes then by definition it has been reassigned. I don't see how that assumes any implementation methodology. Definitions in themselves don't imply anything at all.

> > * Do you think it's possible to talk about the relation value
> > recorded in a relation variable in a particular database at a
> > particular time?
> I'm not sure what you're asking here. A database is a set of relations that
> conforms to the database schema. The state constraints specified on the
> schema determine the set of all possible databases. Only one possible
> database can actually be /the database/ at any given point in time. It
> should be possible to talk about any relation in any database at any time.
> That's why I don't understand your question.

I find many things you say very confusing. A database... all posible possible database...the database...any database. What do you mean by the word 'database'?

I distinguish between a database type (aka database schema), database variable (aka physical database system with named relvars) and database value (aka tuple with RVAs).

I was talking about the idea of there being a value of a given relation variable in a given database system at a given time.

> > * Is a relation value necessarily associated with some external
> > predicate?
> If I understand correctly what you mean by 'external predicate,' then the
> answer is a qualified 'yes.'

Well I think the answer is 'no'.

> Each and every value is the result of applying
> the valuation function to a term under an interpretation at the instant of
> interpretation. For things that cannot change, such as mathematical
> objects, that function application yields the same result at every instant
> of interpretation, and as a consequence of that being taken for granted,
> values are often incorrectly treated as being equivalent to the symbols or
> compositions of symbols that are terms in a formal language. The problem is
> that for things that can change, a particular composition of symbols can
> mean different things at different times. For example, the phrase, "the guy
> in the red t-shirt and blue baseball cap" may describe different guys at
> different times, even though in each given context it is sufficient to
> identify a particular guy. So since relations are values, they are each
> extensionally the result of applying the valuation function to a distinct
> composition of symbols under an interpretation at the instant of
> interpretation, and therefore are associated with both the interpetation and
> the instant of interpretation.

We have different definitions of the term 'value'. I use it (only) to mean an abstract, well defined mathematical object like a particular integer, completely divorced from any appearance of that value (such as being used to record someone's age).

When you say a value means different things at different times it seems like you're thinking a value is what C.Date calls an appearance of a value, which actually has more to do with a variable that exists in time and space.

> > * What is the definition of equivalent relation values?
> In what context?
> > * Do you think it's possible to say that distinct relation variables
> > (possibly in distinct databases) happen to have recorded the same
> > relation value at particular times - even though the relation
> > variables have distinct external predicates?
> A relation is a named set of sets of named values. The name of a relation
> is significant and should, I think, preclude it from being recorded in
> distinct relation variables.

I don't consider relation values to have names.

> Also, one cannot assume that the name given to
> a domain defined in one database schema would be identical to the name given
> to the same domain in another database schema, so there is no common frame
> of reference in order to compare relations in databases that conform to
> different database schemata. In the case of ETL applications, the frame of
> reference is supplied in the form of a schema mapping between systems.

When the integer value 5 is encoded in various databases around the world, do you consider that it is the same integer being recorded? Received on Sat Jun 27 2009 - 01:52:39 CEST

Original text of this message