第二章-关系数据库课件2

PPT
  • 阅读 42 次
  • 下载 0 次
  • 页数 64 页
  • 大小 1.421 MB
  • 2022-12-05 上传
  • 收藏
  • 违规举报
  • © 版权认领
下载文档30.00 元 加入VIP免费下载
此文档由【小橙橙】提供上传,收益归文档提供者,本网站只提供存储服务。若此文档侵犯了您的版权,欢迎进行违规举报版权认领
第二章-关系数据库课件2
可在后台配置第一页与第二页中间广告代码
第二章-关系数据库课件2
可在后台配置第二页与第三页中间广告代码
第二章-关系数据库课件2
可在后台配置第三页与第四页中间广告代码
第二章-关系数据库课件2
第二章-关系数据库课件2
还剩10页未读,继续阅读
【这是免费文档,您可以免费阅读】
/ 64
  • 收藏
  • 违规举报
  • © 版权认领
下载文档30.00 元 加入VIP免费下载
文本内容

【文档说明】第二章-关系数据库课件2.ppt,共(64)页,1.421 MB,由小橙橙上传

转载请保留链接:https://www.ichengzhen.cn/view-92340.html

以下为本文档部分文字说明:

第二章:关系数据库(续)第二章关系数据库2.1关系模型概述2.2关系数据结构2.3关系的完整性2.4关系代数2.5小结2.4关系代数概述传统的集合运算专门的关系运算1.概述特点:关系代数是一种抽象的查询语言通过对关系的运算来表达查询操作运算的对象及结果均为关系

运算:集合运算、关系运算、比较运算、逻辑运算关系代数的运算符2.传统的集合运算(1)并(Union)R和S具有相同的目n(即两个关系都有n个属性)相应的属性取自同一个域R∪S仍为n目关系,由属于R或属于S的元组组成

可表示为:R∪S={t|tR∨tS}R∪S则R∪S为:例1:(2)差(Except)R和S具有相同的目n相应的属性取自同一个域R-S仍为n目关系,由属于R而不属于S的所有元组组成可表示为

:R-S={t|tR∧tS}R-SR-S则R-S为:例2:(3)交(Intersect)R和S具有相同的目n相应的属性取自同一个域R∩S仍为n目关系,由既属于R又属于S的元组组成可表示为:R∩S={t|tR∧tS}R∩S=R–(R-S)R∩SR∩S则R∩S为:例3:(4)

广义笛卡尔积(CartesianProduct)关系R为n目和关系S为m目R×S:属性是R和S的组合(n+m个列,有重复)元组的前n列是关系R的一个元组,后m列是关系S的一个元组元组是R和S所有元组的可能组合,是R、S的无条件连接,使任意两个关系的信息能组合在一起记作R×S={trt

s|trR∧tsS}例4:XY3.专门的关系运算选择、投影、连接、除符号介绍(1)R,tR,t[Ai](2)A,t[A],A(3)trts(4)象集Zx符号介绍(1)R,tR,t[Ai]设关系模式为R(A

1,A2,…,An)它的一个关系设为RtR表示t是R的一个元组t[Ai]则表示元组t中相应于属性Ai的一个分量符号介绍(2)A,t[A],A若A={Ai1,Ai2,…,Aik},其中Ai1,Ai2,…,Aik是A1,A2,…,An中的一部分,则A称为属性列或属性组或域列。t[A]=(t[Ai1

],t[Ai2],…,t[Aik])表示元组t在属性组A上诸分量的集合。A则表示{A1,A2,…,An}中去掉{Ai1,Ai2,…,Aik}后剩余的属性组。符号介绍(3)trtsR为n目关系,S为m目关系。trR,ts

S,trts称为元组的连接。trts是一个n+m列的元组,前n个分量为R中的一个n元组,后m个分量为S中的一个m元组。符号介绍BACK图2.6分量、属性列和元组连接示意图符号介绍(4)象集Zx给定一个关系R(X,Z),X和Z为属性组。当t[X]=x时,x在R中的象集(ImagesSet)为

:Zx={t[Z]|tR,t[X]=x}它表示R中属性组X上值为x的诸元组在Z上分量的集合符号介绍(4)象集Zx例:x1在R中的象集Zx1={Z1,Z2,Z3},x2在R中的象集Zx2={Z2,Z3},x3在R中的象集Zx3={Z1,Z3}符号介绍BACK图2.

