Sebastian,
Thanks for your (curt) answer. Are you serious? I hope not!
Who made the ruling that "Modules shall not create references to core tables, as core tables are subject to change". Does this person understand relational databases and the impact of such poor design? This situation occurs all the time in the real world of database applications, and when it does, the database is changed to accomodate such changes - it's part of the upgrade process! Making such a statement is synonomous to saying "A rule cannot be set because in the future the rules might change"!? This is bad and faulty reasoning.
I can't understand why DNN core modules and DNN "approved" modules are not designed with each other in mind. To my mind, this represents a serious lack of communication between the core dnn team, and those who are the project leads for each of the modules. This would never work in the real world and would be totally unacceptable. Referential integrity is taught in "Database 101", and any solution that does not implement this is a disaster waiting to happen. This needs serious attention and correction.
Your second reason for not implementing refential integrity is not valid. Again, this situation is part of the "nature of the beast" in any database application. The solution lies in a correct architecture. If an entity has a relational link to something, then instead of out-right deleting the record from the database, you need to mark them as deleted and treat them accordingly. A simple "IsDeleted" boolean (bit) field along with a few database views will take care of this. This is standard stuff!
If this is some sort of official DNN ruling, then DNN is in serious trouble. Sooner or later there is going to be a big DNN database crash when some bug, or other conversion process goes astray and a lot of people are going to have a lot of corrupt databases.
I make my comments in the spirit of product improvement and I come from a position of having to support many database products that have not had basic database referential integrity rules set. Like I said, sooner or later, this is going to end in tears if it isn't addressed soon.
Any DBAs out there willing to comment?
Best regards,
Rod