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>
>
> A set of name and type pairs.
>
> OK. But it is equivalent to Date's definition.
>
> Instance is the same as relation so this is another (and more complex)
> relation definition.
>
> The problem here is that we need to define what "to have the same
> header" means.
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