这个也不算什么麻烦的,想保持数据的完整性,只能这样通过键值的约束来达到目的,我们一个表可能有上20个外键的约束!主要是搞清楚关系就可以了,无非是一个引用的问题了!

解决方案 »

  1.   

    一对一的,直接建在一张表中, 一对多的,可以在两张表中,一个外键,多对多的,用一个关系表.一个订单,可以对应多个客户??  应该不会的.  但是一个客户会多个订单, 这样的话就在订单中加客户编号. 至于订单是哪个区域或国家的,你可以在订单中设置一个字段来保存区域的序号或国家的序号.别的关系也差不多是这样的, 虽然数据库设计的时候考虑设计范式, 减少冗余数据,但是在有的时候一定的冗余还是有必要的. 
      

  2.   

    我不是说我做不到,我是想说那样子做的方式不好,表之间的关系很弱。例如,横跨几张表的删除记录,往往关联到大量的逻辑变化。这难道很合理吗?