0


数据库系统概论——关系代数详解

文章目录

1、关系代数概述

关系代数是一种

抽象

的查询语言,是关系数据操纵语言的一种

传统表达方式

,它是利用对关系的运算来表达查询的。

任何运算都是将一定的运算符作用于一定的运算对象上,得到预期的运算结果。

关系代数的运算对象是关系,运算结果亦为关系。

在关系代数运算中,有5种基本运算,它们是并(U)、差(—)、投影、选择、笛卡尔积(X),其它运算即交、连接和除,均可通过5种基本的运算来表达 。

运算符:

  • 集合运算符 - 将关系看成元组的集合- 从关系的“水平”方向即行的角度来进行运算
  • 专门的关系运算符 - 不仅涉及而且涉及
  • 算术比较符 - 辅助专门的关系运算符进行操作
  • 逻辑运算符 - 辅助专门的关系运算符进行操作

常见的关系运算符如下:
在这里插入图片描述

1.1 传统的集合运算

设关系

     R 
    
   
  
    R 
   
  
R和关系 
 
  
   
   
     S 
    
   
  
    S 
   
  
S是相容的, 
 
  
   
   
     t 
    
   
  
    t 
   
  
t代表元组变量,现将各种运算分别介绍如下:

(1)并(Union)

  • 关系 R R R与关系 S S S的并记作: R ∪ S = { t ∣ t ∈ R ∨ t ∈ S } R∪S={t|t∈R∨t∈S } R∪S={t∣t∈R∨t∈S}
  • 结果关系是由属于 R R R或属于 S S S的元组组成,且结果仍为 n n n目关系,但结果关系要消除重复元组。

举例:

     R 
    
   
  
    R 
   
  
R和 
 
  
   
   
     S 
    
   
  
    S 
   
  
S
  • 具有相同的目 n n n(即两个关系都有n个属性)

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

       R 
      
     
       ∪ 
      
     
       S 
      
     
    
      R∪S 
     
    

    R∪S

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

具体如下图所示:
在这里插入图片描述

(2)交( Intersection)

  • 关系 R R R与关系 S S S的交记作: R ∩ S = { t ∣ t ∈ R ∧ t ∈ S } R∩S={t|t∈R∧t∈S } R∩S={t∣t∈R∧t∈S}
  • 结果关系由既属于 R R R又属于 S S S的元组组成,且仍为 n n n目关系。

举例:

     R 
    
   
  
    R 
   
  
R和 
 
  
   
   
     S 
    
   
  
    S 
   
  
S
  • 具有相同的目 n n n

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

       R 
      
     
       ∩ 
      
     
       S 
      
     
    
      R∩S 
     
    

    R∩S

  • 仍为 n n n目关系,由既属于 R R R又属于 S S S的元组组成 - R ∩ S = { t ∣ t ∈ R ∧ t ∈ S } R∩S={t|t∈R∧t∈S } R∩S={t∣t∈R∧t∈S}

具体如下图所示:
在这里插入图片描述

(3)差(Difference)

  • 关系R与关系S的差记作: R − S = { t ∣ t ∈ R ∧ t ∉ S } R-S={t|t∈R ∧t \notin S} R−S={t∣t∈R∧t∈/S}
  •                                     R                                  R                     R和                                        S                                  S                     S的差,结果关系由属于                                        R                                  R                     R而不属于                                        S                                  S                     S的所有元组组成,且仍为                                        n                                  n                     n目关系,即在关系                                        R                                  R                     R中减去                                        R                                  R                     R和                                        S                                  S                     S的相同元组。
    

举例:

     R 
    
   
  
    R 
   
  
R和 
 
  
   
   
     S 
    
   
  
    S 
   
  
S
  • 具有相同的目 n n n

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

       R 
      
     
       − 
      
     
       S 
      
     
    
      R - S 
     
    

    R−S

  • 仍为 n n n目关系,由属于 R R R而不属于 S S S的所有元组组成 - R − S = { t ∣ t ∈ R ∧ t ∉ S } R-S={t|t∈R ∧t \notin S} R−S={t∣t∈R∧t∈/S}

