Re: RM and definition of relations/tuples
From: Jonathan Leffler <jleffler_at_earthlink.net>
Date: Sat, 26 Nov 2005 07:14:07 GMT
Message-ID: <3XThf.1293$Hk1.579_at_newsread1.news.pas.earthlink.net>
>> 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.
Date: Sat, 26 Nov 2005 07:14:07 GMT
Message-ID: <3XThf.1293$Hk1.579_at_newsread1.news.pas.earthlink.net>
Martin Zapf wrote:
> 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.
> > I also figured that out, a mathematical relations (subset of catesian > product) is ordered because the elements of a cartesian products are > ordered sets by definition.
> And yes I have to do some theoretical db stuff so Im asking myself: > If there are two definitions for the same thing, what is the universal > valid and precise definition for the RM? This two definitions cant come > out of nowhere, can they.
-- Jonathan Leffler #include <disclaimer.h> Email: jleffler_at_earthlink.net, jleffler_at_us.ibm.com Guardian of DBD::Informix v2005.02 -- http://dbi.perl.org/Received on Sat Nov 26 2005 - 08:14:07 CET