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."
Assuming that a Slashdot 'debate' actually is one.
Okay Fabian needs to relax. Take a deep breath! He made two fundamental mistakes which probably cost him to waste time he could have spent on something more productive, or at least personally gratifying... (Although bitching about Slashdot posts can be gratifying, I suppose.)
/another/ warning to all future Slashdotees -- People hidden behind anonymity, even experienced onces, like drivers, will forget that there are real people on the other side of the conversation.
/start/ thinking about a problem, not where they would end up after careful consideration after research and practice.
1. He took Slashdot comments personally. This is something we see all the time. Let this serve as
2. He treats Slashdot comments as well-thought responses to his articles. For Pete's sake come on! This is the place where professionals, interested parties, and random wannabes can foam at the mouth and say the first thing that comes to mind. Hell man, comments are moderated by popular vote! This is not exactly a medium of high academic quality. And that's just fine. Sometimes first impressions are what you want, sometimes they're complete BS, but they only give you an insight in to where some people would
In the end Fabian, you're probably gonna get flamed for your response as well. If you want it for the intention, cool. If not you should probably just let it go...
and can summarize it for you. :)
He basically makes the point that everyone on slashdot is a clueless twit.
A very wise man indeed.
Oracle et al have spent decades optimizing their products for SQL as they implement it. The chances of a better designed syntax resulting in a faster database is slim. I don't give REL or any other SQL++ contender much chance at this point, if even on the legacy argument alone.
Shoot he should understand an alias! What is really an userid in a database, huh? ;-o
PS: Database Debunk... I do not see debunking, just pushing to buy a book or two.
While this "article" is rambling, and realtively incoherent, I will agree with him on one thing: the average Slashdot user knows *nothing* about data. Any time a database discussion crops up, every PHP and PERL hack comes out of the woorkwork describing the wonderful spped at which MySQL handles a "select *" query. I personally feel that any database that is large enough or complex enough to have a DBA should limit access to it to only people who have had a basic "what is a database" class that explains what a relational database is, how it works, the basic history behind it, and specific basics such as stored procedures, triggers, views, foreign keys, etc. I can't begin to count the number of completely ignorant postings I've seen on /. regarding data. Hell, most people treat the database as an afterthought when designing an application, when, in reality, it should almost always be the *first* consideration.
I don't respond to AC's.
I also read the article. My summary is as follows:
Fabian Pascal is a twit.
Is he entirely wrong? Hiding behind the screen name - and I do hide, you will not find my real name, address, and phone number in my /. journal - removes some accountability. As soon as you remove accountability, people will do and say things they wouldn't if they were accountable.
I do write articles in print media under my real name. I check facts, think things through, cite sources, interview experts, and all the other sorts of things you do when your reputation is on the line (accountability). During the course of this research, I discover that I don't know everything, and the quality of the articles is much higher because of the research (and the research happens to a large extent because of accountability).
Now, here on Slashdot, I am free to say whatever comes to mind, as we all are. How many things have been stated as absolute fact that a quick bit of research would show are false? How many people would shoot off at the mouth with so little thought if the comments would be associated with them, personally, throughout their life?
Being able to speak anonyously is a good thing for political reasons (dissonants in China and the Middle East don't enjoy the same freedoms we do in the West, so I don't fault them for remaining anonymous or using aliases in commentary). However, any time someone is speaking anonymously, what's wrong with being a bit more suspicious of what they say?
Sarcasm and hyperbole are the final refuges for weak minds
The quote has almost nothing to do with politics and everything to do with how ideology filters out objectivity. :)
A very apropos quote in my opinion, and it kind of makes your comment ironic to boot.
A real master debater.
Politics + Programming = GNU
It is the perfect combination. Politics and Sex on the other hand... baaad combination.
My Blog
Relational databases aren't enough, either. When you find yourself putting columns of serial numbers in tables so you can link tables together, the relational model isn't fitting the problem.
Clearly, you do not know what a relational database is. You, like many others, are simply the grist for Pascal's mill.
You don't link tables (or relation variables). A relational database management system should give you a rich enough type system so that you can use whatever attributes necessary in a tuple to uniquely identify entities. You should be able to use composite keys without any limitations or worries about space. A good RDBMS would be able to do whatever physical linking and space saving necessary in the physical backend layer to accommodate foreign key relationships with composite keys.
In, many cases when people do this they find that working with composite keys is cumbersome and they blame the relational database. This is kind of interesting phenomenon and conclusion. In fact, it has nothing to do with relational databases (at least in the electronic sense).
The use of surrogate keys long predate electronic data storage systems. Prisons have used numbers for inmates, cars have used license plate numbers, and the SSN was established, long before Codd wrote his seminal papers.
So I don't see what adding columns of serial numbers has to do with a failing of the relational model. The use of "serial" numbers in general has to do with the difficulty of finding good, stable, unique identifiers for entities of interest.
As for times when you NEED tree based data (which is actually less common than most people think). A common mistake is to look at something like an org chart and think that this should be codified as a simple tree, when in reality the tree itself is a physical report that can be derived from more explicit base data. Anyway, I don't see why linking tables can't use the explicit base data in foreign key relationships.
One of the problems of the RDBMS products today and in part the fault of SQL is that "tables" or relvars are WAY to heavyweight. In a true RDBMS a relvar is a fundamental variable much like local variables in a C function. The relvar should be able to referenced in arbitrary expressions with no silly ordered syntax like SQL. Relvar literals should be easy to define in expressions. A "link table" shouldn't be such a heavyweight object in the minds of a database designer. Because of the highly restrictive way SQL works, "Tables" get an overblown status as some kind of special object that makes things like tree data very difficult to work with. This is a failing of the RDBMS products on the market today, not relational model.
Any good RDBMS implementation would have necessary functions to make dealing with tree data easy, or the language would be general enough that they could be defined anyway.
The difference between Fabian Pascal and the truly enlightened is that the while both have come to the same conclusion that the masses are asses, the latter knows there's nothing that can be done about it, and no point in bitching about it either
Actually I do respect Fabian Pascal, and I am not really bashing him for his diatribes. I can't see how his behavior is any more of a waste of time than, say, posting on slashdot. I just hope that he actually ENJOYS running his website and is actually not as wound up as he sounds in his rants. In other words, if he is sort of like a maddox of the data fundamentals world I guess that's a good thing. If he really is this concerned about the state of the world constantly then he really could use some professional therapy or counseling.
Also, Fabian Pascal is way to impatient. The Codd material only came out about 30 or so years ago. That is not a long time for these things to materialize into usage by the mainstream engineering field. Couple this with the fact that the overwhelming perception is that many things in this field are "good enough."