From: MG
To: Editor
In The Future of DBMS Part 2, you stated:
“The fact of the
matter is that the hierarchic structure does not occur in the real world as
frequently as proponents of the hierarchic approach would have you believe.
Consequently, hierarchic structures must be forced on data to represent
realities that are not inherently hierarchic in character.”
I'm not sure I understand why you said that "...the
hierarchic structure does not occur in the real world as frequently as
proponents of the hierarchic approach would have you believe." I think
there are many real-life examples of hierarchies:
·
machine, assembly, part, ...
·
organization, division, department, group, member
etc.
I think practically any real-life object can be broken down
recursively in smaller entities, which means it is hierarchical.
On the other hand, many entities participate in more than one
hierarchy, and Relational model handles it very well without duplicating those
entities. Every relationship (FK/PK) can be thought of as a hierarchy.
Of course I understand that "Hierarchical Model" is
not universal, while Relational Model is. But I don't think this is the same as
to say that there are very few hierarchies in the real world.
You then concluded that:
"Consequently, hierarchic structures must be forced on
data to represent realities that are not inherently hierarchic in
character."
And again, I don't see why you make this conclusion. Even if
we view many real world structures as hierarchies, it doesn't mean we must
represent them the same way. What about the Three-Schema Architecture? I think
hierarchies of real world are the perfect example of the External Schema,
that's how users may perceive those structures. Meanwhile we represent them in
the Conceptual Schema using the Relational Model.
From: Fabian Pascal
To: MG
I suggest you brush up on your logic and also read the
chapter in my book on trees.
Ø "there
are many life examples of hierarchies" is not inconsistent with
"...the hierarchic structure does not occur in the real world as
frequently as proponents of the hierarchic approach would have you
believe." Think about it and you'll see.
Ø RM
can handle equally well both trees and other structures; the hierarchic model
can handle only hierarchies; that means that if the data is not hierarchic, you
need to force hierarchy on the data;
Ø As
long as you use fuzzy terms like entities and such, you won't see the errors of
your ways. Switch to predicates and you will see them. Which means you need to
have some familiarity with logic, but the problem is most practitioners do not.
IOW, they are ignorant of the foundation of their field.
I DK of many cases like that, but the hierarchic model cannot
handle networks at all, RM can. So that is not an issue at all.
You can "think of” anything as "anything", the
question is why? The XML founders give a bank statement as an example of
a tree; well, you can force anything into a tree, but what do you gain
relative to using tables? You only complicate your life for no benefit.
See above; that is not what I said, that is what you
read.
But the issue here is XML has a HM, and therefore it does require
representing data hierarchically. That is what I was talking about.
Posted
12/06/02
[ABOUT]
[QUOTES]
[LINKS]