I am working an an application that needs to store lots of data.

Should you ever store data that has been calculated from other fields in
its own field?

Also is it common practice to ever code a user name directly into a table,
even though it exists in a contact table...

My reason for asking is this is a financial application, and a table represents
a bucnh of electronic forms. We have to have the users name associated with
the form and the name has to be the name of the contact at the time the form
was filled. Thus if the persons name changes, we don't want to reflect her
married name in the old form as it was originally filled out with her maiden
name...

What do you guys think?