问一个业务如何设计表的问题
现在有一个表
表名: 项目 project
字段
IDKey 主键
Name 项目名称
Amount 项目金额
Date 完成时间
CreateBy 创建者
CreateDate 创建时间
现在要针对每个项目签合同,原来一个合同对应一个项目.没有问题.
Contract表里面 加上外键为项目主健就行..
现在发生变更:项目可以按照金额拆分和合并
一个合同可能由几个项目合并而成,
而且一个项目也有可能被拆分成几个小项目分别签合同.
还有可能 一个合同对应着 一个项目加上另一个项目的拆分后的一个小项目
这就早成多对多的关系..
现在这个项目表该如何设计呢?
同事说: 在签合同的时候,通过选择的项目生成新的项目存放在项目表中,并且这个新生成的项目 有个字段叫 contactid . 它表明这个项目是从哪个项目派生出来的.
我觉得这样做有很多问题,请大家多给点建议.