ON XML AND FOUNDATION KNOWLEDGE
with Fabian Pascal

 

 

 

From: JG
To: Editor

Date: July 28,2003


I saw this exchange on your site On Look, Ma, XML, No Database Design! about the following quote from Oracle's XML DB documentation:

"Storage Independence: When you use relational design, you client programs need to know where your data is stored, and in what format, what table, and what the relationships are between those tables. XML Schema allows you to write applications without that knowledge, and allow the DBA to map structured data to physical table and column storage."

 

Recently I wrote a couple articles about XML DB, and I too saw this quote and was bemused by it. It's important to bear in mind though, that this passage was written from an XML-centric point-of-view.

This quote is bemusing, because it calls to mind one of the justifications for relational databases: that programmers no longer need to worry about where and how their data was physically stored. This is the same thing come 'round again, but on a different level. Whereas COBOL programmers needed to map their data into files, and relational databases freed them from worrying about files, XML programmers often need to map their hierarchical data onto relational tables, and XML Schema frees *them* from worrying about that mapping.

It occasionally seems to me that the computing industry moves in cycles, solving the same problems over and over again, but at different levels of abstraction. This strikes me as one example of such a cycle.

Oracle is not declaring their database to be obsolete, as TH suggests in his email to you. The passage in the manual makes perfect sense once you realize the target audience consists of XML programmers. I admit though, that the manual writer's choice of words here is rather humorous and initially confusing.

 

From: Fabian Pascal

To: JG

 

Practitioners today in general and XML people in particular, do not learn any fundamentals, they are self-taught on products only, so there is no way for them to know and understand what's behind technologies and products, it's all marketing crap.


From: JG

 

Thinking back, I began with products myself, and even now I'm not so sure I'm strong in the fundamentals. In many cases I've probably backed into the fundamentals, having learned product specifics first only to later come back and learn how those product specifics fit into the overall fundamental puzzle. I'm not entirely certain that's a bad approach. Children learn specifics first and generalities later, why not adults?

You know, I should tell you a story about my first book on SQL and databases, which was perhaps only my second computer book purchase ever. It was Date's "A Guide to the SQL Standard", the first edition. I first saw it in a bookstore in the Saginaw Mall while working for Dow Chemical. I can still picture in my mind where I was standing. The book looked really good, but I couldn't convince myself to part with $35.00 for a book that was less than 1/4-inch thick. So after a fair bit of bureaucratic rigmarole, I got Dow to buy it for me. What a cheapskate I was!

Well, I must tell you that Date's little book had a HUGE impact on me, especially the appendix in which he discussed all the various things he didn't like about SQL. That little book put me head-and-shoulders above everyone else in my department when it came to working with relational databases. I became the go-to guy for DEC's Rdb, and I fell in love, so-to-speak, with SQL and relational technology.

Eventually Dow laid me off, and I left that first-edition behind when I vacated my office--something I kick myself about to this day. (I was too honest to take it, because it was "the company's") I've bought every subsequent edition though.

So next time you see C.J. Date, please tell him his little book is one of the key things I look back on as having propelled me down the road to a career working with (and now writing about) databases. It was probably the most money I ever paid per-page for a computer book, and yet I probably got the greatest value in return.

And by extension, if I ever write an article and Date doesn't like it, well, it's his fault <grin> for having got me started.

So if I were going to write one article on fundamentals for Oracle DBAs and/or Oracle programmers, what would it be about? What fundamentals are we lacking?

 

 

From: Fabian Pascal

 

I can spend about half an hour explaining why it's a bad idea. Children learn by trial and error and that's a very inefficient way for adults. Besides, very few fall back like you on fundamentals, there's no demand for it in this society and they're not even aware there's anything like that. And thinking is hard, if it's not instilled in you, which is on purpose.

Not entirely your fault. You are a product of this society and this is what it socializes you to. Intentionally.

 

Good for you, but in most cases that does not work. You normally would be marginalized for trying to do things right. After all, that's all theoretical stuff and they have practical things to do.

 

I will forward your message to Chris.

 

That's what the website, papers, books and seminars are about--you want it by email? Are you still cheap? :).

Go through the weekly quotes and see if they make you cry or laugh; if not, you lack the fundamentals.

Ask yourself, can you precisely define a database? A DBMS? Data independence? The Information Principle? Closure? And so on.

 

 

Posted: 10/03/03

 

 

 

[ABOUT] [QUOTES] [LINKS]