Re: the relational model of data objects *and* program objects
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).
- It's fairly simple to model hierarchies using relations
- 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.
- "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.
> 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?
> 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.
> So hierarchies in data modeling are not simply desirable. They must
> exist because any system has a hierarchical natural (fundamental
> principle).
> 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