我需要表总线的主键,它存储信息,如总线号,总线类型,注册号等。我们知道总线号本身是唯一的,可以是主键但它的数据类型字符串表格中的减慢搜索,所以另一种可能的解决方案是添加int类型的自动增量字段,但这会增加网络数据,因为每次我需要选择两者用于winform上的用户选择的总线号和总线ID(自动递增)。我需要知道哪种方法更好,还是有更好的方法。
表格式方法1
bus no - nvarchar(10) (primary key)
bus registartion no - nvarchar(10)
方法2
Bus id - int (autoincremnted) (primary key)
Bus no - nvarchar(10)
bus registartion no - nvarchar(10)
答案 0 :(得分:0)
对数据库建模时,最好事先将主键列添加到每个表中,即使您觉得不需要它也是如此。为主键列提供标准化名称(tablename +'id'是一种常见的命名约定)并键入(integer,uniqueidentifier)并坚持使用它。不要混合整数,长整数,短数据和其他数据类型,因为它只会使表的连接变得复杂。
E.g。为您的实体总线: