Re: Relational vs network vs hierarchic databases
Date: Sun, 21 Nov 2004 05:55:39 -0500
Message-ID: <O4CdncuGUdSw6T3cRVn-uw_at_comcast.com>
"Dawn M. Wolthuis" <dwolt_at_tincat-group.comREMOVE> wrote in message
news:cnooup$puq$1_at_news.netins.net...
> My questions and point were directed toward the following argument related
> to data modeling and database design:
>
> 1. A human being at least sometimes will find it easier thnk in terms of
a
> variety of structures for stored data rather than use relations as the
only
> compound structure. There are times when a person might want to think of
the
> data in terms of a tree or graph. Do you agree?
Agreed, with one caveat. Easier thinking is not always better thinking. Design is not necessarily a natural act.
> 2. Developers, data modelers, and DBAs (and any other roles interacting
> with a database or DBMS) are human beings (I won't ask for agreement on
> that one)
I disagree. There are roles that have become part of the system's responsibility.
> 3. Computers are sophisticated enough that they could provide an
interface
> for the data model that is more natural for the IT professionals who are
> users (developers, data modelers, DBAs, for example). Is that correct?
Again, natural may or may not be better.
> 4. Therefore, there is no reason to insist that in the interface between
> human being and DBMS for the purposes of modeling an designing databases,
> relations should be the only compound structure (that would have to be
> defined for this to be a rigourous argument, but bear with me).
>
No problem about rigor, as long as I know, or think I know, what you're talking about. This is a discussion, not an oral exam.
I am not sure that I agree with "no reason". You might argue that there is "insufficient reason".
You may want to add "conceptual design", where even I don't insist that the relational model is the only sucessful model, or even the best model.
> Then my second line of questions is this:
> 1. The relational model is intended at the logical level and does not say
> HOW a DBMS should be implemented. Is that correct?
I think the word "logical" has become overloaded in the c.d.t. Many years ago, the term "logical layer" was used to mean approximately "exposed to the programmer", and the term "physical layer" was used to mean "unexposed to the programmer". Now, I think it's used to mean much more, although I'm sometimes mystified as to exactly what it's supposed to mean.
> 2. Therefore, relations need not be the only compound construct used in
the
> interface between the DBMS or any database-related software and the
machine.
> Agreed?
>
> Therefore, for the purposes of data modeling and data(base) design, there
is
> no reason for relations to be the only compound construct at the logical
nor
> the physical level. Do you agree?
I don't agree at the logical level. At the physical level certainly agreed.
I am not sure that logical thinking and natural thinking are all that similar.
>
> On the query side, relations provide us a means to stick to a subset of
1st
> order predicate logic (which I've been reading up on a bit), so some
suggest
> a need for only relations as compound structures for querying. However,
> there are examples, such as XQuery and the old MultiValue query language
> that demonstrate the ability to query data that has compound structures
> other than relations nested within relations. So, even if the theory is
> simplified with only relations as our compound structures, it is proven
that
> is isn't necessary to stick to relations as the only compound structure in
> order to be successful with a query language.
>
It's not clear that the examples you cite are "successful". What is
success?
> This is just a high level outline of the arguments that are shaping up for
> me, but it is not hard to state these points more rigorously (requiring a
> glossary, thus my request for the current version). And then the
conclusion
> might be something like this:
>
> Since relations are not necessary for either the machine nor the human
being
> as the sole compound structure for data, there is no reason for us to
stick
> to what is current termed "the relational model".
>
Simplicity, power and demonstrated worth are reasons to stick to one compound. Whether they are sufficient reasons is something you might want to argue.
Again, I'm not prepared to abandon the relational model, until there is something demonstrably better. "Demonstrably" doesn't quite mean "proveably". The Wright brothers demonstrated that their flyer could fly. (Well, they didn't demonstrate it in public until years after the first flight, but I digress).
> I'm sure there are holes in a few places here, so please don't hesitate to
> point them out as I do want to ensure my reasoning is tight.
> Thanks. --dawn
This is better than what you were doing before. Earlier it just seemed like yet another rant against the relational model. Received on Sun Nov 21 2004 - 11:55:39 CET
