Full review (do not merge)

Should this be enforced in the model, database layer, or both?