From: DF
To: Editor
I first got turned on to your website via your Against the
Grain column and one other time inquired about a non-SQL relational
language. I've tried several approaches towards putting this e-mail together
and have been unhappy with all of them.
There's a chance I'm completely missing something, or [once
again] I'm on the wrong end of terminology wars. By way of background, I'm a
system architect doing OO work with C++. When I first moved from the procedural
oriented paradigm to OO I commented that OO seemed to be all based on abstract
algebra and set theory--which is roughly how you are describing a [true]
relational database. I'll plead ignorance on what people mean by "OO
database", but it would seem to me that your definition of a
"true" relational database should dovetail nicely with an OO
environment--even if the terminology doesn't exactly line up.
Am I missing something?
[By the way, I understand why you constantly have to
distinguish what you mean by relational database from SQL-databases.
Unfortunately the English language is rife with examples of words that no
longer have their original meaning or worse, have nearly the opposite meaning.]
Fabian Pascal Responds:While at IBM, Codd
and Date warned of problems with SQL when it started originally as just a
research prototype, but IBM rejected Codd's own language Alpha in its favor,
for expediency. There was only one commercial non-SQL relational data language,
QUEL by Ingres, which had some advantages over SQL (e.g. no language redundancy
due to subqueries) and, ironically, it failed because everybody needed to be
compatible with (dominant at the time) IBM and, therefore, with SQL. Says a lot
about how the industry operates.
As I explain in chapter 1 of PRACTICAL ISSUES
IN DATABASE MANAGEMENT and in OO for Application Development,
Not Data Managementin the Against
the Grainseries, OO is rooted in programming and, essentially, a
set of guidelines for writing "good" programs. It was never intended
for data management, and it does not specify any specific data model analogous
to the relational model. As far as I know, it does not have any theoretical
foundation.
If by "dove-tail nicely" you mean that one can
write OO applications to access RDBMSs, we are in agreement; OOPL makes sense,
but ODBMS does not. Programmers speak of "impedance mismatch", but
that's because most know only programming and don't understand the distinction
between applications and DBMSs (see my forthcoming two-part article To a
Hammer Everything Looks Like Nails in the Against
the Grain series).
Posted
05/09/02
[ABOUT]
[QUOTES]
[LINKS]