Re: Database design

From: Alexandr Savinov <spam_at_conceptoriented.com>
Date: Thu, 23 Feb 2006 13:31:19 +0100
Message-ID: <43fdab16$1_at_news.fhg.de>


x schrieb:
> "Alexandr Savinov" <spam_at_conceptoriented.com> wrote in message
> news:43fd75ce$1_at_news.fhg.de...

>> x schrieb:

>
>>>> Anyway, I do not understand why a structure without an order

> (hierarchy,
>>>> multiple levels, depth etc.) cannot be characterized as flat? It is
>>>> rather precise characterization (in contrast to many terms from

> academic
>>>> papers which are frequently simply misleading).
>>> third level - the relation
>>> second level - the tuple
>>> first level - the value
>>> And each value belong to a domain also.
>>>
>>> How flat is this.

>
>> Because what you wrote is actually a definition of being flat:

>
> You said "depth", "multiple levels".
> I have shown you "multiple levels".
> I don't know your "definition of being flat".
>
>> Space (say, 2-dimensional Euclidean space)
>> Point (in this space, as a combination of 2 coordinates)
>> Coordinate (a projection of the point on some axis)

>
> The Euclidean space and a relations are not the same thing.

Yes, but under certain formal and informal assumptions we can show that they are.

>> Since there is no continuation (this space is not nested) we say it is
>> flat.

>
> YOU keep saying that.

Yes, that is right, we are saying that.

> Continuation ? At infinity ?

No. Infinity does not exist. To any desirable level. That is, the depth is not fixed. Actually we can continue to different depth along different dimension - any dimension may have its own depth (maximum level of details).

>> We can build a non-flat space if assume that coordinates are
>> themselves points with their own coordinates.

>
> Nobody stop you to do that in the RM.

Yes, using RM we can implement a non-flat (hierarchical space). (And not only this, but also graphs and many-many other structure.) But the question was what we can implement using only one table. That the statement was that one table is flat.

>> Those coordinates could
>> also be points with their own coordinates and so on.

>
> At infinity ?

To any desirable level down to the maximum depth.

>> Alternatively, we
>> can continue this space hierarchy in the opposite direction (upward).
>> The points from this set can be used as coordinates for points from
>> another set. Those points can again be used as coordinates.

>

> Nobody stop you to do that in the RM.

Yes, RM is powerful and flexible enough to model such structures. But the question is if one table can do that.

>> So we call a structure flat if it can be shown equivalent to a
>> n-dimensional space (without a hierarchy).

>
> You call it so. I have not seen a formal definition.
> A relation is not equivalent to a n-dimensional space.
> Please define the equivalence relation.

I already defined. Here it is again:

Domains = Axes
Values = Coordinates
Points = Records
Relation = N-dimensional space

If you change values of a record then you move it in this space by changing its coordinates. In the case of NULL this point does not exist along this axis (it is not visible from that perspective, is not projected on this axis).

> What do you mean by "an n-dimensional space is without hierarchy" ?
>
> Product
> Vendor p1 p2 p3
> v1 c1 c2 c3
> v2 c4 c5 c6
>
> has at least two hierarchies:
> Vendor --> Product
> Product--->Vendor

Implicitly you assume the existence of two tables while we are talking about one table only. With tables you can model two levels. With more tables you can model more levels (or more dimensions - it depends how you arrange and interpret them).

So again, the question is what can we model with a single table. Since the number of levels is limited we could find it natural to call such a structure flat. That is all.

-- 
http://conceptoriented.com
Received on Thu Feb 23 2006 - 13:31:19 CET

Original text of this message