1. 5
  1. 4

    Reading the Relational Model was interesting, because while the relational model had been so ingrained in us over the years, it wasn’t patently obvious then, but:

    • SQL is arguably a bastardization of what Codd intended. It isn’t close to RMv1, let alone RMv2. The biggest axe he had to grind was duplicate rows in SQL as being a violation of the model (data as identity). Codd had some… interesting ideas I’m not sure I agree with, like four-valued logic. That only makes sense to me in the context of manual data entry - perhaps there’s a lost opportunity for types instead.
    • There were other data models vying for attention. I forget what they were, but he does address them. Many seem like alternate twists on relational/hierarchical models; not quite NoSQL.
    • He is dated/grounded by his assumption of users at terminals on mainframes interacting with the system that way. Unless you have a background in IBM mainframes, the entire indicators section seems puzzling.

    I need to get around to reading Date. I’ve had some ideas floating in the back of my head around types and relational data for a while now…

    1. 2

      The Third Manifesto might be my favorite CS book (that or Project Oberon or maybe Clause and Effect).

      1. 1

        There is a weird discrepancy in SQL between the elegance and solidity of its foundations and the actual technology as it stands.

        1. 1

          Sadly, we’re so stuck in SQL land it’s very hard to get out. (And no, most replacements like NoSQL are worse).

          I strongly recommend https://www.oreilly.com/library/view/sql-and-relational/9781491941164/

          “SQL is full of difficulties and traps for the unwary. You can avoid them if you understand relational theory, but only if you know how to put that theory into practice. In this book, Chris Date explains relational theory in depth

          Some of his advice seems extreme… but extreme benefits arise from sticking to it.