我想问一下各位大侠在实际项目中怎么处理多对多的表关系?
    是由关系表中处理(记录两边id的对应关系),还是在量表中的一个较为具体的业务表中记录另一个表的id串呢?
    比如设备表和负责人表,一种是建立设备表和负责人之间的关系表这个就不说了,另外一种是设备表中记录负责人的一串id,哪种好呢?

解决方案 »

  1.   

    N:M关系是数据设计中是常见的处理。其处理方法, 把两表主键专门放到第三张表中。这是标准设计。比如设备表和负责人表,一种是建立设备表和负责人之间的关系表这个就不说了,另外一种是设备表中记录负责人的一串id,哪种好呢?标准的设计是 “建立设备表和负责人之间的关系表”
    另外一种设计 “设备表中记录负责人的一串id” ,这种设计是违反数据库设计基本原则的,连第一范式都不符合。 但在实际中如果没有其于这个负责人的查询,或者查询很少,则会出现这种设计 。 但没有特殊情况下不推荐这种方法。