7象集示意图及举例说明例如,学生-课程关系数据库中的选课关系SC中,设X={SNO},Z={CNO,SCORE},令X的一个取值'200401'为小x,则Zx={CNO,SCORE}sno={CNO,SCO

RE}’200401’={t[CNO,SCORE]|t∈SC,t[SNO]='200401'}={('C1',85),('C2',92),('C3',84)}实际上对关系SC来说,某学号(代表某小x)学生的象集即

是该学生所有选课课程号与成绩组合的集合。BACK符号介绍参见57页图2.8学号SNO姓名SN性别SEX年龄AGE系别DEPT200401李立勇男20CS200402刘蓝女19IS200403周小花女18MA200405张立伟男19IS课

程号CNO课程名CN先行课CPNO学分CTC1数据库C24C2离散数学2C3操作系统C43C4数据结构C24学号SNO课程号CNO成绩SCORE200401C185200401C292200401C384200402C294200403C383SCCS学生-课

程关系数据库学生关系S(说明:CS表示计算机系、IS表示信息系、MA表示数学系)、课程关系Course和选修关系SC。学号SNO姓名SN性别SEX年龄AGE系别DEPT200401李立勇男20CS200402刘蓝女

19IS200403周小花女18MA200405张立伟男19IS(1)选择(Selection)从关系R中选择符合条件的元组构成新的关系记作:σF(R)={t|tR∧F(t)='真'}说明:(1)σ为选取运算

符(2)F表示选择条件它是一个逻辑表达式,取逻辑值“真”或“假”。逻辑表达式F的基本形式为:XθY[φXθY…]其中θ表示比较运算符,它可以是>、≥..(1)选择(Selection)说明:(3)选取运算实际上是从关系R中选取使逻辑表达式为真的元组,是从行的角

度进行的运算,即对行的运算。练习:ABC367257723443RA<5(R)ABC367257443A<5C=7(R)ABC367257BACK[例1]查询计算机科学系(CS系)全体学生。(S)或(S)''CSDEPT''5CS[例2

]查询年龄大于19岁的学生19AGE(S)练习练习1:查询计算机系的全体学生σdept='IS'(Student)或σ5='IS'(Student)练习2:查询年龄小于20岁的男同学σ(Sage<20)∧(SSex=’男’)(Student

)或σ(4<20)∧(3=’男’)(Student)(2)投影(Projection)对R的垂直分割,从关系R中选择若干属性组成新的关系记作:∏A(R)={t[A]|t∊R}。其中A为R中的属性列。说明:对列的运算投

