(2.2)关系模型之基本关系代数运算

1.关系代数

  • 可以用代数、逻辑等方法描述关系操作,最基本最常用的是代数方法,即:关系代数
  • 关系代数也是一门代数,关系代数包括一个运算集合,这些运算以一个或者两个关系作为运算数,产生一个新的关系作为结果
  • 关系代数运算的分类如下:
    在这里插入图片描述

2.基本关系代数运算:选择

  • 选择
    选择运算是选出满足给定谓词(条件)的元组 ,结果关系和原关系有着相同的模式。
    选择运算用希腊字母δ表示
  • eg:选择出examinee表中,eesex=“男”的元组
    在这里插入图片描述

3.基本关系代数运算:投影

  • 投影
    投影运算用来从给定关系产生一个只有其部分列的新关系;
    所有希望在结果关系中出现的属性作为Π的右下标,作为参数的关系名紧紧跟在Π后的括号中,结果关系的模式是:Π的下标中所有列出的列出的所有属性并按照Π下标中列出的顺序出现
    投影运算用希腊字母Π表示

  • eg:
    对examinee做投影,结果关系包括:eeid,eename两个属性,并且会去掉结果关系中重复的元组
    在这里插入图片描述

  • 注意:
    关系代数把表看作,作为元组集合的关系,既然是集合,就不包括重复元组,也就是说,关系代数每个运算都是去重的

4.基本关系代数运算:并运算

  • 关系是相容的
    (1)两个关系必须是同元的,即:他们所包含的属性个数必须相同
    (2)两个关系对应属性的域必须相同或相容
  • eg:
    找出所有肯定有组卷考官或者所有有考生报考的eid
    对erexam的eid属性做投影,查询有组卷考官的试卷eid;
    对eeexam的eid属性做投影,查询有考生报考的试卷eid;
    最后这俩求个并

在这里插入图片描述

5.基本关系代数运算:集合差运算

  • 集合差运算是用来查询,载一个关系中,而不在另一个关系中的那些元组, 和并运算一样,集合差运算只能在相容的关系间进行

  • eg:找出所有有考生报考但是还没有安排组卷考官的eid
    对eeexam的eid属性做投影-对erexam的eid属性做投影
    在这里插入图片描述

6.笛卡尔积运算

  • 结果关系的模式是参与运算的两个关系的模式的串接
  • 运算符左侧关系中的每一个元组与右侧关系的每一个元组拼接,形成结果关系中的一个元组
  • eg:examinee的每个元组和department的每个元组进行拼接,3*3=9个
    在这里插入图片描述

7.更名

  • 可对关系更名,或者赋予关系代数运算结果的一个名字:
    对给定关系代数表达式E,表达式 ρ x ρ_x (E)返回表达式E的结果,饼吧名字赋给了他

  • 假设关系代数表达式E是n元的,则表达式:
    在这里插入图片描述
    返回表达式E的结果,并赋给它名字x,同时将E的各属性更名为 ρ 1 ρ_1 A 2 A_2 A n A_n

  • eg:查询所有历史学院的考生姓名
    在examinee表中,对历史学院做出选择,然后对eename进行投影
    在这里插入图片描述

发布了582 篇原创文章 · 获赞 143 · 访问量 17万+

猜你喜欢

转载自blog.csdn.net/u011436427/article/details/104566364
今日推荐