数据库 关系代数

时间:2022-11-30 16:57:33

数据库 关系代数

  • 专门的关系运算:

  • 选择

  • 投影

  • 连接

数据库 关系代数

二、传统的集合运算

===================================================================

1、符号


1)R,t ∈ R,t[Ai]

设关系模式为R(A1,A2,…,An)

  • R是关系模式 R(A1,A2,…,An) 的一个关系

  • t ∈ R:表示 t 是 R 的一个元组

  • t[Ai]:表示元组 t 中相应于属性 Ai 的一个分量

2)A,t[A], A  ̄ \overline{A} A?

  • 若 A = {Ai1,Ai2,…,Aik},其中 Ai1,Ai2,…,Aik 是 A1,A2,…,An 中的一部分,则 A 称为属性列或属性组

  • t[A] = (t[Ai1],t[Ai2],…,t[Aik]) 表示元组 t 在属性列 A 上诸分量的集合

  • A  ̄ \overline{A} A? 则表示 {A1,A2,…,An} 中去掉 {Ai1,Ai2,…,Aik} 后剩余的属性组

3)tr︵ts

设 R 为 n 元关系,S 为 m 元关系

  • tr ∈ R,ts ∈ S,tr︵ts 称为元组的连接

  • tr︵ts 是一个 n + m 列的元组。前 n 个分量为 R 中的一个 n 元组,后 m 个分量为 S 中的一个 m 元组

4)象集

  • 给定一个关系 R(X,Y),X 和 Y 为属性组

  • 当 t[X] = x 时,x 在 R 中的象集(Images Set)为:Yx = { t[Y] | t ∈ R,t[X] = x}

  • 它表示 R 中的属性组 X 上值为 x 的诸元组,在 Y 上分量的集合

数据库 关系代数

2、∪ 并(Union)


合并,去重

  • R 和 S

  • 具有相同的元 n (即两个关系都有 n 个属性)

  • 相应的属性取自同一个域

  • R ∪ S

  • 仍为 n 元关系,由属于 R 或属于 S 的元组组成:R ∪ S = { t | t ∈ R v t ∈ S}

  • v :表示或

数据库 关系代数

3、- 差(Difference)


减掉相同的

  • R 和 S

  • 具有相同的元 n

  • 相应的属性取自同一个域

  • R - S

  • 仍为 n 元关系,由属于 R 而不属于 S 的所有元组组成

数据库 关系代数

4、∩ 交(Intersection)


只取相同的

  • R 和 S

  • 具有相同的元 n

  • 相应的属性取自同一个域

  • R ∩ S

  • 仍为 n 元关系,由既属于 R 又属于 S 的元组组成

R ∩ S = { t | t ∈ R ∧ t ∈ S}

R ∩ S = R - ( R - S )

  • ∧:表示与

数据库 关系代数

数据库 关系代数

5、x 笛卡尔积(Cartesian Product)


相乘

  • 严格地讲应该是广义的笛卡尔积

  • R:n 目关系,K1 个元组,S:m 目关系,K2 个元组

  • R X S

  • 列:(n + m) 列元组的集合

  • 元组的前 n 列是关系 R 的一个元组

  • 后 m 列是关系 S 的一个元组

  • 行:K1 X K2 个元组

  • R x S = { tr︵ts | tr ∈ R ∧ ts ∈ S}

数据库 关系代数

6、总结


| 传统运算 | 表示 | 含义 |

| --- | --- | --- |

| 并 ∪ | R ∪ S = { t | t ∈ R v t ∈ S}

v (或),t 属于R,或者属于S | 合并,去重 |

| 差 - | R - S 从R中减去S,保留R中剩余的 | 去重 |

| 交 ∩ | R ∩ S = { t | t ∈ R ∧ t ∈ S}

v (与),t 属于R,也属于S | 交集 |

| 积 x | R x S = { tr︵ts | tr ∈ R ∧ ts ∈ S}

tr 属于 R,并且 ts 属于 S | 相乘 |

三、专门的关系运算

===================================================================

实例:学生课程数据库

  • 学生表

数据库 关系代数

  • 课程表

数据库 关系代数

  • 成绩表

数据库 关系代数

1、σ 选择(Selection)


数据库 关系代数

数据库 关系代数

数据库 关系代数

数据库 关系代数

数据库 关系代数

2、Π 投影(Projection)


数据库 关系代数

数据库 关系代数

数据库 关系代数

数据库 关系代数

3、 ? \bowtie ? 连接(Join)


数据库 关系代数

数据库 关系代数

数据库 关系代数

数据库 关系代数

数据库 关系代数

数据库 关系代数

数据库 关系代数

数据库 关系代数

数据库 关系代数