Re: Datatabases, or datadumps?
> you simply cannot implement ACID integrity in the application layer.
Sure you can. The application layer is just software. So is the database manager.
I grew up in Pick, which is, in brief, a hash-based key-data store of semi-structured data on disk. It has dictionaries, and you can use them to specify expected relationships, which aids reporting but in no way at all constrain the actual table content. Just about the only enforced integrity rule is that keys are unique.
This taught me pretty quickly how to write application code which ensured data integrity*.
Many years later I'm walking through some code and the boss notices that I haven't set the database (er, Microsoft Access) to enforce referential integrity. I said that I didn't need that overhead. He said let's see and turned it on, expecting a flood of errors. There were none.
-A.
* Maybe I'm thick, but I fail to see how writing application code that is aware of the integrity rules is any better than catching and dealing with the exceptions that might result from breaching them.