Re: RM and definition of relations/tuples



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 product 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.
.



Relevant Pages

  • Re: RM and definition of relations/tuples
    ... 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. ...
    (comp.databases.theory)
  • Re: RM and definition of relations/tuples
    ... 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. ... theoretical research. ...
    (comp.databases.theory)