相关疑难解决方法(0)

我应该设计一个主键为varchar或int的表吗?

我知道这是主观的,但我想知道人们的意见,并希望在设计sql server表结构时能够应用一些最佳实践.

我个人认为在固定(最大)长度varchar上键入一个表是禁止的,因为它意味着必须在使用它作为外键的任何其他表中传播相同的固定长度.使用a int,将避免必须在整个板上应用相同的长度,这必然导致人为错误,即1个表具有varchar (10),而另一个表varchar (20).

这听起来像是最初设置的噩梦,而且意味着将来维护表格也很麻烦.例如,假设keyed varchar列突然变成12个字符而不是10个字符.你现在必须去更新所有其他表,这可能是一个巨大的任务多年.

我错了吗?我错过了什么吗?我想知道其他人对此的看法,以及坚持使用int作为主键是避免维护噩梦的最佳方法.

sql sql-server database-design

20
推荐指数
2
解决办法
1万
查看次数

标签 统计

database-design ×1

sql ×1

sql-server ×1