我正在使用一个旧的sql server 2000数据库,将其中的一些信息与我正在构建的新应用程序进行混合.我注意到几个表中的一些主键是浮动,而不是任何类型的int.他们不是外键,都是独一无二的.我不能想到任何人会想要使他们唯一的主键ID浮动的任何理由,但我不是任何手段的sql专家.所以我想我问的是谁设计这个相当广泛的数据库谁知道我没有的东西?
解决方法
我目前正在使用一个相当大的会计软件包,每个350个表中有一个FLOAT的主键(53).所有实际值都是整数,系统会严格检查它们是否是(具有执行所有增量工作的特殊功能).
我不知道这个设计,但我可以理解为什么选择它并给它一些积分.
一方面,系统足够大,可以在一些表格中记录十亿条记录.另一方面,这些主键必须易于从外部应用程序(如Excel或VB6)中读取,在这种情况下,您不希望使其成为BIGINT.
因此,浮动是好的.