参考表是否应包含数字PK标识列值0?

Cha*_*adD 5 sql-server database-design

我们有一个包含有效货币代码的表格.例如,我们选择使用数值作为主键而不是3 char ISO货币代码.

普遍共识的结论是,该CurrencyId列应包含以零开头的值.由于美元是我们的主要货币,因此它声称第一个位置的值为0.

我的想法是,标识列不应该从零开始,原因是某些语言将数字初始化为零,因此货币代码可能无意中设置为USD真正从未分配的时间.

我都湿了吗?我宁愿指定一个CurrencyId1 USD.

Phi*_*ler 3

实际的 ID 应该不重要。让它从 0(或 1)开始是完全任意的,因为该数字对用户没有任何意义——它仅被系统用作参考。无论是从 0、1 还是 4,536,901 开始,都不是关键的设计决策。

我认为你提出的问题100%有效;从 0 开始可能会导致副作用,其中一些最终可能会成为微妙且难以追踪的错误。避免这种情况远远超过任何人对从零开始编号的任意/审美愿望的反对。