我了解基数是什么,所以请不要解释;-)
我想知道,在数据建模中做基数的目的是什么,以及为什么我应该关心。
示例:在 ER 模型中,您创建关系并将基数添加到关系中。我什么时候要在开发过程中进一步使用基数?我为什么要关心基数?
例如,在完成 ER 模型后,我如何、何时以及在何处使用基数。
谢谢 :-)
我了解基数是什么,所以请不要解释;-)
我想知道,在数据建模中做基数的目的是什么,以及为什么我应该关心。
示例:在 ER 模型中,您创建关系并将基数添加到关系中。我什么时候要在开发过程中进一步使用基数?我为什么要关心基数?
例如,在完成 ER 模型后,我如何、何时以及在何处使用基数。
谢谢 :-)
基数告诉你一些关于表格设计的重要信息。1:m 关系需要子表中的外键列指向父主键列。多对多关系意味着一个外键指向两个参与者的 JOIN 表。
数据模型是一组约束;没有限制,一切皆有可能。基数是一种(特殊的)约束。在大多数文化中,婚姻是两个人之间的关系。(在某些文化中,这些人必须有不同的性别。)
数据建模的问题是您必须指定希望对数据施加的约束。一些约束(唯一的、外键)更重要,并且与其他约束(“薪水 < 100000”)相比,对问题域的依赖性更小。在大多数情况下,基数将介于critical和bogus之间。
基数是两个实体之间关系的重要信息。在对实际表架构进行建模时,您需要它们用于以后的模型。在不知道关系基数的情况下,无法对表和它们之间的键限制进行建模。
例如,一辆汽车必须正好有 4 个轮子,并且这些轮子必须正好连接到一辆汽车上。如果没有基数,你可以拥有一辆有 3、1、0、12 等轮子的汽车,而且可以在其他汽车之间共享。当然,根据上下文,这可能有意义,但通常没有意义。
如果您正在创建应用程序的数据层并决定使用 ORM,那么它可能是实体框架。
有时您需要创建模型和模型图。此时,您将能够拉出您的 ERD,查看您放在图表上的基数并创建正确的关系,以便您的数据层形状与您的数据库形状相匹配。
例如,在完成 ER 模型后,我如何、何时以及在何处使用基数。
在物理创建数据库时,FK 的方向、NULL 能力和数量取决于 ER 图中关系的两个端点上的基数。它甚至可以“添加”或“删除”一些表和键。
例如:
并非所有基数都可以(轻松)在物理数据库中以声明方式表示,但幸运的是那些往往最有用的...
1在插入新数据时会出现先有鸡还是先有蛋的问题,通常可以通过将约束检查推迟到事务结束来解决。