数据库中的基数是什么?

我一直在search整个互联网,但似乎没有一个答案,我可以理解。

如果有人能够用数据库中的基数来帮助解释我,

谢谢。

混淆的根源可能是在两个不同的上下文中使用这个词 – 数据build模和数据库查询优化。

在数据build模方面,基数是一个表与另一个表的关系。

  • 1-1(表A中的一行与表B中的一行有关)
  • 1-Many(表A中的一行涉及tableB中的许多行)
  • 许多(表A中的许多行涉及表B中的许多行)

上面也有可选的参与条件(一个表中的一行不必与另一个表相关)。

请参阅基数维基百科(数据build模) 。


在谈到数据库查询优化时,基数是指表格中某列的数据,具体来说有多less个唯一值。 这个统计有助于规划查询和优化执行计划。

请参阅基数维基百科(SQL语句) 。

这取决于上下文。 基数意味着一些东西,但它被用在各种情况下。

  • 在构build数据模型时,基数通常是指表A中与表B相关的行数。也就是说,对于A(1:1)中的每一行,B中是否有1行,是否有N行在A(1:N)中的每一行中,在B中对于A(N:M)中的每N行存在M行B
  • 当你在查看是否使用ab * -tree索引或位图索引更有效率或谓词select性如何时,基数是指特定列中不同值的数目。 例如,如果你有一个PERSON表, GENDER很可能是一个非常低的基数列( GENDER中可能只有两个值),而PERSON_ID可能是一个非常高的基数列(每一行都会有不同的值) 。
  • 查看查询计划时,基数是指预期从特定操作返回的行数。

可能还有其他的情况,人们用不同的上下文来谈论基数,并且指的是别的。

基数是指列中包含的数据的唯一性。 如果某列有大量重复数据(例如存储“真”或“假”的列),则基数较低,但如果这些值具有高度唯一性(例如社会安全号码),则基数较高。

在数据库中, Cardinality是指表中的一组行。

*在这里输入图像说明* img源码


在这里输入图像说明 img源码


  • 关系是通过它们的基数 (即集合的元素数目)来命名和分类的。
  • 出现的符号closures实体是最大基数 ,另一个是最小基数
  • 实体关系,显示关系线的结束如下:
    在这里输入图像说明

在这里输入图像说明

图像源

一个集合的基数是集合中元素的个数,因为我们有一个集合a> a,b,c <因此集合包含3个元素3是该集合的基数

定义:我们在数据库中有表格。 在关系数据库中,我们有表格之间的关系。 这些关系可以是一对一,一对多或多对多的关系。 这些关系被称为“基数”。

基数的显着性:

许多关系数据库都是按照业务规则devise的。在devise数据库时,我们根据业务规则定义基数。 但是每个物体都有其自身的特性。

当你在对象中定义基数时,你必须考虑所有这些事情来定义正确的基数。