影运算的结果中,也要去除可能的重复元组(2)投影(Projection)[例3]查询选修关系SC在学号和课程号两个属性上的投影。[例4】查询学生关系S中都有哪些系,即是学生关系S在所系属性上的投影操作。∏SNO,CNO(SC)或∏1,2(SC)πdept(Student)或π5(Stu

dent)练习练1:查询学生关系中学生的姓名和所在系πSname,Sdept(Student)练2:查询男同学所在的系πSdept(σSEX=’男’(Student))练3:查询学号为95001的学生的课程号及成绩πCno,Grade(σSno=’95001’(SC))(3)连接(J

oin)连接也称为θ连接,从R×S的笛卡尔积结果集中选取在指定的属性集上满足θ条件的元组,组成新的关系。记作:RS={|trR∧tsS∧tr[A]θts[B]}说明:A和B:分别为R和S上度数相等且可比的属性组θ是比较运算符AθBtrts连

接运算从R和S的笛卡尔积中选取(R关系)在A属性组上的值与(S关系)在B属性组上值满足比较关系θ的元组。为此:=(R×S)两类常用连接运算等值连接(θ为“=”的连接运算)自然连接(一种特殊的等值连接)SRBABA例5:不等连接则结果为则结果为例6

:等值连接RSR.B=S.B说明:等值连接与自然连接的区别等值连接中不要求相等属性值的属性名相同,而自然连接要求相等属性值的属性名必须相同。即两关系只有在同名属性才能进行自然连接。如上例R中的C列和S中的D列可进行等值连

接,但因为属性名不同,不能进行自然连接。等值连接不将重复属性去掉,而自然连接去掉重复属性。也可以说,自然连接是去掉重复列的等值连接。如上例R中的B列和S中的B列进行等值连接时,结果有两个重复的属性列B,而进行自然连接时,结果只有一个属性列B。例7:自然连接RSRS外连接如果把舍弃的元组也保

存在结果关系中,而在其他属性上填空值(Null),这种连接就叫做外连接(OUTERJOIN)。左外连接如果只把左边关系R中要舍弃的元组保留就叫做左外连接(LEFTOUTERJOIN或LEFTJOIN)右外连接如果只把右边关系S中要舍弃的元组保留就叫做右外连接

(RIGHTOUTERJOIN或RIGHTJOIN)。补充知识:例8:外连接ABCBDa1b12b15a1b24b26a2b36b47a2b48b58RSABCDa1b125a1b246a2b36nulla2b487nullb5null8外连接ABCDa

1b125a1b246a2b36nulla2b487左外连接ABCDa1b125a1b246a2b487nullb5null8右外连接练习:---外连接ABCBDa1b12b15a1b24b26a2b36b47a2b48b58ABCDa1b125a1b246a2b36nulla2b487

nullb5null8ABCDa1b125a1b246a2b36nulla2b487ABCBDa1b12b15a1b24b26a2b36b47a2b48b58ABCDa1b125a1b246a2b36nulla2b4

87nullb5null8综合练习:关系代数的应用实例设教学数据库中有三个关系:•学生关系:S(SNO,SN,AGE,SEX)•学习关系:SC(SNO,CNO,SCORE)•课程关系:C(CNO,CN,TEACHER)综合练习:关系代数的应用实例(1)检索学习课程号为C3的学生学号和成绩∏

SNO,SCORE(σCNO=’C3’(SC))BACK图2.12例2.9(1)关系代数表达式运算过程综合练习:关系代数的应用实例(2)检索学习课程号为C3的学生学号和姓名∏SNO,SN(σCNO=’C3’(S∞SC))BACK图2.13例2.9(2)关系代数表达式运算过程综合练

习:关系代数的应用实例(3)检索学习课程名为MATHS的学生学号和姓名∏SNO,SN(σCN=’MATHS’(S∞SC∞C))(4)检索学习课程号为C1或C3的学生学号∏SNO(σCNO=’C1’V’CNO=’C3’(SC))(5)检索不学习课程号为C2的学生的姓名和年龄∏SN

,AGE(S)-∏SN,AGE(σCNO=’C2’(S∞SC))BACK综合练习:关系代数的应用实例(6)检索学习全部课程的学生姓名∏SN(S∞(∏SNO,CNO(SC)÷∏CNO(C)))BACK(

7)检索所学课程包括200401所学课程的学生学号∏SNO,CNO(SC)÷∏CNO(σSNO=’200401’(SC))图2.14例2.9(6)关系代数表达式运算过程(4)除运算÷(Division,亦称商)定义:给定关系R(

X,Y)和S(Y,Z),其中X,Y,Z为属性组。R中的Y与S中的Y可以有不同的属性名,但必须出自相同的域。R与S的除运算得到一个新的关系P(X),P是R中满足下列条件的元组在X属性列上的投影:元组在X上分量值x的象集Yx包含S在Y上投影的集合。记作:R÷S={tr[X]|t

r∈R∧Yx⊇∏Y(S)},其中Yx为x在R中的象集,x=tr[X]。给定一个关系R(X,Z),X和Z为属性组。当t[X]=x时,x在R中的象集(ImagesSet)为:Zx={t[Z]|tR,t[X]=x}它表示R中属性组X

上值为x的诸元组在Z上分量的集合x1在R中的象集Zx1={Z1,Z2,Z3},x2在R中的象集Zx2={Z2,Z3},x3在R中的象集Zx3={Z1,Z3}回顾象集Zxx1在R中的象集Zx1={Z1,Z2,Z3},x2

在R中的象集Zx2={Z2,Z3},x3在R中的象集Zx3={Z1,Z3}例1:设关系R、S分别为下图的(a)和(b),R÷S的结果为图(c)除运算示例分析在关系R中,A可以取四个值{a1,a2,a3,a

4}a1的象集为{(b1,c2),(b2,c3),(b2,c1)}a2的象集为{(b3,c7),(b2,c3)}a3的象集为{(b4,c6)}a4的象集为{(b6,c6)}S在(B,C)上的投影为{(b1,c2),(b2,c1),(b2,c3)}只有a1的象集包含了S在(B,C)属性组上

的投影所以R÷S={a1}关系除法运算的步骤:1)将被除关系属性分为象集属性和结果属性2)对象集属性进行投影—目标数据集3)将被除关系分组:以x的象集为依据4)找出结果集练习写出R÷S=ABCDa1246a3

