On Fri, Jun 09, 2006 at 03:55:04PM +0200, Aaron Bingham wrote: > dananrg@xxxxxxxxx wrote: > >I'm reading, and enjoying immensely, Fabial Pascal's book > >"Practical Issues in Database Management." If you're interested in the theory of RDBMSs, you can start with the papers on Leonid Libkin's page and the books and papers they reference. :) http://www.cs.toronto.edu/~libkin/publ.html > I also found this book very useful when I first started doing > serious database work. For a more thorough treatment of many of > these issues, see An Introduction to Database Systems by Chris Date. > The latter book is so full of detail that it is sometimes hard to > follow, It certainly has an elaborate and well-thought-out system of ideas. As an empiricist, I find it crucially important that despite decades of whining about it, no one has come up with an actual *computer* system which implements this /gedankenexperiment/. This means to me that we ought at least to consider the idea that Date, Darwen and Pascal got some of their premises wrong and that reasoning from them is as silly as reasoning based on the Phlogiston theory I mentioned earlier. > but it's worth the effort. Why? There are much more entertaining cranks out there if crank study is your thing. > >Though I've just gotten started with the book, he seems to be > >saying that modern RDBMSs aren't as faithful to relational theory > >as they ought to be, and that this has many *practical* > >consequences, e.g. lack of functionality. > > > >Given that PostgreSQL is open source, it seems a more likely > >candidate for addressing Pascal's concerns. At least the potential > >is there. > > Although some DBMSs have invented new ways to break the relational > model, the fundamental problems are in SQL. Um, no. As I'll demonstrate below, it's the model that's broken and SQL that got it right. > No DBMS based on SQL is going to be able to support RM correctly. Aha! I spy, with my little eye, a fanboy. You have to be a bit of a theory wonk to call Date's stuff "RM." You seem to be implying here that Date's "RM" is somehow more desirable than what SQL actually provides. To be more desirable, I don't think it's unreasonable to say that it should be more powerful in some essential way. In SQL, you can do this (this example condensed from Libkin's "Expressive Power of SQL" on the page above): SELECT (SELECT count(*) FROM table_1) < (SELECT count(*) FROM table_2) AS "Can't compare cardinalities in first order logic"; Note the name of the output column. It's important and true, as you can verify if you care to do your homework on foundations of mathematics. Relational algebra is a subset of first-order logic <http://en.wikipedia.org/wiki/Relational_algebra>, and as a direct consequence, you can't do this simple but interesting thing with it. What say we just stop right there and call Date's Relational Model what it is: a silly edifice built atop wrong premises. Cheers, D -- David Fetter <david@xxxxxxxxxx> http://fetter.org/ phone: +1 415 235 3778 AIM: dfetter666 Skype: davidfetter Remember to vote!