3 ms·
It may be gratifying to see your hunch written out but the author of the original article is just wrong about the history of relational databases. They were not
by gregjor 18y ago
It may be gratifying to see your hunch written out but the author of the original article is just wrong about the history of relational databases. They were not just in the right place at the right time, or "good enough," or driven by marketing hype as the article claims. You might want to read the well-documented history of relational theory, early RDBMS implementations and how they fit with what was already in use, and the ongoing evolution of RDBMSs and SQL.
Since the relational model predates OOP, to say nothing of flashes in the pan like Rails, it's backwards to say that the model is "fundamentally flawed" because it is mismatched to OOP. The mismatch isn't even real: OOP is a valid way to describe applications but it is not intended to describe databases. The relational model can enforce consistency and data integrity at the whole database level, which is a lot different than the object or single application level.
Programmers who developed large systems pre-Oracle have a very different view of the benefits of RDBMSs than programmers who first tried to use a database while developing a toy program with Rails. A little experience will teach you that for pretty much all real applications in the world the data is the only thing that has value; application code comes and goes. Any business that puts OOP purity before data integrity and consistency will not last. Would you feel better knowing that your bank uses Oracle, or that they use Rails and a half-baked ORM?
You might think "no one cares about the relational stuff at all" based on ORMS and Rails, but that is a peephole view of the world. The sooner you realize that Rails et al. are the Hollywood celebrities of the IT world the sooner you'll figure out how important those things really are.
I had more to say about this subject a while back in my article "Why Programmers Don’t Like Relational Databases" at http://typicalprogrammer.com/?p=14 http://typicalprogrammer.com/?p=14