数据库中的基数是什么?
我一直在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数据库时,我们根据业务规则定义基数。 但是每个物体都有其自身的特性。
当你在对象中定义基数时,你必须考虑所有这些事情来定义正确的基数。