(no title)
fernmyth | 9 months ago
Errors in the initial design should be assumed as the default. Wise software engineering should make change easy.
Constraints on natural keys are business logic, not laws of mathematical truth. They are subject to change and often violated in the real world. The database as record-keeping engine should only enforce constraints on artificial keys that maintain its integrity for tracking record identity, history, and references.
Your database may not be primarily a record-keeping engine, and your tradeoffs may be different.
b-man|9 months ago
I don't think I said that errors would not happen.