in reply to OT: updating database question

I'd opt for another approach than the two you outlined. I would change the form to submit imperative commands that match what the user actually did, rather than a copy of what the end result should be.

By way of example, if you want to remove Alice's MA, you check a "delete this qualification" box. Your form is then telling the handler that you want to delete the MA, and you don't have to do a tedious backend comparison, nor the expensive rebuild everything from scratch.

Replies are listed 'Best First'.
Re^2: OT: updating database question
by apl (Monsignor) on Jul 22, 2007 at 12:37 UTC
    This also has the added benefit of differentiating why the delete took place. At some point in the future, the user may require an audit trail and will want to know that a new degree was added or that a mistake was corrected.