在这里插入图片描述

(4)广义笛卡尔积(Extended Cartesian Product)

  • 两个分别为 n n n目和 m m m目的关系, R R R和 S S S的广义笛卡尔积是一个 ( n + m ) (n+m) (n+m)列的元组的集合。
  • 元组的前 n n n列是关系 R R R的一个元组,后 m m m列是关系 S S S的一个元组。若 R R R有 k 1 k_1 k1​个元组, S S S有 k 2 k_2 k2​个元组,则关系 R R R和关系 S S S的广义笛卡尔积有 k 1 × k 2 k_1×k_2 k1​×k2​个元组。
  • 记作: R × S = { ( a 1 , a 2 , … a m , b 1 , b 2 , … b n ) ∣ ( a 1 , a 2 , … a m ) ∈ R ∧ ( b 1 , b 2 , … b n ) ∈ S } 。 R×S={(a_1,a_2,…a_m,b_1,b_2,…b_n)| (a_1,a_2,…a_m) ∈R ∧ (b_1,b_2,…b_n) ∈ S}。 R×S={(a1​,a2​,…am​,b1​,b2​,…bn​)∣(a1​,a2​,…am​)∈R∧(b1​,b2​,…bn​)∈S}。

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

  •                                     R                                  R                     R:                                         n                                  n                     n目关系,                                                   k                               1                                            k_1                     k1​个元组
    
  •                                     S                                  S                     S:                                         m                                  m                     m目关系,                                                   k                               2                                            k_2                     k2​个元组
    
    
    
    
     
     
       R 
      
     
       × 
      
     
       S 
      
     
    
      R×S 
     
    

    R×S

  • 列: m + n m+n m+n列元组的集合- 元组的前 n n n列是关系 R R R的一个元组- 后 m m m列是关系 S S S的一个元组

  • 行: k 1 × k 2 k_1×k_2 k1​×k2​个元组在这里插入图片描述 具体如下图所示:在这里插入图片描述

1.2 专门的关系运算

在讲解之前,我们先引入几个记号,这样有助于下面的理解,确实关系代数后半部分有点难理解。
**(1)

      R 
     
    
      , 
     
    
      t 
     
    
      ∈ 
     
    
      R 
     
    
      , 
     
    
      t 
     
    
      [ 
     
     
     
       A 
      
     
       i 
      
     
    
      ] 
     
    
   
     R,t\in R,t[A_i] 
    
   
 R,t∈R,t[Ai​]**

设关系模式为

     R 
    
   
     ( 
    
    
    
      A 
     
    
      1 
     
    
   
     , 
    
    
    
      A 
     
    
      2 
     
    
   
     , 
    
   
     … 
    
   
     , 
    
    
    
      A 
     
    
      n 
     
    
   
     ) 
    
   
  
    R(A_1,A_2,…,A_n) 
   
  
R(A1​,A2​,…,An​),它的一个关系设为 
 
  
   
   
     R 
    
   
  
    R 
   
  
R, 
 
  
   
   
     t 
    
   
     ∈ 
    
   
     R 
    
   
  
    t\in R 
   
  
t∈R表示 
 
  
   
   
     t 
    
   
  
    t 
   
  
t是 
 
  
   
   
     R 
    
   
  
    R 
   
  
R的一个元组, 
 
  
   
   
     t 
    
   
     [ 
    
    
    
      A 
     
    
      i 
     
    
   
     ] 
    
   
  
    t[A_i] 
   
  
t[Ai​]则表示元组t中相应于属性 
 
  
   
    
    
      A 
     
    
      i 
     
    
   
  
    A_i 
   
  
Ai​的一个分量。

(2)

        t 
       
      
        r 
       
      
      
      
        t 
       
      
        s 
       
      
     
    
      ⏞ 
     
    
   
  
    \overbrace{t_rt_s} 
   
  
tr​ts​​ ,  
 
  
   
   
     R 
    
   
  
    R 
   
  
R为 
 
  
   
   
     n 
    
   
  
    n 
   
  
