1. 12
  1.  

  2. 8

    Typical textbook database design comes from an era when it was possible to believe that you knew, at the start of the project, what the data would be like. And you could believe that it would not change. You could certainly believe that your 200-page design document would be updated and maintained, and it would be compulsory reading for computer folks in your company for decades. […] There would not be mergers between companies, or corporate pivots taking you into a new direction. You could believe that your conceptual and logical principles were independent from physical implementation principles. There would be no need to ever duplicate data for performance.

    Is this how it was? I’m looking back from the year 2020, I don’t know if that’s what people were thinking at the time. My reference point for “old timey database folk” is Bill Kent. In his Guide to Normal Forms he prefaces normalization by talking about the performance tradeoffs, and how in reality you shouldn’t always normalize. His (amazing, stellar) Data and Reality is all about how we can’t capture reality in our databases. He also covers the challenges of multiple databases, model drift, and how we work with unknown unknowns. It’s a lot more dynamic than what Lemire says.

    Bill Kent is great is what I’m saying

    1. 3

      You could certainly believe that your 200-page design document would be updated and maintained, and it would be compulsory reading for computer folks in your company for decades.

      This smells an awful lot like the waterfall model straw man. On the other hand, he does say “if [systems] ever were built this way.”. But it does sound a bit like the “perfect world” assumption many textbooks do make. I presume they do this in the name of simplicity, because why would you confuse absolute beginners by making your data model “dirty”? This is a lot like code in programming textbooks not dealing with error handling or malicious input, for example. That said, I think it would suit textbooks to have a chapter about this, but more towards the end as part of an “advanced” section.

      It sounds like Bill Kent’s book are more geared towards the “advanced” end of the spectrum.