Re: The wisdom of the object mentors (Was: Searching OO Associations with RDBMS Persistence Models)
Date: 2 Jun 2006 21:07:56 -0700
Message-ID: <1149307676.784689.167570_at_c74g2000cwc.googlegroups.com>
Sasa wrote:
> Marshall wrote:
> > There is a fundamental, foundational concept to grasp here,
> > that is easily obscured by the excessive verbiage. But
> > unless you get this foundational point, you won't be able
> > to follow the arguments of the c.d.t. people at all. So I'll
> > simply present it in isolation.
> >
> > A DBMS is not "storage." A DBMS is a system that manages
> > data, where "manages" describes a whole host of high level
> > facilities.
>
> So can you list some short but specific keypoints - what are these
> facilities?
The answer to this question begins with "structure, integrity,
manipulation."
Structure is the least of these, but even here, the RM has
significant advantages. The RM has a theoretical foundation,
in the form of set theory and predicate logic. It also has
mathematical formulas for eliminating schemas that are
subject to update anomalies.
http://en.wikipedia.org/wiki/Database_normalization
It is hard reading, and you'll probably have to get further
background info.
Integrity includes the ability to have the dbms automatically
enforce declared invariants on the data. All that is necessary
to have this is to state the invariant formally, in the language
of the dbms. No if/then, no tracking down the various places
relevant updates happen (or maintaing that, as new updates
are added,) no translating a formal requirement into procedural
code: you just state the invariant, and all updates that break the
invariant are rejected.
Manipulation includes the "rich queries" you mentioned. One thing often underestimated is the importance of ad hoc queries due to ad hoc analysis needs. If your data is only available behind a programmatic interface, then any analysis you want to do means you have to write and compile code. You can do an amazing amount of analysis on a database by simply typing in interactive one-off SQL queries.
OOPLs have nothing to compare with any of these things.
Marshall Received on Sat Jun 03 2006 - 06:07:56 CEST