n目关系, 
 
  
   
   
     S 
    
   
  
    S 
   
  
S为 
 
  
   
   
     m 
    
   
  
    m 
   
  
m目关系。

 
  
   
    
    
      t 
     
    
      r 
     
    
   
     ∈ 
    
   
     R 
    
   
     , 
    
    
    
      t 
     
    
      s 
     
    
   
     ∈ 
    
   
     S 
    
   
     , 
    
    
     
      
      
        t 
       
      
        r 
       
      
      
      
        t 
       
      
        s 
       
      
     
    
      ⏞ 
     
    
   
  
    t_r\in R,t_s\in S, \overbrace{t_r t_s} 
   
  
tr​∈R,ts​∈S,tr​ts​​称为元组的连接。 
 
  
   
    
     
      
      
        t 
       
      
        r 
       
      
      
      
        t 
       
      
        s 
       
      
     
    
      ⏞ 
     
    
   
  
    \overbrace{t_r t_s} 
   
  
tr​ts​​是一个 
 
  
   
   
     n 
    
   
     + 
    
   
     m 
    
   
  
    n + m 
   
  
n+m列的元组,前 
 
  
   
   
     n 
    
   
  
    n 
   
  
n个分量为 
 
  
   
   
     R 
    
   
  
    R 
   
  
R中的一个 
 
  
   
   
     n 
    
   
  
    n 
   
  
n元组,后 
 
  
   
   
     m 
    
   
  
    m 
   
  
m个分量为 
 
  
   
   
     S 
    
   
  
    S 
   
  
S中的一个 
 
  
   
   
     m 
    
   
  
    m 
   
  
m元组。

(3)象集

      Z 
     
    
      x 
     
    
   
  
    Z_x 
   
  
Zx​

给定一个关系

     R 
    
   
     ( 
    
   
     X 
    
   
     , 
    
   
     Z 
    
   
     ) 
    
   
  
    R(X,Z) 
   
  
R(X,Z), 
 
  
   
   
     X 
    
   
  
    X 
   
  
X和 
 
  
   
   
     Z 
    
   
  
    Z 
   
  
Z为属性组。当 
 
  
   
   
     t 
    
   
     [ 
    
   
     X 
    
   
     ] 
    
   
     = 
    
   
     x 
    
   
  
    t[X]=x 
   
  
t[X]=x时, 
 
  
   
   
     x 
    
   
  
    x 
   
  
x在 
 
  
   
   
     R 
    
   
  
    R 
   
  
R中的象集(Images Set)为:

  
   
    
     
     
       Z 
      
     
       x 
      
     
    
      = 
     
     
     
       t 
      
     
       [ 
      
     
       Z 
      
     
       ] 
      
     
       ∣ 
      
     
       t 
      
     
       ∈ 
      
     
       R 
      
     
       , 
      
     
       t 
      
     
       [ 
      
     
       X 
      
     
       ] 
      
     
       = 
      
     
       x 
      
     
    
   
     Z_x={t[Z]|t \in R,t[X]=x} 
    
   
 Zx​=t[Z]∣t∈R,t[X]=x

它表示

     R 
    
   
  
    R 
   
  
R中属性组 
 
  
   
   
     X 
    
   
  
    X 
   
  
X上值为 
 
  
   
   
     x 
    
   
  
    x 
   
  
x的诸元组在 
 
  
   
   
     Z 
    
   
  
    Z 
   
  
Z上分量的集合。

举例如下:
在这里插入图片描述
上面抽象的例子可能并不是特别容易理解,那么我们就拿生活中的实际例子进行解释:

学生-课程-选修关系:
学生关系Student、课程关系Course和选修关系SC

在这里插入图片描述
在上面的关系表中,我们可以把SC表看作一个关系R,它的属性组为学号,课程号以及成绩,即

     R 
    
   
     ( 
    
   
     S 
    
   
     n 
    
   
     o 
    
   
     , 
    
   
     C 
    
   
     n 
    
   
     o 
    
   
     , 
    
   
     G 
    
   
     r 
    
   
     a 
    
   
     d 
    
   
     e 
    
   
     ) 
    
   
  
    R(Sno, Cno, Grade) 
   
  
