Recovering deleted records

Hi,

I'd like to ask a general question regarding best practices. In cases like when a client mistakenly deletes a record from any Sugar module, such as Accounts, what is the best way to go on about recovering it? Simply changing the record's deleted flag back to false using SQL seems like the most straightforward way, but what about the record's relationships? Do I have to set their flags back to false one by one? Or is recovering a deleted record not recommended at all?

Any insight on the matter would be appreciated.

Regards,

Samuel.