Monday, May 6, 2013

Database In Depth

Today I was reading some of C.J. Date's book "Database in depth", I learned that mr. Date doesn't not have much love for SQL*. But I also learned a lot about the relational model. To be specific it's worth to remember that the relational model is based on a relation as a heading containing a set of attributes, and a body containing a set of touples conforming to the heading. Because the relations use sets there are no duplicates and no ordering in a relation, unlike SQL-Tables.

I also really liked the part about base and derived relations where Date stresses the fact that the relational model specifies nothing about physical storeage and the thinking that "views are virtual, tables are physical" is wrong. The only true requirement is that there is some mapping between the physical storeage and the base relations, which in turn can be combined to get the derived relations. Everything else is up to the implementation.

"Base relations are no more (and no less!) "physical" than views are, so far as the relational model is concerned" - C.J. Date

*In general I really enjoy the almost palpable but subtle dispise for SQL eminating from this book so far. It feels like SQL is a personal insult to mr. Date and the thought that some people will call SQL a "relational" language will bring him to the barricades at any time, to stand up for what's right. There is a vibe of Luke 23:34 to the whole thing at the same time. Great writer!

No comments:

Post a Comment