R(Sno,Cno,Grade)。这时我们将SC表与上面那个例子对比可以看出,Sno为200215121的学号在关系R(SC表)中的象集为 
 
  
   
   
     S 
    
   
     n 
    
    
    
      o 
     
    
      200215121 
     
    
   
     = 
    
   
     { 
    
   
     1 
    
   
     , 
    
   
     2 
    
   
     , 
    
   
     3 
    
   
     } 
    
   
  
    Sno_{200215121}=\{1,2,3\} 
   
  
Sno200215121​={1,2,3},以此类推,这样就比较容易理解一点。
1.2.1 选择运算
  • 选择又称为限制
  • 选择运算符的含义 - 关系R上的选择操作是根据某些条件对关系R做水平分割,即从行的角度选择符合条件的元组。
  • 在关系R中选择满足给定条件的诸元组 - 记作: σ F ( R ) = { t ∣ t ∈ R ∧ F ( t ) = ‘真’ } σF(R)={t|t∈R∧F(t)=‘真’} σF(R)={t∣t∈R∧F(t)=‘真’}
  • F:选择条件,是一个逻辑表达式,取逻辑值“真”或“假”。
  • 选择运算是从关系R中选取使逻辑表达式F为真的元组,是从行的角度进行的运算

在这里插入图片描述

F:选择条件,是一个逻辑表达式

  • 基本形式为: X 1 θ Y 1 X_1θY_1 X1​θY1​
  •                                     θ                                  θ                     θ:比较运算符                                        (>,                            ≥                            ,<,                            ≤                            ,=或                            <                            >                            )                                  (>,≥,<,≤,=或<>)                     (>,≥,<,≤,=或<>)
    
  •                                                X                               1                                      ,                                       Y                               1                                            X_1,Y_1                     X1​,Y1​:属性名、常量、简单函数.
    
  • 属性名也可以用它的序号来代替;

以最上面的学生-课程-选修关系表举例说明更好理解:

[例1] 查询信息系(IS系)全体学生

      σ 
     
     
     
       S 
      
     
       d 
      
     
       e 
      
     
       p 
      
     
       t 
      
     
    
    
    
      = 
     
    
      ′ 
     
    
   
     I 
    
    
    
      S 
     
    
      ′ 
     
    
   
     ( 
    
   
     S 
    
   
     t 
    
   
     u 
    
   
     d 
    
   
     e 
    
   
     n 
    
   
     t 
    
   
     ) 
    
   
     或 
    
    
    
      σ 
     
    
      5 
     
    
    
    
      = 
     
    
      ′ 
     
    
   
     I 
    
    
    
      S 
     
    
      ′ 
     
    
   
     ( 
    
   
     S 
    
   
     t 
    
   
     u 
    
   
     d 
    
   
     e 
    
   
     n 
    
   
     t 
    
   
     ) 
    
   
  
    σ_{Sdept} = 'IS' (Student) 或 σ_5 ='IS'(Student) 
   
  
σSdept​=′IS′(Student)或σ5​=′IS′(Student)

结果:
在这里插入图片描述

[例2] 查询年龄小于20岁的学生

      σ 
     
     
     
       S 
      
     
       a 
      
     
       g 
      
     
       e 
      
     
       < 
      
     
       20 
      
     
    
   
     ( 
    
   
     S 
    
   
     t 
    
   
     u 
    
   
     d 
    
   
     e 
    
   
     n 
    
   
     t 
    
   
     ) 
    
   
     或 
    
    
    
      σ 
     
     
     
       4 
      
     
       < 
      
     
       20 
      
     
    
   
     ( 
    
   
     S 
    
   
     t 
    
   
     u 
    
   
     d 
    
   
     e 
    
   
     n 
    
   
     t 
    
   
     ) 
    
   
  
    σ_{Sage< 20}(Student) 或 σ_{4 < 20}(Student) 
   
  
σSage<20​(Student)或σ4<20​(Student)

结果:
在这里插入图片描述

