Re: Hierarchical Model and its Relevance in the Relational Model

From: James K. Lowden <jklowden_at_speakeasy.net>
Date: Sun, 1 Feb 2015 18:50:07 -0500
Message-Id: <20150201185007.fe63f080.jklowden_at_speakeasy.net>


On Fri, 30 Jan 2015 03:29:45 -0800 (PST) Derek Asirvadem <derek.asirvadem_at_gmail.com> wrote:

> > On Thursday, 29 January 2015 13:09:08 UTC+11, James K. Lowden
> > wrote: On Wed, 28 Jan 2015 01:52:59 -0800 (PST)
> > Derek Asirvadem <derek.asirvadem_at_gmail.com> wrote:
...
> > > 1. I take issue with your proposal [A]. I charge that it is
> > > completely and totally false. But that is not as important as the
> > > implication [B], which is totally and completely false.
> >
> > Regarding [A], it was Codd's observation. He had to invent the term
> > "hierarchical model" ex post facto to name the thing he was
> > comparing the relational model to.
>
> That is not correct.
>
> I was alive and kicking in those days, and I had moved from kicking
> inflated rubber balls to kicking IMS off its high horse. I was an
> Engineer (it meant something different in those days) for Cincom,
> with TOTAL as our Network DBMS. About a third of us were
> mathematicians (not me of course). All of us were scientists. We
> modelled before we wrote a line of code. Codd didn't invent the
> term. The Hierarchical Model was a fact, and we modelled (we did
> help IMS customers see the light, yes).

Yes, I remember Codasyl, too, and Charles Bachman Overdrive. ;-)

Acknowledged, those systems modelled data as hierarchy. And they were useful, sure. I really doubt, though, that they construed their systems as being based on "the" (or even "a") hierarchical model. The idea was simply implicit.

> We didn't have software to draw models on PCs, but we had excellent
> hand-drawn models, a set of symbols, notation, rules, stencils, etc.
> given to us by authorities in our field.

Yes, which you very much needed, as I'm sure you also remember, both because of the lack of data independence, and because navigating the hierarchy required having a clear picture in mind of the database's structure.

> ... Xerox Star system ...

Enjoyed your reminisce. :-)

> > It's not even a "model", though, insofar as
> > it has no mathematical foundation.
...
> There are millions of models in various fields of scientific
> endeavour that do not have a mathematical foundation.

Sure, but so what? Are there any in computer science without a mathematical foundation? Even if there are, the distinguishing feature of the relational model that it's an inferential system. If we define a "model" as something with an algebra or that supports first order logic, then we have to exclude the hierarchical model from the set.

> We had both the HM and the NM as models, with a set notation, and
> they certainly had a scientific and theoretical basis.

I would like to know more about that. To my knowledge it's not possible.

> > There is no "graph algebra", no set of operations closed over the
> > domain. Graph theory offers no sets, bears no connection to
> > predicate logic.
>
> So what ? A scientific person can, look at a graph, a tree, and
> instantly determine that it has integrity or not. What theory is he
> practising ? What algebra is he using ?

None, and he's completely at a loss for making any logical inferences from it. As far as I know, there's nothing like e.g. SQL EXISTS for graphs. There's no way to say "find all <graph expression> where <subgraph expression> = <graph expression>". Sure, there are ways to iterate over the nodes. There are even things like XPATH to find nodes having particular properties. But the solutions are all ad hoc and complex, and still come nowhere near what RM does.

I think it was Don Chamberlin who remembered Codd going around scribling 12-word relational queries equivalent to several pages of IMS code. Relational didn't win because it was theoretically superior. Relational won because its theoretical superiority permitted implementation of superior systems, which were adopted because they were easier to use, theory or no theory.

> Ok, fair enough, a mathematician might have to sit down and produce a
> new algebra, and a calculus to work with it

I'm saying is that mathematics doesn't exist. If 44 years hasn't been long enough, I suspect "a year or three" more won't be, either.

> Take a look at Norbert's papers about his field (Architectural
> Spaces). AFAIC, they are excellent, they put the papers in the RDB
> field to shame. Well written, well structured, good explanations,
> and finally a mathematical proof.

I don't feel qualified to comment on his work. I don't know anything about topological spaces. I was waiting to see how the dust settles.

> Therefore I say, the notion that the Hierarchical Model rests on a
> theoretical void, is without merit, and in denial of historical
> facts. The HM and the NM had science and theory behind it, as well
> as all the articles required for modelling (just not PCs with drawing
> tools).
>
> (It may well not have a mathematical proof, yes.)

I think we just mean different things by "hierarchical model", and by "model". I still say Codd invented the term simply to contrast it with his work. If you believe otherwise, please cite one paper in database research before 1969 that refers to it.

I acknowledge the existence of IMS et al., and recognize that the data were modelled on a hierarchy. I'm only saying that "model" lacked any of the expressive power of the RM, to the extent they're not really comparable. Hence it's a pretense even to call it a "model".

> > > I declare, the Relational Model is not a replacement for, or a
> > > substitution for the Hierarchical Model; it is a progression of
> > > it.
> >
> > Evidence, please.
>
> (Not avoiding this point, tomorrow, please.)

I haven't forgotten. :-)

I've deleted quite a bit of our back-and-forth because ISTM we meant different things by "model".

> Ok. So then what, in your considered opinion, is the natural or
> "natural" structure for data, or is there none ?

Not to be sophistic about it, but I would say that data don't occur in nature and have no natural structure. As a human construct, they have no more "natural" structure than do novels or cities.

> Question for you. In one para or less, what is your considered
> opinion of the Alice book.

You're on record as calling it an "abortion". I don't know what about it earned your emnity. I have an interest in database theory, and query language complexity. I would like to see SQL replaced by a language that is simpler, more expressive, less verbose, and that better represents relational algebra. I read Part E with great interest, although I don't claim to have mastered the subject.

I think it was from that book that I learned that there are some problems that cannot be expressed in FOL. Hierarchies are in fact an example: some problems require recursion, which, as you know, is inexpressible in relational algebra. The book is quite deliberate about the effects of introducing more power to a language. I have not read a theoretical treatment of SQL's recursion. It seems like a good job to me, a minimal extension. But it also seems harder to use than necessary.

> In one sentence or less, how relevant is it to the field of
> Relational Database design.

Not relevant at all.

> Please do not avoid [F].

Not sure what you mean by "avoid". I didn't intend to avoid anything.

--jkl Received on Mon Feb 02 2015 - 00:50:07 CET

Original text of this message