Would still be some maintenance, don't get me wrong. But far from impossible.
Would still be some maintenance, don't get me wrong. But far from impossible.
source: every single place I've worked at that poo-poos referential integrity has a database that is full of bullshit that "the application code" never cleaned up
Always use referential integrity. The people who are against it almost always are against it for superstitious reasons (eg: "it makes things slow" or "only one codebase calls it so the code can enforce the integrity"). All it takes is exactly one bug in the application code to corrupt the whole damn thing. And that bug will happen over the lifetime of the product regardless of how "good" or "awesome" the programmers think they are....
... I'll get off my soapbox now!
You're lecturing about table design. I'm talking about more general transactionality over any errors.
Oh, and just forget about allowing your customers to share their data with each other, which most enterprises want in one way or another.
Don't do any of the above unless you understand the implications.