ON TERMINOLOGY
with Fabian Pascal

 

 

 

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]