Re: RM and definition of relations/tuples
From: Martin Zapf <Martin_Zapf_at_gmx.net>
Date: Fri, 25 Nov 2005 11:21:01 +0100
Message-ID: <dm6oim$39k$1_at_online.de>
>>I have a question to the Relational Model and the definition of
>>relations and tuples.
>>
>>
>>I learned the following definitions:
>>
>>A relation schema R is a set of Attributes R={A_1,A_2,...,A_n}
>>Each Attribute A has a domain dom(A)
>>
>>Here comes the problem, there are two definitions for relations/tuples
>>
>>1. defintion:
>>
>> A relation r for schema R is a mathematical relation (cartesian
>> product) over the
>> domains from the attributes of R.
>> So r:=dom(A_1)xdom(A_2)x...xdom(A_n)
>> A tuple is an element of r.
>>
>>2. definition
>>
>> A relation r for schem R is a set of tuples.
>> A tuple t is a function
>> t: R -> Union (dom(A_1),dom(A_2),...,dom(A_1))
>> t maps each Attribute of R to an value of its domain.
>> So a relation is a set of functions, which are called tuples.
>>
>>
>>I noticed, that the difference between this two definition is that
>>definition 1 forces a certain order for the Attributes and the values
>>for them in the tuples.
>>The 2. definition doesnt need any order for the attributes.
>>
>>
>>Im quite confussed, is there a "better" definition or should you always
>>use both?
Date: Fri, 25 Nov 2005 11:21:01 +0100
Message-ID: <dm6oim$39k$1_at_online.de>
vc wrote:
> Martin Zapf wrote: >
>>I have a question to the Relational Model and the definition of
>>relations and tuples.
>>
>>
>>I learned the following definitions:
>>
>>A relation schema R is a set of Attributes R={A_1,A_2,...,A_n}
>>Each Attribute A has a domain dom(A)
>>
>>Here comes the problem, there are two definitions for relations/tuples
>>
>>1. defintion:
>>
>> A relation r for schema R is a mathematical relation (cartesian
>> product) over the
>> domains from the attributes of R.
>> So r:=dom(A_1)xdom(A_2)x...xdom(A_n)
>> A tuple is an element of r.
>>
>>2. definition
>>
>> A relation r for schem R is a set of tuples.
>> A tuple t is a function
>> t: R -> Union (dom(A_1),dom(A_2),...,dom(A_1))
>> t maps each Attribute of R to an value of its domain.
>> So a relation is a set of functions, which are called tuples.
>>
>>
>>I noticed, that the difference between this two definition is that
>>definition 1 forces a certain order for the Attributes and the values
>>for them in the tuples.
>>The 2. definition doesnt need any order for the attributes.
>>
>>
>>Im quite confussed, is there a "better" definition or should you always
>>use both?
> > > The first definition is closer to the "mathematical" relation where a > tuple is an *ordered* sequence. The second definition is what database > folks prefer to use (see Codd, Date, et al) where a tuple is a *set* of > attribbute:value pairs. One can be mapped to the other and I would not > worry too much about the difference unless you are doing some d.b. > theoretical research. >