1.2.2 投影(Projection)

投影运算符的含义:

  • 从R中选择出若干属性列组成新的关系 - π A ( R ) = t [ A ] ∣ t ∈ R π_A(R) = { t[A] | t \in R } πA​(R)=t[A]∣t∈R- A:R中的属性列

投影操作主要是从列的角度进行运算:
在这里插入图片描述
但投影之后不仅取消了原关系中的某些列,而且还可能取消某些元组(避免重复行)

举例说明一下:
[例3] 查询学生的姓名和所在系
即求Student关系上学生姓名和所在系两个属性上的投影

      π 
     
     
     
       S 
      
     
       n 
      
     
       a 
      
     
       m 
      
     
       e 
      
     
       , 
      
     
       S 
      
     
       d 
      
     
       e 
      
     
       p 
      
     
       t 
      
     
    
   
     ( 
    
   
     S 
    
   
     t 
    
   
     u 
    
   
     d 
    
   
     e 
    
   
     n 
    
   
     t 
    
   
     ) 
    
   
     或 
    
    
    
      π 
     
     
     
       2 
      
     
       , 
      
     
       5 
      
     
    
   
     ( 
    
   
     S 
    
   
     t 
    
   
     u 
    
   
     d 
    
   
     e 
    
   
     n 
    
   
     t 
    
   
     ) 
    
   
  
    π_{Sname,Sdept}(Student) 或 π_{2,5}(Student) 
   
  
πSname,Sdept​(Student)或π2,5​(Student)

结果:
在这里插入图片描述
[例4] 查询学生关系Student中都有哪些系

      π 
     
     
     
       S 
      
     
       d 
      
     
       e 
      
     
       p 
      
     
       t 
      
     
    
   
     ( 
    
   
     S 
    
   
     t 
    
   
     u 
    
   
     d 
    
   
     e 
    
   
     n 
    
   
     t 
    
   
     ) 
    
   
  
    π_{Sdept}(Student) 
   
  
πSdept​(Student)

结果:
在这里插入图片描述
由此可见,使用投影操作可以将关系表中的列单独拿出来组成新的关系表,这样方便我们可以更加清楚的查看自己想要的信息。

1.2.3 连接(Join)

连接也称为

     θ 
    
   
  
    θ 
   
  
θ连接

连接运算的含义:
从两个关系的笛卡尔积中选取属性间满足一定条件的元组
在这里插入图片描述
连接运算从

     R 
    
   
     和 
    
   
     S 
    
   
  
    R和S 
   
  
R和S的广义笛卡尔积 
 
  
   
   
     R 
    
   
     × 
    
   
     S 
    
   
  
    R×S 
   
  
R×S中选取( 
 
  
   
   
     R 
    
   
  
    R 
   
  
R关系)在 
 
  
   
   
     A 
    
   
  
    A 
   
  
A属性组上的值与( 
 
  
   
   
     S 
    
   
  
    S 
   
  
S关系)在 
 
  
   
   
     B 
    
   
  
    B 
   
  
B属性组上值满足比较关系 
 
  
   
   
     θ 
    
   
  
    θ 
   
  
θ的元组

举例说明一下:
[例5]关系R和关系S 如下所示:
在这里插入图片描述
在这里插入图片描述

1.2.4 两类常用连接运算

(1)等值连接(equijoin)

  • 什么是等值连接? - θ为“=”的连接运算称为等值连接
  • 等值连接的含义 - 从关系R与S的广义笛卡尔积中选取A、B属性值相等的 那些元组,即等值连接为:在这里插入图片描述举例说明:在这里插入图片描述在这里插入图片描述

(2)自然连接(Natural join)

  • 自然连接是一种特殊的等值连接 - 两个关系中进行比较的分量必须是相同的属性组- 在结果中把重复的属性列去掉
  • 自然连接的含义 - R和S具有相同的属性组B

在这里插入图片描述
举例:
在这里插入图片描述
在这里插入图片描述
一般的连接操作是从行的角度进行运算。
在这里插入图片描述
自然连接还需要取消重复列,所以是同时从行和列的角度进行运算。

