Fabian Pascal Reacts
Kardamon writes "Fabian Pascal reacts on the recent Slashdot discussion about SQL, XML, and the Relational Database Model, both on DBAzine and on his own web site Database Debunkings. An Open Source implementation of his ideas and those of C.J. Date and Hugh Darwen is REL."
As for "REL [sic] or any other SQL++ contender" not having much chance, you're right. But I remember when "not much chance" was the typical response of IT directors when asked if they'd ever give up greenscreen mainframe terminals and adopt PCs. The same will always be said about programming languages, too. Entrenched languages do get displaced. For example, how many shiny new applications are being written in FORTRAN?
Anyway, I see nothing wrong with retaining SQL as a protocol for communicating with legacy databases, especially if the SQL code is machine-generated. The external database connection facilities I'm developing for Rel use SQL in this manner. But, just as I'm not sending email by hand-coding SMTP transactions, and not writing complex GUIs in assembly language, I'd rather not develop database applications using SQL. It's simply not an efficient language for writing complex apps.
Tired of SQL? Try a true relational database:
That is most certainly wrong: by using a more expressive syntax, you are able to convey more exactly what it is you are requesting, and thereby enable the database to optimize better.
Case in point: hierarchical relations. (Standard) SQL does not allow you to retrieve a list of nodes in a tree, so you have to emulate that query by issuing multiple queries in your application, in some stored procedure, etc. If SQL had proper support for relationships like that, the database could tell what you're requesting, and optimize the query.
Proper support is also key: while Oracle does support the CONNECT BY mechanism, it's only a kludge. For example, you can't order the result set so that siblings are ordered in a specific way while still preserving the tree structure. There are work-arounds for all of these issues, but direct, proper support in the language would still go a long way.
Be easy on the guy, he's got a lengthy track record of going hyper as a result of public BBS discussions.
:)
:)
Long before there was a Slashdot or a public recognition of the internet, there was Compuserve and its discussion forums. One such forum, CONSULT, for computer consultants, would regularly see Fabian go into apoplectic seizures and jihaads of righting conceptual database wrongs. You'd log in to forum view and see threads that had 127 messages since that morning, for example; those were the ones where Fabian was pissed off and taking no prisoners. I seem to recall that he was eventually banned from CONSULT.
My guess is that hosting his own web site is a Godsend for him. He can rant and rave without contradiction, something that was hard to do and get an audience back in the very early 90s.
So seeing this title today was mildly amusing to me.
PS: I have a Compuserve subscriber magazine from 1991 that features Rush Limbaugh's own discussion area on Compuserve. So, many obsessive-compulsives got their start on "CI$".
... he does actually have a point with his Introduction to REL. I wrote a comment in the last article which puts SQL and DB design into perspective. It actually emphasises what he's trying to do with REL. There's no doubt: SQL does suck, whether it's sufficent to describe relations or not. And while you definitely shouldn't use a DB PL to design a DB (see other comment), we actually could use a successor to SQL.
We suffer more in our imagination than in reality. - Seneca
> I have yet to find a description of XML schema processing in terms of grammars and parsers.
You are seriously joking, yes? Read anything about RELAX NG for a start. Look at programs like relaxer and other Schema compiler compilers. RELAX NG was based on Tree Automata from day one.
The dangers of excessive individualism are nothing compared to the oppressiveness of excessive collectivism