The application server I work with at Time Life thinks it's god. Well it is not, and when it screws up it really makes a mess of things. The EJB's manage by PowerTier are stored in and Oracle schema without constraints, not unique, not null, or foreign key rules. We have seven malformed products that the app server cannot delete since it cannot instantiate the object. The XML interface cannot retrieve all the parts of the product to make a valid description. This isn't the first time this has happened, but even with all the tools I've put to gather to correct the constraints I've deduced, I take a lot of time to locate what must be manually removed before the tools can be run.
Honestly, if and object or XML system wants to use and relational DB, then it the data must conform to relational rules. If not, then use the filesystem. With a filesystem, I stand a good chance of fixing corrupted data because there are a lot of tools available; there are few tools that can fix malformed data in a configured DB.