数据建模(寻求帮助)

设计一个数据模型,满足如下需求:
1,能够完整记录合同的数据,如:金额,时间,甲乙方等。
2,一般情况下,一个合同对应一个项目。项目有预算,人数,经费,进度等。
3,在合同执行期间的任一时间点,该合同都有可能被拆分2个或2个以上的合同,或与其他合同归并为一个合同。
4,在3发生的情况下,项目有可能根据合同变更情况被拆分(归并),也有可能不做任何修改。
5,年终统计报表中“合同个数”和“项目个数”栏中不得将已变更的合同或项目重复统计。

数据结构:
1)项目表 project
2)合同表 contract
3)映射表 map (mapId, projectId, contractId)。

数据操作:
1)合同拆分、归并,等效新增合同。原来的合同可以删掉,或者改变其标志位以表示这种变化。
2)项目拆分、归并,等效新增项目。原来的项目可以删掉,或者改变其标志位以表示这种变化。
3)执行前两步操作后,在映射表上的操作,等效新增映射,记录新合同和新项目之间的关系。原来的映射可以删除或保留。如果第2步操作不执行,也新增映射,记录新合同和原项目之间的关系。
4)合同和项目个数的统计,如果原有的合同/项目不删除掉,则根据标志位过滤后进行统计;如果删除掉,直接统计即可。

和我原先想象的比较接近
十分感谢