注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

飞羽逐魂

踏雪寻梅梅尽隐,拂堤赏柳柳尚眠

 
 
 

日志

 
 

【转载】数据库中的关系运算  

2015-09-28 20:57:55|  分类: 自考学习 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
本文转载自 12期 郭文强 《数据库中的关系运算》
关系代数是以关系为运算对象的一组高级运算的集合。关系代数中的操作可以分为两类:
  • 传统的集合操作:并、差、交、笛卡尔积(乘法),笛卡尔积的逆运算(除法)、
  • 扩充的关系操作:对关系进行垂直分割(投影)、水平分割(选择)、关系的结合(连接、自然连接)等。
数据库中的关系运算 -  12期 郭文强  - 郭文强 廊坊师范学院信息技术提高班十二期
   数据库中的关系运算 -  12期 郭文强  - 郭文强 廊坊师范学院信息技术提高班十二期


一、传统的集合操作
  •  并(U)
R U S 既包含R中的元组,又包含S中的元组。如图:
数据库中的关系运算 -  12期 郭文强  - 郭文强 廊坊师范学院信息技术提高班十二期
  • 交(∩)
R∩S包含R、S中共有的元组。如图:
数据库中的关系运算 -  12期 郭文强  - 郭文强 廊坊师范学院信息技术提高班十二期
  • 差(-)
R-S包含了所有属于R但不属于S的元组。如图:
数据库中的关系运算 -  12期 郭文强  - 郭文强 廊坊师范学院信息技术提高班十二期
  • 笛卡尔积(×)
设R和S是两个关系,如果R是m元关系、有k个元组,S是n元关系、有l个元组,则广义笛卡尔积R×S是一个m+n元关系、有k×l个元组。形式如下:
数据库中的关系运算 -  12期 郭文强  - 郭文强 廊坊师范学院信息技术提高班十二期
示例:
数据库中的关系运算 -  12期 郭文强  - 郭文强 廊坊师范学院信息技术提高班十二期
 R为m=3元关系,k=3元组;S为n=3元关系,l=2元关系;得出R×S有 m+n=6元关系,K×l=6元组
则R×S:
数据库中的关系运算 -  12期 郭文强  - 郭文强 廊坊师范学院信息技术提高班十二期
数据库中的关系运算 -  12期 郭文强  - 郭文强 廊坊师范学院信息技术提高班十二期
实例:
数据库中的关系运算 -  12期 郭文强  - 郭文强 廊坊师范学院信息技术提高班十二期
 
  •  除法(÷
  R÷S的意义是:在R和S的联系RS中,找出与S中所有的元组有关系的R元组。
设关系R和S如图:
数据库中的关系运算 -  12期 郭文强  - 郭文强 廊坊师范学院信息技术提高班十二期
1、 找出R和S中相同的属性:
数据库中的关系运算 -  12期 郭文强  - 郭文强 廊坊师范学院信息技术提高班十二期
2、找出R中和S不同的属性,即X,做投影:
 数据库中的关系运算 -  12期 郭文强  - 郭文强 廊坊师范学院信息技术提高班十二期
3、找出X1和X2所对应的属性Y(R和S的相同属性):
X1对应的像集Y:
数据库中的关系运算 -  12期 郭文强  - 郭文强 廊坊师范学院信息技术提高班十二期
X2对应的像集Y:
数据库中的关系运算 -  12期 郭文强  - 郭文强 廊坊师范学院信息技术提高班十二期
 4、判断,X2的像集包含了关系S中属性Y的所有值,得出结果:

数据库中的关系运算 -  12期 郭文强  - 郭文强 廊坊师范学院信息技术提高班十二期
实例:
数据库中的关系运算 -  12期 郭文强  - 郭文强 廊坊师范学院信息技术提高班十二期
 
二、扩充的关系操作
  • 选择(σ
选择操作是根据某些条件对关系做水平分割,即从行的角度进行的运算
数据库中的关系运算 -  12期 郭文强  - 郭文强 廊坊师范学院信息技术提高班十二期
σ 为选择运算符,σFR)表示从R中挑选满足公式F为真得元组所构成的关系。
例如:
 数据库中的关系运算 -  12期 郭文强  - 郭文强 廊坊师范学院信息技术提高班十二期
查询计算机系全体学生:σSdept=‘计算机’(Student);Select * from student where Sdept=“计算机”  。   
 再如:
数据库中的关系运算 -  12期 郭文强  - 郭文强 廊坊师范学院信息技术提高班十二期
  •  投影(π)
投影操作是对一个关系进行垂直分割,消去某些列,并重新安排列的顺序,即从列的角度进行运算
  数据库中的关系运算 -  12期 郭文强  - 郭文强 廊坊师范学院信息技术提高班十二期
 数据库中的关系运算 -  12期 郭文强  - 郭文强 廊坊师范学院信息技术提高班十二期
例如:
1、查询学生姓名和所在系:πSname,Sdept(Student)
数据库中的关系运算 -  12期 郭文强  - 郭文强 廊坊师范学院信息技术提高班十二期
2、查询学生所在系:πSdept(Student)
数据库中的关系运算 -  12期 郭文强  - 郭文强 廊坊师范学院信息技术提高班十二期
  投影后不仅取消了原关系中的某些列,而且还可能取消某些元组(避免重复行)
  • 连接(  数据库中的关系运算 -  12期 郭文强  - 郭文强 廊坊师范学院信息技术提高班十二期
    连接运算的含义:从两个关系的笛卡尔积中选取满足一定条件的元组
数据库中的关系运算 -  12期 郭文强  - 郭文强 廊坊师范学院信息技术提高班十二期 F表示连接条件,是一个R中和S中的属性之间的比较表达式。
  
数据库中的关系运算 -  12期 郭文强  - 郭文强 廊坊师范学院信息技术提高班十二期
  •        自然连接
  1. 两个关系中进行比较的分量必须是相同的属性组
  2. 在结果中把重复的属性列去掉
  3. R和S具有相同的属性组B
结果如图:
数据库中的关系运算 -  12期 郭文强  - 郭文强 廊坊师范学院信息技术提高班十二期

  • 等值连接
  1. 从关系R与S的广义笛卡尔积中选取A、B属性值相等的那些元组。
 数据库中的关系运算 -  12期 郭文强  - 郭文强 廊坊师范学院信息技术提高班十二期
实例:  Select S.No,S.Name,S.Dept,G.No,G.Course,G.Grade from S,G where S.No=G.NO

  数据库中的关系运算 -  12期 郭文强  - 郭文强 廊坊师范学院信息技术提高班十二期
自然连接要去掉重复的属性,而等值连接却不需要去掉重复的属性。
  评论这张
 
阅读(137)| 评论(38)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017