To clarify the aspects of both types of databases a bit: I'm using an OO database at work stuffed with genomics data based on the AceDB database.
The problem with object-oriented databases is that they (at least not AceDB) don't support relationships except when defined in the objects themselves. Let me explain: suppose you want to store the names of villages and the persons living in those villages:
- in a relational database, you would create 2 tables: 'villages' and 'persons'. A truly relational way to create links between the two, would be to create a third table 'villages2persons', which holds only 2 columns: one with the IDs from villages and one with the IDs from persons.
- in a OO database, there are objects from the class 'village' and objects from the class 'person'. The problem starts when making links: within every village object, a list of IDs from persons has to be kept AND in every person object, a village ID should be added. (Of course, there are workarounds, but then you're distracting from the OO setup of the database) Ergo: same information is stored twice. Ergo again: _very_ high change to create inconsistencies when updating data and stuff.