Re: Database design

From: Alexandr Savinov <spam_at_conceptoriented.com>
Date: Mon, 20 Feb 2006 17:19:32 +0100
Message-ID: <43f9ec1d$1_at_news.fhg.de>


Roy Hann schrieb:

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

>> Roy Hann schrieb:
>>> "Mark Johnson" <102334.12_at_compuserve.com> wrote in message
>>> news:acrfv1l86m3aqgfc2a3gj1btrbm1ja8r6p_at_4ax.com...
>>>> "friend.05" <hirenshah.05_at_gmail.com> wrote:
>>>>
>>>>> I want to desgin a database for Tag Structure. Database design that
> can
>>>>> store heirarchy of tags developed my users.  Present most popular
> tags.
>>>> You are asking if a relational database, with its flat
>>>> tables/relations and link keys can be used to store nested markup -
>>>> such as XHTML.
>>> I struggle to see how something that is n-dimensional could be called
>>> "flat".  Roy

>> There is two separate issues:
>> - multidimensionality, and
>> - hierarchy
>> "Flat" in this context means (as far as I understand) the absence of
>> hierarchy, i.e., all the elements are at the same level.
> 
> I think you are reading something that was never written.  The phrase that
> was written was "a relational database, with its flat tables".

Yes, I misinterpreted that statement. Anyway, qualifying tables as having a flat structure is not far from truth.

>> Naturally this
>> has nothing to do with n-dimensionality, i.e., n-dimensional model can
>> well be flat (non-hierarchical) and vice versa a hierarchical model
>> might well be one-dimensional. An example is any relational model which
>> is intrinsically non-hierarchical (that is, flat).

> 
> No doubt.  I guess.
> 

>> Here it is also
>> assumed that the model itself is unaware if there is a hierarchy in the
>> data it models or not because it does not care - it is based on other
>> principles. However, the designer may well use it to model a
>> hierarchical data (as well as many other types of data organization). In
>> this case he/she must be responsible for the hierarchy maintenance
>> (integrity etc.) For example, we might model a tree but the model does
>> not know that it is a tree and hence cannot help us in its use.
>
> I agree. But so what? I could have an attribute of type "tree".

Then the question is who will manage its content and be responsible for integrity, consistency and other issues? If it is the database then it could be qualified as a tree-aware database. If it is you then the database is of non-tree type (even if it stores trees). Thus it does not matter what kind of data a database stores. It is important what portion of its semantics it can understand and manage.

-- 
http://conceptoriented.com
Received on Mon Feb 20 2006 - 17:19:32 CET

Original text of this message