前言:多对多关系至少需要3个表,我们把一个表叫做主表,一个叫做关系表(中间表),另外一个叫做字典表或者副表(字典表是纪录比较少,而且基本稳定的,例如:版块名称;副表是内容比较多,内容变化的)
1:业务模型
日程:日程相关人:用户(日程相关人设计成一张中间表,由于中间还存在冗余数据,需要设计成两个m:1的关系)
子部门:通知(两者是简单的多对多,中间表仅仅只需要通过关联表的id作为联合主键存在即可)
共性:外间关联都是建立在中间表上,并且中间表采用联合主键的方式
2:分析场景
2.1第一种业务模型
该模型较为复杂,由于中间表可能还要做为一条记录(有其它属性说明)进行反向查询。其主表每增加一条记录,都要通过主表中的临时变量(副表主键id)去保存中间表的纪录
2.2第二种业务模型
主表每增加一条记录,只需要在映射关系上进行add就可以