Should a well-designed db have its constraints set to default/restrict and if changes need to be made to the db, by any script, then that script should change the constraint as necessary?

Then having done its update or other work, should the script then re-establish the constraint, restrict?

I ask because if a constraint is always set to update etc, then some wrong data or even a deletion might bust the db data.