【软考】——数据库之关系代数的运算

【前言】

       软考的日子越来越近了,我对于知识的学习也仅仅停留在做题上,及时总结的好习惯,需要一点一滴积累。

【正文】

     

    总览

        
       关系代数:以关系为运算对象的一组高级运算的集合。

       一句话总结:五基四组两扩充,关系代数一路通。

    详细介绍

         一、关系代数的五个基本操作

              举例用到两个关系:

 

                        
         
   
              1 .并(Union

                   设关系RS具有相同的关系模式,RS的并是由属于R或属于S元组构成的集合,记为RS。形式定义如:     RS = { t R V t S}t是元组变量,RS的元数相同。

 

              
       注意:并运算可实现插入新元组的操作,消除重复元组

           2 . (Difference)

              设关系RS具有相同的关系模式,RS的差是由于属于R但不属于S的元组构成的集合,记为R - S。形式定义如:   R - S ={ tR V t ?S}RS的元数相同。

           【数据库】——关系代数的操作 - 12期 张婷 - 张婷 廊坊师范学院信息技术提高班十二期
   注意:差运算是有序的,R - S ≠ S - R

              3 .笛卡尔积 (Cartesian Product)

            设关系R的元数分别为 s ,定义RS的笛卡尔积是一个(r + s )元的元组集合,每个元组的前个分量(属性值)来自的一个元组,后s个分量来自S的一个元组,记为R × S。形式定义如:

    R × S = { tt = <t , ts> trRtsS   

  此处t  t 中的r,s 为上标。若Rm个元组,Sn个元组,则R×S× n 个元组。

【数据库】——关系代数的操作 - 12期 张婷 - 张婷 廊坊师范学院信息技术提高班十二期

      注意:新关系的属性个数为r+s,元组个数为m×n

 4 .投影 (Projection

   这个操作是对一个关系进行垂直分割,消去某些列,并重新安排列的顺序。

   设关系R元关系,R在其分量Ai1,,Aim(m<=k,i1,im1k间的整数)上的投影用πi1,im(R)表示,它是一个m元的元组集合,形式定义如下:

  πi1,,imR={t  t = <ti1,tim><t1,tk>R}

     【数据库】——关系代数的操作 - 12期 张婷 - 张婷 廊坊师范学院信息技术提高班十二期 

      注意 :投影主要是从列的角度进行运算,投影之后不仅取消了原关系中的某些列,而且还可能取消某些元组(避免重复)。 

       5 .选择(Selection

         选择操作又称限制,是根据某些条件做水平分割,即选取符合条件的元组。条件可用命题公式(即计算机语言中的条件表达式)F表示。F中两种成分:

         运算对象:常数(用引号括起来),元组分量(属性名或列 的序号)。

         运算符:算术比较运算符(<,<=, > ,>= ,=,≠),逻辑运算符(∧,∨,?)。

         关系R关于公式F的选择操作用sF(R)表示,形式定义如下:

    sF(R) = {t   R  F(t) =true },s为选择运算符,sF(R)表示从R中挑选满足公式F为真的元组所构成的关系。

     【数据库】——关系代数的操作 - 12期 张婷 - 张婷 廊坊师范学院信息技术提高班十二期

    注意:选择运算是从行的角度进行的运算。

二、四个组合操作

        .交(Intersection

          关系RS的交是由属于R又属于S的元组构成的集合,记为R∩S,这里要求RS定义在相同的关系模式上。形式定义如下:

          RS ={ t   R ∧   S } RS的元数相同。

     【数据库】——关系代数的操作 - 12期 张婷 - 张婷 廊坊师范学院信息技术提高班十二期
        2 .连接(Join 

           连接是从关系RS的笛卡尔积中选取属性值满足某一θ操作的元组,记为【数据库】——关系代数的操作(一) - 12期 张婷 - 张婷 廊坊师范学院信息技术提高班十二期

 ,这里的分别是关系RS的第个、第个属性的序号。形式定义如下:

    【数据库】——关系代数的操作 - 12期 张婷 - 张婷 廊坊师范学院信息技术提高班十二期
        此处,tritsj分别表示元组tr的第个分量、元组ts的第j 个分量,triθtsj表示这两个分量值满足θ操作。(如果θ是等号“=”,该连接操作为“等值连接”)。

                           

  注意:一般的连接操作是从行的角度进行运算

     3 .自然连接(Natual join

      两个关系RS的自然连接操作用 S 表示,具体计算过程如下:            

l  计算R × S ;

l  RS 的公共属性是A1,…,AK,挑选R×S 中满足   R.A1=S.A1,…,R.AK=S.AK的那些元组;

l  去掉S.A1,…,S.AK这些列。

因此R ? S可用下式定义:

R  S=Πi1,…im (sR.A1=S.A1∧…∧R.AK=S.AK(R×S)),其中i1,…,im RS的全部属性,但公共属性只出现一次。

? S ΠA,R.B,R.C,D(sR.B=S.BR.C=S.C(R×S))

                  【数据库】——关系代数的操作(一) - 12期 张婷 - 张婷 廊坊师范学院信息技术提高班十二期                               

 

 一般自然连接使用在RS有公共属性的情况中。如果两个关系没有公共属性,那么其自然连接就转化为笛卡尔积操作。

注意:自然连接还需要取消重复列,所以是同时从行和列的角度进行运算。

 .除法(Division

设关系RS的元数分别是r s(r> s> 0),那么R÷S是一个(r-s)元的元组的集合。(R÷S)是满足下列条件的最大关系:其中每个元组t s中每个元组u组成的新元组<t,u>必在关系R中。为方便起见,我们假设S的属性为R中后

S个属性。

R ÷ S 的具体计算过程如下:

l  T = π1,2,…,r-s(R)

l   W = (T×S)  R(计算T×S中不在R的元组)

l     V = π1,2,…, r-s(W)

l  R ÷ S = T - V

 R ÷ S = π1,2,…,r-s(R) -π1,2,…, r-s((π1,2,r-s(R) ×S) - R)

例:关系R是÷学生选修课程的情况,关系COURSE1COURSE2COURSE3分别表示课程情况,而操作R ÷ COURSE1÷ COURSE2R ÷ COURSE3中列课程的学生名单。

 【数据库】——关系代数的操作(一) - 12期 张婷 - 张婷 廊坊师范学院信息技术提高班十二期
 

 【数据库】——关系代数的操作(一) - 12期 张婷 - 张婷 廊坊师范学院信息技术提高班十二期                                   【数据库】——关系代数的操作(一) - 12期 张婷 - 张婷 廊坊师范学院信息技术提高班十二期
        注意:除操作是同时从行和列的角度进行运算

【后续】

   通过做软考题越来越发现,考试不是学习的最终目的,通过考试学会方法去学习,不断锻炼和培养自己的学习能力,让学习更加有方向和动力,还要打好扎实的基础,仅是做到看过是不够的,更加要做的是多多动手实践一遍,才会了解自己是不是真的掌握了。不足之处请大家多多提意见~~

  • 4
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 21
    评论
评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奔跑的大白啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值