1.2.5 除(Division)

给定关系

     R 
    
   
     ( 
    
   
     X 
    
   
     , 
    
   
     Y 
    
   
     ) 
    
   
  
    R (X,Y) 
   
  
R(X,Y)和 
 
  
   
   
     S 
    
   
     ( 
    
   
     Y 
    
   
     , 
    
   
     Z 
    
   
     ) 
    
   
  
    S (Y,Z) 
   
  
S(Y,Z),其中 
 
  
   
   
     X 
    
   
     , 
    
   
     Y 
    
   
     , 
    
   
     Z 
    
   
  
    X,Y,Z 
   
  
X,Y,Z为属性组。 
 
  
   
   
     R 
    
   
  
    R 
   
  
R中的 
 
  
   
   
     Y 
    
   
  
    Y 
   
  
Y与 
 
  
   
   
     S 
    
   
  
    S 
   
  
S中的 
 
  
   
   
     Y 
    
   
  
    Y 
   
  
Y可以有不同的属性名,但必须出自相同的域集。 
 
  
   
   
     R 
    
   
  
    R 
   
  
R与 
 
  
   
   
     S 
    
   
  
    S 
   
  
S的除运算得到一个新的关系 
 
  
   
   
     P 
    
   
     ( 
    
   
     X 
    
   
     ) 
    
   
  
    P(X) 
   
  
P(X), 
 
  
   
   
     P 
    
   
  
    P 
   
  
P是 
 
  
   
   
     R 
    
   
  
    R 
   
  
R中满足下列条件的元组在  
 
  
   
   
     X 
    
   
  
    X 
   
  
X 属性列上的投影:

元组在

     X 
    
   
  
    X 
   
  
X上分量值 
 
  
   
   
     x 
    
   
  
    x 
   
  
x的象集 
 
  
   
    
    
      Y 
     
    
      x 
     
    
   
  
    Y_x 
   
  
Yx​包含 
 
  
   
   
     S 
    
   
  
    S 
   
  
S在 
 
  
   
   
     Y 
    
   
  
    Y 
   
  
Y上投影的集合,记作:

在这里插入图片描述
关于象集的概念我们在前面已经提到了,在此直接举例子说明除:

[例6]设关系

     R 
    
   
     、 
    
   
     S 
    
   
  
    R、S 
   
  
R、S分别为下图的(a)和(b), 
 
  
   
   
     R 
    
   
     ÷ 
    
   
     S 
    
   
  
    R÷S 
   
  
R÷S的结果为图©

在这里插入图片描述

通过上面的结果我们可以发现,关系

     R 
    
   
  
    R 
   
  
R中的 
 
  
   
   
     B 
    
   
     、 
    
   
     C 
    
   
  
    B、C 
   
  
B、C属性组,和关系 
 
  
   
   
     S 
    
   
  
    S 
   
  
S中的 
 
  
   
   
     B 
    
   
     、 
    
   
     C 
    
   
  
    B、C 
   
  
B、C属性组的域都是相同的, 
 
  
   
   
     R 
    
   
     与 
    
   
     S 
    
   
  
    R与S 
   
  
R与S的除运算得到了一个新的关系,我们将它当做 
 
  
   
   
     P 
    
   
     ( 
    
   
     A 
    
   
     ) 
    
   
  
    P(A) 
   
  
P(A), 
 
  
   
   
     P 
    
   
  
    P 
   
  
P是 
 
  
   
   
     R 
    
   
  
    R 
   
  
R中满足上述条件的元组在 
 
  
   
   
     A 
    
   
  
    A 
   
  
A属性列中的投影。

分析:
设关系

     R 
    
   
     , 
    
   
     S 
    
   
  
    R,S 
   
  
R,S,分别为例6中的(a)和(b), 
 
  
   
   
     R 
    
   
     ÷ 
    
   
     S 
    
   
  
    R÷S 
   
  
R÷S的结果为图©,关系 
 
  
   
   
     R 
    
   
  
    R 
   
  
R中 
 
  
   
   
     A 
    
   
  
    A 
   
  
