Re: the relational model of data objects *and* program objects

From: erk <eric.kaun_at_gmail.com>
Date: 19 Apr 2005 06:46:48 -0700
Message-ID: <1113918408.333522.176250_at_o13g2000cwo.googlegroups.com>


Alexandr Savinov wrote:
> The relational model does not have hierarchies and it is obviously a
> serious drawback (one of many, actually).

  1. It's fairly simple to model hierarchies using relations
  2. Hierarchies are far less useful than they seem at first - they have the advantage of being easy for humans to understand, but the emergence of the "matrix organization" is just one manifestation of its limitations.
  3. "Obviously" a serious drawback? Obvious to whom?

> The worst problem however is
> that the relational model does not want to have hierarchies because
this
> theory is in a frozen state and simply does not recognize that there
> could be any problems in use of this model.

So the main problem is not the absence of hierarchies, but that the theory hasn't evolved? A theory that hasn't evolved is either of no interest (and therefore no one wants to work to evolve it), or is useful enough not to require evolution. Relational is both.

> Having hierarchies is only one thread leading to a new model.

Whenever I hear something like this, I sense a cloud of fuzzy doubts amounting to "evidence" not even bordering on circumstantial. Typically people are:
a. looking for relational to include more than it claims to do b. objecting to limitations it doesn't have (e.g. "simple types"), and/or
c. confusing applications with data

> Indeed,
> why we have to store (to model) all our tables in one space/scope?

Every application has a scope. Often "subscopes" overlap. The set of "scopes" of its applications is its organizational "data scope." None of this is especially useful, but even this focus on "scopes" and applications points to an organization's data as being a critical asset of the organization as a whole. Whether this whole is stored centrally or distributed (relational has nothing to say about this, and DBMS vendors can do what they like to make life easy for users), it's a coherent whole, with consistent answers to questions - a database.

> We never do it with our own files or other things so why do we do it
with
> tables?

So because I don't possess a 15' tall automated filing cabinet and a robot to search it, and thus must store papers in different places, our systems should work the same? This is just more useless anthropomorphism. Presumably we want systems that help us work around our deficiencies, right?

> Because there are no other means. Let us assume that there exist
> several departments so why not to model their data structure
separately
> in their own spaces which are subspaces of one common space?

Guessing at your use of the word "space" here (is it the same as a "scope"?), nothing in relational prohibits this. In fact, the very basis of relational is that each relation is a predicate, and normalization gives (VERY loosely here) a way of ensuring that separate things are separate, and dependent things are clearly structured thus.

> It would [be]
> absolutely natural and we could avoid very serious problems
frequently
> encountered in complex systems.

Defecation is also natural; 'nuff said. It has no bearing on computing, except to the extent that you reference inherent limitations in human thought (not what's easy vs. what's not).

How would such a structure help us avoid problems, and which problems do you mean?

You seem to be heading in the direction of "biological" models for complex systems, abandoning logical thought for statistical models of flawed systems. For a coherent treatment of this distinction, see Leslie Lamport's "The Future of Computing: Logic or Biology" (http://research.microsoft.com/users/lamport/pubs/future-of-computing.pdf).

> But we prefer to cheat ourselves by
> repeating that the relational model is the ultimate model and it can
> model any possible situation and if not then you are have low
qualification.

I'd be happy to see a coherent critique of relational, as it would help my understanding of it and alternatives. If you care to present one, I'd like to read it.

> So hierarchies in data modeling are not simply desirable. They must
> exist because any system has a hierarchical natural (fundamental
> principle).

This isn't a fundamental principle; it's wishful thinking. Fundamental to all systems? Just computing systems? Do systems all have to be hierarchical, or is it just more intuititive on the rare occasion that they are?

Although I don't agree with all he says, I'll quote Bertrand Meyer on this: "Real systems have no top."

> But if we introduce them then it will be already a
> completely new model.

Hierarchies are nothing new; relational was invented to overcome the (real-world!) limitations of hierarchical and network data structures. How would your new model address these limiations (amply documented elsewhere)?

  • erk
Received on Tue Apr 19 2005 - 15:46:48 CEST

Original text of this message