Re: Little question for RDM theoristes
Date: Fri, 16 Jun 2006 16:16:12 GMT
Message-ID: <gPAkg.71272$YI5.4205_at_tornado.ohiordc.rr.com>
U-gene wrote:
> Two relations (relvalues) exists. These relations have different
> headers (schemas). Are these relvalues the values of different types?
Precisely stated, a relation consists of a *heading* and a body. The mere fact that two relations have different names distinguishes them. Whether two relations, differing only in name (i.e., having identical headings) should exist in a database is a question of properly orthogonal design. But would two such relations be of the same type? Yes, they are the same relation type.
The *relvars* (relation values) of these constitute the bodies of the relations.
> IMHO all relvalues have the same type and the headers is just data. May
> be it is special kind of data which is different from rel.bodies' data.
This is going to get confusing; type is an over-used term. On the one hand, the RM stores and manipulates data stored as scalar types, possibly held in tuple types, and possibly held in relation types.
These are the general types defined in the RM described by Date. The question then becomes, "What type of data may be stored in a scalar type?" (See how 'type' crept in there twice?) The answer would be, "There are boolean scalar types and user-defined scalar types. The user-defined types of scalar types probably include integers, rationals, and characters."
> . But persons exist who think in other way - if relvalues have
> different headers they are values of different types. So I'll glag to
> hear your opinions.
Yes - and no. All relations are of the same type simply because they are all of relation type: they all have a heading and a body. Whether two relations - or relation expressions - are union-compatible depends on whether or not they have the same heading. In other words, if they have the same heading, the types of relation type are the same.