4 ms·
Complex in memory object graphs do not work fine. Programmers inevitably screw up. In complex systems you also inevitably get denormalized copies of objects i
by kingkongrevenge 18y ago
Complex in memory object graphs do not work fine. Programmers inevitably screw up. In complex systems you also inevitably get denormalized copies of objects in an OODB.
You're not saying anything that's incorrect. It's true, anything you can do with a relational db you can theoretically do with an OODB. In many cases you likely will finish with less code. However, this theoretical fact flies in the face of a lot of experience that indicates the superiority of the relational model.
- jrockway 18y agoThe relational model doesn't prevent programmer fuckups, nor does it save them from many common errors. For example: sub add_one_to_each_row { my $row = shift; $row->some_relevant_column( $row->some_relevant_column - 1 ); $row->update; } Although the data is fully relational, your program corrupted it anyway. (As a slightly-related aside, I really need to write an essay about how type systems don't prevent bugs when you use overly-broad types like "Integer".)
- kingkongrevenge 18y agoThat's not a relevant example.
- jrockway 18y agoThe point is, at some point your application can touch the data, and a bug in the application can easily ruin it... regardless of the underlying database topology. Additionally, it's easier to create rich type constraints in object systems than it is in SQL. (Note: Java and C++ do not count as OO languages. They are missing too many features.)