原文: https://beginnersbook.com/2015/04/cardinality-in-dbms/

    在 DBMS 中,您可以在两个不同的地方听到基数术语,它也有两种不同的含义。

    在数据模型的背景下

    数据模型而言,基数是指两个表之间的关系。如实体关系指南中所见,关系可以是四种类型:

    一对一 - 第一个表的单行与第二个表的单行相关联。例如,人与护照表之间的关系是一对一的,因为一个人只能拥有一本护照,而护照只能分配给一个人。

    一对多 - 第一个表的单行与第二个表的多行相关联。例如,客户和订单表之间的关系是一对多,因为客户可以下多个订单,但单个订单只能属于一个客户。

    多对一 - 第一个表的多行与第二个表的单行相关联。例如,学生和大学表之间的关系是多对一的,因为大学可以有很多学生,但学生一次只能在一所大学学习。

    多对多 - 第一个表的多行与第二个表的多行相关联。例如,学生和课程表之间的关系是多对多的,因为学生可以一次学习很多课程,并且可以将课程分配给许多学生。

    在查询优化的上下文中:

    在查询方面,基数是指表中列的唯一性。具有所有唯一值的列将具有高基数,并且具有所有重复值的列将具有低基数。这些基数得分有助于查询优化。