ON WHAT WRITERS SHOULD KNOW BUT DON’T
with Fabian Pascal

 

 

 

From: Jack Herrington

To: Editor

Date: 09/17/2003

 

I recently wrote an article for DevX on the simple matter of using replacement operators in query strings.

 

I got such great feedback that I've proposed writing a follow up article on the misuse of relational databases and on the value that today's databases provides. Do you have any interest in providing a brief editorial glance at the article once it's finished? I would love to get your feedback on it.

 

BTW, I think your site is great. You are providing an excellent service for the software engineering community.

 

 

From: Fabian Pascal

To: Jack Herrington

 

Instinctive comments: "Good SQL" is a bit of a contradiction in terms. And SQL DBMSs are not "relational databases".

 

I can't guarantee it, but I will do my best.

 

Glad you think so. As to the software engineering community, they are the last to appreciate it. The relational model is science, not engineering.

 

 

From: Jack Herrington

 

So what would you recommend that a production engineer use if not SQL?

 

 

From: Fabian Pascal

 

You missed my points, demonstrating why I am reluctant to review/advise on material by others, except for debunking purposes. Most lack a proper knowledge of fundamentals--and cannot be educated via reviews of their writings--and are too steeped into products and industry to see the points I am trying to make.

 

First, you made the common mistake of confusing DBMS with database and SQL with relational. I corrected that.

 

Second, practitioners should be made aware that SQL is neither truly or fully relational, nor is it a good language. They may still have to use it, but they must understand its pros and cons. A major reason why they don't write "good SQL" is precisely because they don’t know what relational really is and learn SQL syntactically, in “cookbook mode”, without a clue as to the real pros and cons.

 

Had they known any better, they would have also demanded better languages form vendors. The reason they don't get any is because nobody knows what to ask for and buys into whatever the industry throws at them, without ability to assess it.

 

If you want to know what a good relational language is, check out Tutorial D proposed by Date and Darwen in THE THIRD MANIFESTO. One implementation faithful to those principles is Dataphor by Alphora.

 

 

From: Jack Herrington

 

Yeah, I'm afraid this article is going to be pretty 'steeped in products' because it will be about production engineering. The problems that I see on a day-to-day basis are misuse of SQL in its limited framework, and not about a misunderstanding of relational theory. So the article will be about SQL DBMSs and their proper use.

 

 

From: Fabian Pascal

 

You see only what you know and you don't see what you don't know. I am not convinced that you know and understand the relational model enough to be able to tell how it does or does not affect practice, and with what consequences. If so, your perspective is incomplete and inadequate.

Most "misuse" of SQL pertains to failure to take advantage of what relational features it does provide and taking disadvantage of relational violations. Failure to realize that does not make one a good educator on the proper use of SQL.

 

 

Posted 11/07/03

 

 

 

[ABOUT] [QUOTES] [LINKS]