ON HIERARCHIES
with Fabian Pascal

 

 

 

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]