📜  DBMS 中的基数

📅  最后修改于: 2022-05-13 01:57:53.459000             🧑  作者: Mango

DBMS 中的基数

在数据库管理中,基数起着重要的作用。这里基数表示实体集的实体参与关系集的次数。或者我们可以说关系的基数是关系中元组(行)的数量。表之间的基数类型有:

  • 一对一
  • 一对多
  • 多对一
  • 多对多

映射基数

在数据库中,映射基数或基数比意味着表示通过某个关系集可以链接另一个实体的实体的数量。映射基数在描述二元关系集时最有用,尽管它们有助于描述包含两个以上实体集的关系集。在这里,我们将只关注二元关系集,这意味着我们将为集合 R 找到实体集 A 和 B 之间的关系。所以我们可以映射以下基数中的任何一个:

1. 一对一:在这种基数映射中,A 中的一个实体最多连接到 B 中的一个实体。或者我们可以说 B 中的一个单元或项目最多连接到 B 中的一个单元或项目一种。

图1

例子:

在特定的医院中,外科医生部门有一个部门负责人。它们都服务于一对一的关系。

2.一对多:在这种基数映射中,A中的一个实体与B中的任意数量的实体相关联。或者我们可以说B中的一个单元或项目最多可以连接到一个单元或项目在一个。

图 2

例子:

在特定医院,外科医生部门有多名医生。它们服务于一对多的关系。

3. 多对一:在这种类型的基数映射中,A 中的一个实体最多连接到 B 中的一个实体。或者我们可以说 B 中的一个单元或项目可以与任何数字(零或多个)相关联A 中的实体或项目。

图 3

例子:

在特定的医院中,多个手术由一名外科医生完成。这种类型的关系称为多对多关系。

4. 多对多:在这种类型的基数映射中,A 中的一个实体与 B 中任意数量的实体相关联,B 中的一个实体与 A 中任意数量的实体相关联。

例子:

在一家特定的公司中,多人从事多个项目。它们服务于多对多关系。

特定关系集的适当映射基数显然取决于对关系集建模的实际情况。

  • 如果我们有一对多或多对一的基数,我们可以将关系表与许多涉及的表混合。
  • 如果基数是多对多,我们不能混合任何两个表。
  • 如果我们有一个一对一的关系并且我们有一个实体的完全参与,那么我们可以将该实体与一个关系表混合,如果我们有两个实体的完全参与,那么我们可以通过混合两个实体及其关系来制作一个表.