3 ms·
In my experience there are two sources of problems with Relational databases. They are either designed by Programmers or they are designed by DBAs. They both ma
by bdfh42 17y ago
In my experience there are two sources of problems with Relational databases. They are either designed by Programmers or they are designed by DBAs. They both make a complete and utter mess of the task almost every time.
Programmers design databases to make their programs simpler and DBAs seem to design databases to make programming near impossible.
The most amazing thing is that Relational databases are simple things to understand and design - when you understand the data. That is probably where the trouble lies - neither of my two design groups understand the data - they both have entirely different agendas.
To get to the point - Relational Databases are fantasticly flexible high performance tools - it is just that so many examples of poorly designed databases abound that people get the idea that they are a less than ideal tool.
- silentbicycle 17y ago> DBAs seem to design databases to make programming near impossible. Have you ever been in a situation where a C buffer overrun caused a data structure to get scribbled over, and instead of crashing, the program just started passing around corrupt data? In a long-running application, that eventually died for a reason that made no sense whatsoever? To the point where you know that noise got in the system, but you don't know where or when, and everything is now suspect? Imagine that happening to a hospital's medical records. That's a DBA's nightmare scenario. They're not trying to "make programming near impossible", they're trying to systematically prevent (potentially incompetent) programmers from corrupting the data. Databases are good at including internal consistency checks into the schema design itself. If a programmer new to your project got mad because they kept making asserts or unit tests all over the place fail, and decided to delete them, how would you react?