有三张表     用户表 ,公司表  , 区域表他们的关系是   用户表 参照 公司表(用户表中有一个公司id 是外键)  ,公司表 参照 区域表(公司表中一个区域id是外键)但是 为了方便统计 最好让用户表也参照区域表(用户表中加一个区域id 是外键) 但这样会出现一个问题 就是 删除区域表中记录时 会出现  可能会导致循环或多重级联路径好像两种方法都可以  各有各的好处 也各有各的坏处  我倒底应该怎么设计他们之间的关系啊?  这种问题经常碰到  但不知道怎么解决
  

解决方案 »

  1.   

    用户表中加一个区域id 是外键是方便统计,但是不方便维护啊,如果新增一个用户,你需要选择公司,选择区域?删除也麻烦,或者你可以把区域id作为用户表的一个属性字段,不要做外键约束,统计方便,但是一切以区域为基准的统计表必须经过公司表连接统计。这是准确数据。
      

  2.   

    最好是三个表
    区域表A
    id name公司表B
    id Aid name用户表C
    id Bid name使用a.id = b.aid and b.id = c.bid
    进行关联.