John W. Colby
jcolby at colbyconsulting.com
Sat Feb 1 16:23:06 CST 2003
I suppose an exception can always be found to justify doing something. Rather than making it the default, I personally would build a set of queries that allow deleting the child records from the bottom up and run the queries when needed, only allowing those authorized users to do so. Something of that nature. If there are no other users than those doing these deletes, that is another story. But if you are exposing these records to deletion by others that shouldn't have this power I would be thinking twice about my solution. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: accessd-admin at databaseadvisors.com [mailto:accessd-admin at databaseadvisors.com]On Behalf Of John Bartow Sent: Saturday, February 01, 2003 4:20 PM To: accessd at databaseadvisors.com Subject: RE: [AccessD] Estimating Help JC, Arthur, I'm surprised at that statement coming from you two gurus! Cascade delete can be a wonderful thing! I have just run across an instance where it was so wonderful as to result in smiles all around. All of the detail information of a particular operation that is no longer needed can be deleted without fuss. Delete the main record and boom! All clean. Had the case where a data migration brought in data that was of dubious quality (approx. 10,000 rows in the primary table). The only people who could determine the quality of the data were the technical specialist working with it. The manager wated to just delete them all and make them re-enter the data by hand. This would take little time to delete but days/months to re-enter. When I brought up that fact that the techs could delete an entire record and its details in maybe 1 second it changed the story consideably. Now the choice becomes: 1 delete it all and re-enter everything 2 verify the data and delete if worthless, edit if needed and avoid re-entering possibly hundreds or thousands of records. Tough choice! Especially considering it will cost them less to do the former because I don't have to create a special routine to do it. Of course this action is proceeded by double warnings and such so that even those authorized to do it must suffer the consequences of relentless questioning before proceeding ;o) I'm sure there are DBs where nothing ever gets deleted but I haven't run into one yet. (I don't use it on clients - those are marked as inactive and re-appear in the case that a new client is being added with similar info.) John B. [mailto:accessd-admin at databaseadvisors.com]On Behalf Of Arthur Fuller I didn't mean that the rows were disappearing, but rather that they disappeared from reports, since their FK referents were gone. I would never be so foolish as to turn cascade-delete on anywhere in any serious database :-) I restored an old copy with the deleted employees, then imported the rows and restored sanity to the db. _______________________________________________ AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com