这个交流网站的新手,所以我希望我的问题不是不合适的。
创建一个有点标准化的数据库 我有一个设计问题,我不确定如何有效地处理。
一张表与另外两张表具有一对多关系。这两个表然后在它们之间具有多对多关系。我不应该以某种方式确保(除了在编程插入中)链接在一起的项目属于同一个父表。
让我们把它放在一个场景中(这是一个虚构的场景):
部门表,其中每一行是公司中的一个部门。它与 Employee 表具有一对多关系。因此,每个员工都属于一个且仅一个部门。
Division 表还与记录了特定项目的 Project 表具有一对多关系。该项目还必须注册员工在此特定项目中记录的小时数。我会使用 Employee 和 Project 之间的多对多表和一个小时列来做到这一点。
这应该一切正常(我认为至少),除了理论上数据库中没有任何内容可以确保 Employee 和 Project 属于同一个部门,即使它们应该并且实际上都属于该表中的一个实体。
有什么好方法可以确保这种模式的意图和数据的完整性由一些抽象的关系数据库处理。您会以任何其他方式构建数据库还是会对多对多关系施加一些限制?