Dear Greg,

You have put your finger on my point about MUMPS, the relational model, the hierarchical model, and so on--they are just the raw materials. They shape the way we solve the problems we face, but they do not usually prevent us from solving problems. If I am an architectural designer working with a client, the conversation is far more productive if we focus on what the client wants in terms of functionality--a hospital, a house, a bridge--rather than the client wasting their time telling me they have heard that cement is superior to steel.

I completely agree that the table is no more the ultimate abstraction of the relational model than the tree is of the hierarchical model. At a panel session at the MTA annual meeting in the mid-nineties, during a discussion of database paradigms, it first occurred to me as I was talking that the relational and hierarchical models were mathematically equivalent, and that an intelligent DBMS should be able to mathematically morph the same data back and forth between the different equivalent structures. This struck me because I was objecting to an audience member who believed that the relational model had invented the ideas of keys, indexes, relationships, and so on. I was trying to explain that all of the major database paradigms share such common concepts, that the differences lay elsewhere. I was just starting to argue it was in the geometry each used to represent one-to-many and many-to-many relationships when it struck me that the work of Greg Shorr for IHS on QMan and of Tami Winn for VHA on the Meta-Data-Dictionary demonstrated their mathematical equivalence.

The whole point of abstract data types is to get away from such primitives as trees and tables to metaphors that better match the real things we want to describe--patients, visits, nurses, etc. This is why it is good that object orientation has come to dominate computer science--it is the most ruthlessly committed to strong metaphors.

However, the idea of such higher-level abstract data types is in no way specific to the relational model. Most of the interesting things you can do with any database paradigm are common to them all. To answer a question like how are the relational and hierarchical paradigms different, we have to reduce them down to what makes them unique, to caricature them. You are right, though, that it is crucial thereafter to re-generalize, to explain that none of these paradigms are limited to their primitive abstractions.

Yours truly,
Rick


Greg Woodhouse wrote:


I find it useful to think in terms of data types. I believe that what
you are saying here is that it is important to abstract away from the
primitives used to implement other types. Just as pointers are the
basic primitive used in a language like Pascal to implement abstract
data types, tuples and relations are the basic primitives used in the
relational world to model other structures. I believe it is
unnecessarily narrow (and in fact, a caricature of the relational
model) to think of the table as the basic *abstraction* of this model.
That would be like saying pointers and subfiles are the basic
abstractions with which one works in Fileman. That's just not true.
They are *primitives* used to model abstractions that can be quite
complex.

Think about this way: Bricks and mortar may be used to  construct
buildings (well, maybe not out here in earthquaqke country), but when
an architect looks at a building, (s)he does not see (just) brick and
mortar. There is much more that can be said about buildings than simply
that they are built out of certain fundamental components.



-------------------------------------------------------
SF.Net email is sponsored by:
Tame your development challenges with Apache's Geronimo App Server. Download
it for free - -and be entered to win a 42" plasma tv or your very own
Sony(tm)PSP.  Click here to play: http://sourceforge.net/geronimo.php
_______________________________________________
Hardhats-members mailing list
Hardhats-members@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/hardhats-members

Reply via email to