1

我的数据库中有一个表,其中包含状态名称和描述(称为状态)。我还有另外两个表,VacancyRequest 和 ActionRequest,每个表代表不同类型的实体,但每个表都有自己的状态。一个实体的可能状态不一定与另一实体的可能状态相匹配。

为了保持完整性,哪种方法更好?

  1. 创建另外两个表,VacancyRequestStatus 和 ActionRequestStatus,每个表都有一列——StatusID。这两个表将仅包含适用于其各自实体类型的 StatusID。然后,在 Vacancy 和 Action 表及其各自的状态表之间创建外键关系。每个状态表都有一个返回主状态表的 FK。

  2. 在状态表中添加一列以指示它适用于的实体(V 代表空缺,A 代表行动)。对 Vacancy 和 Action 表使用检查约束,以确保应用于记录的任何 StatusID 都适用于该实体类型。

4

1 回答 1

2

由于 Action Status 和 Vacancy Status 没有任何关联,所以第一种方法更直接。

于 2011-06-22T18:49:35.200 回答