关系型数据库中的关系到底是什么?(1)

定义

关系的定义可以用下面这样一个公式来给出。

R ⊆ (D1×D2×D3 · · · ×Dn)

(关系用符号 R 表示,属性用符号 Ai 表示,属性的定义域用符号 Di 表示)
这个公式读作“关系 R 是定义域 D1, D2, …, Dn 的笛卡儿积的子集”。
公式很简洁,为了便于理解,我们再举个简单的例子解释一下。首先假设
有 3 个属性 a1、 a2、 a3,然后我们描述一下它们的定义域。这里说的定义
域与数学中函数的定义域一样,指的是“属性的取值集合”。我们假设属
性 a1 可以取 1 种值,属性 a2 可以取 2 种值,属性 a3 可以取 3 种值。各
属性对应的定义域分别叫作 d1、 d2、 d3
在这里插入图片描述

笛卡儿积

使用这 3 个定义域生成关系时,最大的元组数是
多少?答案是 6。计算方法很简单,就是 1×2×3 = 6。全部的元组如下
表所示。
在这里插入图片描述

这个关系 R1 就是笛卡儿积。笛卡儿积是指“使用各个属性的定义域
生成的组合数最多的集合”
。因此通过上面 3 个定义域生成的所有关系
Rn,都是这个笛卡儿积的子集。例如除了 R1,我们还可以定义 R2,将
R2 定义成由“R1 中的第 1 行和第 2 行

猜你喜欢

转载自blog.csdn.net/MyySophia/article/details/114905417