823a1235a4778CD3546ABa12RSR÷SABa12R÷SSR÷SRSR÷S练习:有关系A、B1、B2和B3,请分别计算A/B1、A/B2及A/B3。分析:在关系中,sno可以取四个值{s1,s2,s3,s4}s1的象集为{p1,p2,p

3,p4}s2的象集为{p1,p2}s3的象集为{p2}s4的象集为{p2,p4}Rsidcid31013102310331045101510281021010210104cidS1102S2102104S3101102104sidR/S135810R

/S2310R/S33商操作示意图Rsidcid31013102310331045101510281021010210104cidS1102S2102104S3101102104sidR/S135810R/S23

10R/S33商操作示意图分析:在R关系中,sid可以取四个值{s1,s2,s3,s4}s1的象集为{p1,p2,p3,p4},s2的象集为{p1,p2}s3的象集为{p2},s4的象集为{p2,p4}练习:有关系R、S1、S2和S3,请分别计算R/S1

、R/S2及R/S3。(选作)解题思路:首先建立一个临时关系K,然后求πSno,Cno(SC)÷K200215121象集{1,2,3}200215122象集{2,3}K={1,3}于是:πSno,Cno(SC)÷K={200215

121}Cno13SnoCno20021512112002151212200215121320021512222002151223例2:查询至少选修1号课程和3号课程的学生号码Cno13SnoCno20021512112002151212200215121320021512222002151223

除运算练习1、已知关系r、s、w如图所示,计算T=(r∪s)÷w)S(选作)r关系s关系w关系ABC1b22a21b13a3ABC2b13b13b23a2BCa2b1解:T=ABC2b13b13b23a22、检索学习全部课程的学生学号3、检索学习全

部课程的学生学号和姓名4、检索所学课程包含学生S3所学课程的学生学号πSno,Cno(SC)÷πCno(Course)πSno,Cno(SC)÷πCno(Course)πSno,Sname(Student)或:πSno,Snam

e(StudentπSno,Cno(SC)÷πCno(Course))πSno,Cno(SC)÷πCno(σsno=‘S3’(SC))小结关系代数运算关系代数运算并、差、交、笛卡尔积、投影、选择、连接、除基本运算并、差、笛卡尔积、投影、

选择交、连接、除可以用5种基本运算来表达引进它们并不增加语言的能力,但可以简化表达小结(续)关系代数表达式关系代数运算经有限次复合后形成的式子典型关系代数语言ISBL(InformationSystemBaseLanguage)

由IBMUnitedKingdom研究中心研制用于PRTV(PeterleeRelationalTestVehicle)实验系统2.6小结关系数据库系统是目前使用最广泛的数据库系统关系数据库系统与非关系数据库系统的区

别:关系系统只有“表”这一种数据结构;非关系数据库系统还有其他数据结构,以及对这些数据结构的操作小结(续)关系数据结构关系•域•笛卡尔积•关系–关系,属性,元组–候选码,主码,主属性–基本关系的性质关系模式关系数据库小结(续)关系操作查询

选择、投影、连接、除、并、交、差数据更新插入、删除、修改小结(续)关系的完整性约束实体完整性参照完整性外码用户定义的完整性小结(续)关系数据语言关系代数语言关系演算语言元组关系演算语言ALPHA域关系演算语言QBE下课了。。。休息一会儿。。。

小橙橙
小橙橙
文档分享,欢迎浏览!
  • 文档 25747
  • 被下载 7
  • 被收藏 0
相关资源
广告代码123
若发现您的权益受到侵害,请立即联系客服,我们会尽快为您处理。侵权客服QQ:395972555 (支持时间:9:00-21:00) 公众号
Powered by 太赞文库
×
确认删除?