我如何构建这种关系

时间:2015-06-10 18:54:26

标签: sql oop

我能描述的最佳方式是一个例子:

想象一下许多企业。在任何一个企业中都可以有多个部门。在每个部门中可以有多个部门。这将是一系列的1对多,对吗?...但是现在如果某个部门可以提升为一个部门或者可能是一个部门可以被卖掉并成为自己的企业或者可能有两个企业合并。我需要这种类型的流体设计,我想,每个实体都可以轻松地上下移动或移入或移出。

2 个答案:

答案 0 :(得分:1)

您可以使用自引用父级执行此操作。

Table Business [BusinessID, BusinessLevelID, ParentBusinessID]
Table BusinessLevel [BusinessLevelID, Description ]{eg. business, division, dept }

答案 1 :(得分:0)

使用isActive布尔字段或开始和结束日期字段来处理更改。如果X部门成为Business Y,请停用旧记录并添加新记录。关于相关部门,要么做同样的事情,要么根据保存历史数据的要求更新适用的字段。