Re: Relation Definition

From: Jan Hidders <jan.hidders_at_REMOVETHIS.pandora.be>
Date: Mon, 21 Feb 2005 22:18:52 GMT
Message-ID: <g7tSd.17729$Nb3.1421362_at_phobos.telenet-ops.be>


Alfredo Novoa wrote:
> On Sun, 20 Feb 2005 11:22:29 GMT, Jan Hidders
> <jan.hidders_at_REMOVETHIS.pandora.be> wrote:

>> 
>>That definition is problematic for several reasons: (1) What is exactly 
>>a "set of named typed attributes"?

>
> A set of name and type pairs.

That definition would allow two pairs with the same name.

>>Def. [Relation type] A *relation type* is a partial function that maps 
>>column names to domains and is defined for a finite set of column names.

>
> OK. But it is equivalent to Date's definition.

Of course. I didn't say his definition is incorrect.

>>Def. [Instance] A *relation is an instance of a relation type* if it 
>>holds for all tuples in the relation that (1) they are defined for the 
>>same set of column names as the relation type and (2) they associate 
>>column names with an element of the domain that the relation type 
>>associates it with.

>
> Instance is the same as relation so this is another (and more complex)
> relation definition.

The definition doesn't define what an instance is, it defines the instance-of relationship between relations and relation types.

>>Def. [Relation] A *relation* is a set of tuples that all have the same 
>>header.

>
> The problem here is that we need to define what "to have the same
> header" means.

No we don't. It means their headers, as defined earlier on, are the same.

  • Jan Hidders
Received on Mon Feb 21 2005 - 23:18:52 CET

Original text of this message