数据库设计逻辑主键

来源:互联网 发布:腾讯游戏优化 编辑:程序博客网 时间:2024/06/06 03:41

在数据库设计中我们经常会存在是否为表建立逻辑主键(代理主键)的问题。

使用逻辑主键的好处:

 


1.业务系统中需要关联时使用逻辑ID进行关联--而不是有业务ID做关联--使业务系统具有最大的灵活性,及业务ID也是可以修改的,如果使用业务ID做主键,则该条记录就不能被修改。但是这种情况时有发生。
例如:现在客户所有产品编号要升级在原来基础上加上分公司编号。如果系统采用逻辑ID关联则可以方便的修改产品编号。否则的话


2.优化了表的设计,避免使用联合主键。

 

3.进行多表查询时可以通过关联逻辑ID来提升性能.

 

4.逻辑ID一般采用整形,业务ID通常使用字符类型。整形相对与字符类型无论在建立索引还是外键关联查询效率要高的多。

 

5.使用Hibernate等ORM工具时,获得一些性能提升。(这也是Hibernate所推荐的)

 

6.至于业务ID的唯一性约束可以通过唯一性索引来约束