- Local time
- Today, 18:49
- Joined
- Sep 12, 2006
- Messages
- 15,980
@galaxiom
I don't want to feed the flames, but I just can't agree with this. Surely a real-world unique index is a-priori essential in all tables. (even if part of this unique index is the surrogate key itself - ie the PK of a subtable may consist of the PK of a parent table - FK in this table - but together with some additional real-world information)
** I say all. I have used tables with no way of uniquely identifying items, and although the system was usable, certain aspects were problematic.
It's not necessarily always clear what that should be, especially in a "persons" table, when virtually nothing can be considered permanent and unchanging. However it is essential that we find a way of uniquely identifying a "person" entity, other than by an artificial surrogate identifier. Otherwise we are liable to admit duplicate data.
No more comments on this from me, anyway.
What I am saying is that I disagree with the notion that the unique index is necessary in addition to a surrogate key.
I don't want to feed the flames, but I just can't agree with this. Surely a real-world unique index is a-priori essential in all tables. (even if part of this unique index is the surrogate key itself - ie the PK of a subtable may consist of the PK of a parent table - FK in this table - but together with some additional real-world information)
** I say all. I have used tables with no way of uniquely identifying items, and although the system was usable, certain aspects were problematic.
It's not necessarily always clear what that should be, especially in a "persons" table, when virtually nothing can be considered permanent and unchanging. However it is essential that we find a way of uniquely identifying a "person" entity, other than by an artificial surrogate identifier. Otherwise we are liable to admit duplicate data.
No more comments on this from me, anyway.