什么时候/ 1:1关系中的两个实体成为单一实体?

时间:2015-11-08 01:30:10

标签: mysql sql entity-framework

我对(Relational)数据库设计比较陌生。

的建议让我很困惑 很多,即使不是大多数1:1关系都是设计不良的ERM的迹象,而且

除非

,否则应将1:1关系中的两个实体合并为一个实体

是做其他事情的强有力的理由。但我还没有找到关于何时的明确建议

这样做。任何解释,参考文献赞赏。

编辑:我认为我的情况有所不同,因为我有一个不同的起点:我有一个业务情况,我必须识别实体, 他们的关系等等。我给了两个1:1关系的实体,我想知道何时/是否应该将它们合并为一个实体。我没有在任何其他问题中看到这一点。如果有人确实将我链接到一个解决此问题的问题,我可能会删除我的帖子,但我想让它站起来。

编辑2:更具体地说,我有一个每个员工都管理的情况 一个部门和每个部门由一名员工管理。

编辑3:我想它归结为区分属性和实体。我的想法是,根据经验,给出一个描述 情况,动词表示关系。我能想到的另一个限制 违反了"原子性"或1NF,其中属性是多值的, 例如,如果我们有"包"并且有提及包装内容,如果有的话 是描述了很多内容,然后"内容"被制成一个实体,以避免多个条目。也许这比我原先想象的要简单。

感谢.;

1 个答案:

答案 0 :(得分:1)

“1:1关系中的两个实体何时/应该成为单一实体?”

几乎总是

实际上问题应该是“何时应该将一个实体分成两个具有1:1关系的表?”我可以想到一个可能的原因。

  

实体的一行所需的列数或空间超出了允许范围。

必须有更多理由,但这就是我们立刻想到的。

修改

从此处添加更多理由:http://solutioncenter.apexsql.com/how-to-split-a-table-in-sql/#sthash.VbXZVkxv.dpuf

  

通过拆分表并移动要保护的列,您可以   为包含敏感的表分配不同的访问权限   数据:

     

有一个表,其中大多数外部应用程序访问一组   数据更频繁(例如人名,SSN等),而其他数据   (例如,人的照片)需要更少的时间来改善   通过拆分表并移动较少访问的列来实现性能   进入另一张桌子。