Inactivate rather than delete?

Inactivate rather than delete?

Is there a way to just inactivate rather than delete records? I don't want to permit users the ability to delete - rather just inactivate. That way we don't lose anything potentially important by accident.