Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

The author seems to suggest that the choice is between natural and surrogate key.

In fact, the choice is between natural and natural+surrogate key.

- If you have a natural key, you have to enforce it, otherwise you risk data corruption. The question is do you also need a surrogate key? Sometimes you do, sometimes you don’t.

- If you don’t have an obvious natural key, then your surrogate becomes meaningful. You have to use something to distinguish between two “equal but not identical” rows, so you end-up showing the surrogate in the UI etc. In other words, it is no longer “pure” surrogate.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: