• Thanks for this - an interesting post with at the very least some excellent starting points for thinking about databases in different ways.

    That said (with regards to your section on objects), I think it's important to recognise that relational systems work on very different principles to true object-oriented programming languages. The two models deal with identity in very different ways and relational schemas are not a good natural match for polymorphic design - as I understand it, these issues contribute to the practical issue of object-relational impedance.

    There are rich mathematical and logical underpinnings to relational database design which (while I'm sure this is not your intention), I'd hate to see anyone misunderstand as being analogous to the principles of Object Oriented design.