相关疑难解决方法(0)

选择 PK:VARCHAR(2) 还是 SMALLINT(2)?

今天我们讨论了以下问题:

巴西有 27 个州,每个州都有自己的缩写(就像美国一样)。所以我们有RJ里约热内卢、SP圣保罗、MG米纳斯吉拉斯州等等。

我们的一个程序员的建议,我们应该使用这些缩写(RJSPMG等)PKStates表中,我们正在计划添加到一个新的项目。

推断我们数据库的使用,我反驳了他的论点,说如果我们-有一天-将我们的服务扩展到其他国家,我们会遇到重复缩写的问题,例如:在美国SC,南卡罗来纳州和巴西都有我们已经到SC了圣卡塔琳娜州;对于MT,PA和也会发生同样的情况MA。基于这一点,我们同意应该有一ID列 as PK IDENTITY

现在,假设我们不将我们的服务扩展到其他国家并且只停留在巴西,我开始考虑使用 VARCHAR(2) 列作为 PK 的想法。在这种情况下,这听起来并不完全是个坏主意。是吗?为什么?在哪些情况下可以应用?是否应该考虑记忆以便从一种选择到另一种?

database-design sql-server

3
推荐指数
1
解决办法
483
查看次数

标签 统计

database-design ×1

sql-server ×1