6 个解决方案
#1
一般一个表是要一个主键的,这样可以在处理重复记录时,方便记录定位,分页时也容易定位
如果你的表中本来有可以做主键的字段,比如员工编号,则这个id一般没有必要加.业务名称字段联合主键为索引
如果你的表中本来有可以做主键的字段,比如员工编号,则这个id一般没有必要加.业务名称字段联合主键为索引
#2
由于自动编号字段总是唯一的,这样,如果业务名称字段不具有唯一性的话,创建联合主键可以保证唯一性,且能对不同业务设置索引.
#3
联合主键,通常出现在单个键值不具备唯一性的前提下,也就是说如果只是使用其中一个键值的话,不能保证唯一性。楼主这种情况id已经自动编号了,其实没必要再使用业务名称作为联合主键了。
至于索引的问题,其实索引是可以被删除,也是可以被创建的,即使不使用联合主键,也是可以为 该字段 创建索引的。
至于为什么采用这种联合主键方式,老实说,其实并没有必要,可能是为了数据之间联系的清晰吧,把ID只是作为名义上的主键,而业务名称才是真正出现在别的表里的字段,这样该表和其它表之间的联系将更清晰。如果在其它表中使用ID来和该表建立联系的话,可能看起来不太清晰,不直观。
至于索引的问题,其实索引是可以被删除,也是可以被创建的,即使不使用联合主键,也是可以为 该字段 创建索引的。
至于为什么采用这种联合主键方式,老实说,其实并没有必要,可能是为了数据之间联系的清晰吧,把ID只是作为名义上的主键,而业务名称才是真正出现在别的表里的字段,这样该表和其它表之间的联系将更清晰。如果在其它表中使用ID来和该表建立联系的话,可能看起来不太清晰,不直观。
#4
主要是怕业务名称重复,所以使用一个自动编号,这样就不会出现重复.
#5
设置主键的目的就是保持唯一性
而很多时候用自增列是为了在程序中方便使用 select @@identity 来捕捉行号
这样在分页或者其他一些需要使用的地方比较方便
而很多时候用自增列是为了在程序中方便使用 select @@identity 来捕捉行号
这样在分页或者其他一些需要使用的地方比较方便
#6
联合主键一般怎么能最大限度的发挥主键的作用?
#1
一般一个表是要一个主键的,这样可以在处理重复记录时,方便记录定位,分页时也容易定位
如果你的表中本来有可以做主键的字段,比如员工编号,则这个id一般没有必要加.业务名称字段联合主键为索引
如果你的表中本来有可以做主键的字段,比如员工编号,则这个id一般没有必要加.业务名称字段联合主键为索引
#2
由于自动编号字段总是唯一的,这样,如果业务名称字段不具有唯一性的话,创建联合主键可以保证唯一性,且能对不同业务设置索引.
#3
联合主键,通常出现在单个键值不具备唯一性的前提下,也就是说如果只是使用其中一个键值的话,不能保证唯一性。楼主这种情况id已经自动编号了,其实没必要再使用业务名称作为联合主键了。
至于索引的问题,其实索引是可以被删除,也是可以被创建的,即使不使用联合主键,也是可以为 该字段 创建索引的。
至于为什么采用这种联合主键方式,老实说,其实并没有必要,可能是为了数据之间联系的清晰吧,把ID只是作为名义上的主键,而业务名称才是真正出现在别的表里的字段,这样该表和其它表之间的联系将更清晰。如果在其它表中使用ID来和该表建立联系的话,可能看起来不太清晰,不直观。
至于索引的问题,其实索引是可以被删除,也是可以被创建的,即使不使用联合主键,也是可以为 该字段 创建索引的。
至于为什么采用这种联合主键方式,老实说,其实并没有必要,可能是为了数据之间联系的清晰吧,把ID只是作为名义上的主键,而业务名称才是真正出现在别的表里的字段,这样该表和其它表之间的联系将更清晰。如果在其它表中使用ID来和该表建立联系的话,可能看起来不太清晰,不直观。
#4
主要是怕业务名称重复,所以使用一个自动编号,这样就不会出现重复.
#5
设置主键的目的就是保持唯一性
而很多时候用自增列是为了在程序中方便使用 select @@identity 来捕捉行号
这样在分页或者其他一些需要使用的地方比较方便
而很多时候用自增列是为了在程序中方便使用 select @@identity 来捕捉行号
这样在分页或者其他一些需要使用的地方比较方便
#6
联合主键一般怎么能最大限度的发挥主键的作用?