Integrity Constraints Revisited