有两个联合主键,采用那种方式适用,理由
table1:
-------------
FK1
FK2TABLE2:
-------------
PK
FK1
FK2请大家根据项目的实际经验谈谈看法。

解决方案 »

  1.   

    如果只有两个,直接联合主键是可取的,毕竟查询都是通过pk1 pk2来查询的
      

  2.   

    看具体情况来设置FK1 FK2没有重复性的值的话,做联合主键是可以的
      

  3.   

    FK1,FK2是联合主键。在性能上有什么分别没有?比如建索引
      

  4.   

    在面向对象编程的java中,如果是用EJB,hibernate等做数据持久层操作时,联合主键会很麻烦,一般会增加一个非业务主键。如果是用PB,Delphi等,则采用业务主键也没感觉有什么不妥。
      

  5.   

    个人觉得还是用Table2会比较好一点(而且一般是加一个Identity列)。因为这样在业务逻辑中,只要多取出一列数据就可以保证是唯一性了。对于绑定数据之类的,都是有好处的。特别是.NET中,根据选择的不同来得到不同的数据的话,用第二种你会受益很多。