A可以取四个值 
 
  
   
   
     { 
    
    
    
      a 
     
    
      1 
     
    
   
     , 
    
    
    
      a 
     
    
      2 
     
    
   
     , 
    
    
    
      a 
     
    
      3 
     
    
   
     , 
    
    
    
      a 
     
    
      4 
     
    
   
     } 
    
   
     , 
    
   
  
    \{ a_1,a_2,a_3,a_4\}, 
   
  
{a1​,a2​,a3​,a4​}, 其中:
  •                                                a                               1                                            a_1                     a1​的象集为                                        {                            (                                       b                               1                                      ,                                       c                               2                                      )                            ,                            (                                       b                               2                                      ,                                       c                               1                                      ),(                                       b                               2                                      ,                                       c                               3                                      )                            }                                  \{(b_1,c_2),(b_2,c_1),(b_2,c_3)\}                     {(b1​,c2​),(b2​,c1​),(b2​,c3​)}
    
  •                                                a                               2                                            a_2                     a2​的象集为                                        {                            (                                       b                               3                                      ,                                       c                               7                                      )                            ,                            (                                       b                               2                                      ,                                       C                               3                                      )                            }                                  \{(b_3,c_7),(b_2,C_3)\}                     {(b3​,c7​),(b2​,C3​)}
    
  •                                                a                               3                                            a_3                     a3​的象集为                                        {                            (                                       b                               4                                      ,                                       c                               6                                      )                            }                                  \{ (b_4,c_6) \}                     {(b4​,c6​)}
    
  •                                                a                               4                                            a_4                     a4​的象集为                                        {                            (                                       b                               6                                      ,                                       c                               6                                      )                            }                                  \{(b_6,c_6)\}                     {(b6​,c6​)}
    
    
    
    
     
     
       S 
      
     
    
      S 
     
    

    S在

       ( 
      
     
       B 
      
     
       , 
      
     
       C 
      
     
       ) 
      
     
    
      (B,C) 
     
    

    (B,C)上的投影为

       { 
      
     
       ( 
      
      
      
        b 
       
      
        1 
       
      
     
       , 
      
      
      
        c 
       
      
        2 
       
      
     
       ),( 
      
      
      
        b 
       
      
        2 
       
      
     
       , 
      
      
      
        c 
       
      
        1 
       
      
     
       ) 
      
     
       , 
      
     
       ( 
      
      
      
        b 
       
      
        2 
       
      
     
       , 
      
      
      
        c 
       
      
        3 
       
      
     
       ) 
      
     
       } 
      
     
    
      \{(b_1,c_2),(b_2,c_1),(b_2,c_3)\} 
     
    

    {(b1​,c2​),(b2​,c1​),(b2​,c3​)}

显然只有

      a 
     
    
      1 
     
    
   
  
    a_1 
   
  
a1​的象集包含了 
 
  
   
   
     S 
    
   
  
    S 
   
  
S在 
 
  
   
   
     ( 
    
   
     B 
    
   
     , 
    
   
     C 
    
   
     ) 
    
   
  
    (B,C) 
   
  
(B,C)属性组上的投影,所以 
 
  
   
   
     R 
    
   
     ÷ 
    
   
     S 
    
   
     = 
    
   
     { 
    
   
     a 
    
   
     1 
    
   
     } 
    
   
  
    R÷S=\{a1\} 
   
  
R÷S={a1}。

除操作是同时从行和列角度进行运算
在这里插入图片描述

📢博客主页:https://blog.csdn.net/m0_63007797?spm=1011.2415.3001.5343
📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
📢本文由 心无旁骛~ 原创,首发于 CSDN博客🙉
📢停下休息的时候不要忘了别人还在奔跑,希望大家抓紧时间学习,全力奔赴更美好的生活✨

标签: 数据库 mysql

本文转载自: https://blog.csdn.net/m0_63007797/article/details/128779978
版权归原作者 心无旁骛~ 所有, 如有侵权,请联系我们删除。

“数据库系统概论——关系代数详解”的评论:

还没有评论