版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据库系统概论 An Introduction to Database System 第二章 关系数据库(续),第二章 关系数据库,2.1 关系模型概述 2.2 关系数据结构 2.3 关系的完整性 2.4 关系代数 2.5 关系演算 2.6 小结,2.4 关系代数,概述 传统的集合运算 专门的关系运算,概述,1.关系代数 一种抽象的查询语言 用对关系的运算来表达查询,概述(续),2关系代数运算的三个要素 运算对象:关系 运算结果:关系 运算符:四类,概述(续),集合运算符 将关系看成元组的集合 运算是从关系的“水平”方向即行的角度来进行 专门的关系运算符 不仅涉及行而且涉及列 算术比较符 辅助
2、专门的关系运算符进行操作 逻辑运算符 辅助专门的关系运算符进行操作,表2.4 关系代数运算符,概 述,表2.4 关系代数运算符(续),概 述(续),2.4 关系代数,概述 传统的集合运算 专门的关系运算,1. 并(Union),R和S 具有相同的目n(即两个关系都有n个属性) 相应的属性取自同一个域 RS 仍为n目关系,由属于R或属于S的元组组成 RS = t|t Rt S ,并(续),2. 差(Difference),R和S 具有相同的目n 相应的属性取自同一个域 R - S 仍为n目关系,由属于R而不属于S的所有元组组成 R -S = t|tRtS ,差(续),3. 交(Intersect
3、ion),R和S 具有相同的目n 相应的属性取自同一个域 RS 仍为n目关系,由既属于R又属于S的元组组成 RS = t|t Rt S RS = R (R-S),交 (续),4. 笛卡尔积(Cartesian Product),严格地讲应该是广义的笛卡尔积(Extended Cartesian Product) R: n目关系,k1个元组 S: m目关系,k2个元组 RS 列:(n+m)列元组的集合 元组的前n列是关系R的一个元组 后m列是关系S的一个元组 行:k1k2个元组 RS = tr ts |tr R tsS ,交 (续),2.4.2 专门的关系运算,先引入几个记号 (1) R,tR,
4、tAi 设关系模式为R(A1,A2,An) 它的一个关系设为R tR表示t是R的一个元组 tAi则表示元组t中相应于属性Ai的一个分量,专门的关系运算(续),(2) A,tA, A 若A=Ai1,Ai2,Aik,其中Ai1,Ai2,Aik是A1,A2,An中的一部分,则A称为属性列或属性组。 tA=(tAi1,tAi2,tAik)表示元组t在属性列A上诸分量的集合。 A则表示A1,A2,An中去掉Ai1,Ai2,Aik后剩余的属性组。,专门的关系运算(续),(3) tr ts R为n目关系,S为m目关系。 tr R,tsS, tr ts称为元组的连接。 tr ts是一个n + m列的元组,前n
5、个分量为R中的一个n元组,后m个分量为S中的一个m元组。,专门的关系运算(续),(4)象集Zx 给定一个关系R(X,Z),X和Z为属性组。 当tX=x时,x在R中的象集(Images Set)为: Zx=tZ|t R,tX=x 它表示R中属性组X上值为x的诸元组在Z上分量的集合,专门的关系运算(续),x1在R中的象集 Zx1 =Z1,Z2,Z3, x2在R中的象集 Zx2 =Z2,Z3, x3在R中的象集 Zx3=Z1,Z3,象集举例,专门的关系运算(续),选择 投影 连接 除,专门的关系运算(续),(a),Student,4) 学生-课程数据库: 学生关系Student、课程关系Course
6、和选修关系SC,专门的关系运算(续),Course,(b),专门的关系运算(续),(c),SC,1. 选择(Selection),1) 选择又称为限制(Restriction) 2) 选择运算符的含义 在关系R中选择满足给定条件的诸元组 F(R) = t|tRF(t)= 真 F:选择条件,是一个逻辑表达式,基本形式为: X1Y1,选择(续),3) 选择运算是从关系R中选取使逻辑表达式F为真的元组,是从行的角度进行的运算,选择(续),例1 查询信息系(IS系)全体学生 Sdept = IS (Student) 或 5 =IS (Student) 结果:,选择(续),例2 查询年龄小于20岁的学生
7、 Sage 20(Student) 或 4 20(Student) 结果:,2. 投影(Projection),1)投影运算符的含义 从R中选择出若干属性列组成新的关系 A(R) = tA | t R A:R中的属性列,2. 投影(Projection),2)投影操作主要是从列的角度进行运算 但投影之后不仅取消了原关系中的某些列,而且还可能取消某些元组(避免重复行),投影(续),例3 查询学生的姓名和所在系 即求Student关系上学生姓名和所在系两个属性上的投影 Sname,Sdept(Student) 或 2,5(Student) 结果:,投影(续),投影(续),例4 查询学生关系Stud
8、ent中都有哪些系 Sdept(Student) 结果:,作业,R,S,R S R-S RS A,C(R) A B(R),3. 连接(Join),1)连接也称为连接 2)连接运算的含义 从两个关系的笛卡尔积中选取属性间满足一定条件的元组 R S = | tr Rts StrAtsB A和B:分别为R和S上度数相等且可比的属性组 :比较运算符 连接运算从R和S的广义笛卡尔积RS中选取(R关系)在A属性组上的值与(S关系)在B属性组上值满足比较关系的元组,连接(续),3)两类常用连接运算 等值连接(equijoin) 什么是等值连接 为“”的连接运算称为等值连接 等值连接的含义 从关系R与S的广义
9、笛卡尔积中选取A、B属性值相等的那些元组,即等值连接为: R S = | tr Rts StrA = tsB ,A=B,连接(续),自然连接(Natural join) 自然连接是一种特殊的等值连接 两个关系中进行比较的分量必须是相同的属性组 在结果中把重复的属性列去掉 自然连接的含义 R和S具有相同的属性组B R S = | tr Rts StrB = tsB ,连接(续),4)一般的连接操作是从行的角度进行运算。 自然连接还需要取消重复列,所以是同时从行和列的角度进行运算。,连接(续),例5关系R和关系S 如下所示:,连接(续),一般连接 R S的结果如下:,CE,连接(续),等值连接 R
10、 S 的结果如下:,连接(续),自然连接 R S的结果如下:,连接(续),外连接 如果把舍弃的元组也保存在结果关系中,而在其他属性上填空值(Null),这种连接就叫做外连接(OUTER JOIN)。 左外连接 如果只把左边关系R中要舍弃的元组保留就叫做左外连接(LEFT OUTER JOIN或LEFT JOIN) 右外连接 如果只把右边关系S中要舍弃的元组保留就叫做右外连接(RIGHT OUTER JOIN或RIGHT JOIN)。,连接(续),下图是例5中关系R和关系S的外连接,连接(续),图(b)是例5中关系R和关系S的左外连接,图(c)是右外连接,4. 除(Division),给定关系R
11、 (X,Y) 和S (Y,Z),其中X,Y,Z为属性组。 R中的Y与S中的Y可以有不同的属性名,但必须出自相同的域集。 R与S的除运算得到一个新的关系P(X), P是R中满足下列条件的元组在 X 属性列上的投影: 元组在X上分量值x的象集Yx包含S在Y上投影的集合,记作: RS = tr X | tr RY (S) Yx Yx:x在R中的象集,x = trX,除(续),2)除操作是同时从行和列角度进行运算,除(续),例6设关系R、S分别为下图的(a)和(b),RS的结果为图(c),分析,在关系R中,A可以取四个值a1,a2,a3,a4 a1的象集为 (b1,c2),(b2,c3),(b2,c1
12、) a2的象集为 (b3,c7),(b2,c3) a3的象集为 (b4,c6) a4的象集为 (b6,c6) S在(B,C)上的投影为 (b1,c2),(b2,c1),(b2,c3) 只有a1的象集包含了S在(B,C)属性组上的投影 所以 RS =a1,5综合举例,以学生-课程数据库为例 (P56) 例7 查询至少选修1号课程和3号课程的学生号码 首先建立一个临时关系K: 然后求:Sno,Cno(SC)K,综合举例(续),例 7续 Sno,Cno(SC) 200215121象集1,2,3 200215122象集2,3 K=1,3 于是:Sno,Cno(SC)K=200215121,综合举例(续
13、),例 8 查询选修了2号课程的学生的学号。 Sno(Cno=2(SC) 200215121,200215122,综合举例(续),例9 查询至少选修了一门其直接先行课为5号课程的 的学生姓名 Sname(Cpno=5(Course SC Student) 或 Sname(Cpno=5(Course) SC Sno,Sname(Student) 或 Sname (Sno (Cpno=5 (Course) SC) Sno,Sname (Student),综合举例(续),例10 查询选修了全部课程的学生号码和姓名。 Sno,Cno(SC)Cno(Course) Sno,Sname(Student),
14、练习,1. 写出RS=,R,S,RS,2、有关系A、B1、B2和B3,请分别计算 A/B1、 A/B2及A/B3。,练习,分析:在关系中,sno可以取四个值s1,s2,s3,s4 s1的象集为p1,p2,p3,p4 s2的象集为p1,p2 s3的象集为p2 s4的象集为p2,p4,练习,3、已知关系r、s、w如图所示, 计算T= (r s)w) S,r关系s关系w关系,练习,r关系s关系w关系,解:T=,练习,T= (r s)w) S,1、找1号学生所选修的课程号 Cno(Sno=200215121 (SC) 2、求选修了1号或2号课程的学生号 方案1:Sno(Cno=1Cno=2(SC) 方
15、案2:Sno(Cno=1 (SC) Sno(Cno=2 (SC),练习,练习,3、求选修了001号而没有选002号课程的学生号 Sno(Cno=001 (SC)Sno (Cno=002 (SC) 4、求同时选修了001号和002号课程的学生号 错误的写法:Sno(Cno=001 Cno=002(SC) 正确的写法:Sno(Cno=001 (SC) Sno(Cno=002 (SC),练习,4、求同时选修了001和002号课程的学生号(续) 方案1: S#,C#(SC) C# = 001 C# = 002 (C) 方案2: S#(SC C# = 001 C# = 002 (C) 哪一个正确?,练习
16、,选修了全部课程并且成绩都相同的学生,选修了全部课程的学生,5、求未选修001号课程的学生号 方案1:S#(S)S#(C# = 001 (SC) 方案2:S#(C# 001 (SC),哪一个正确?,练习,练习,6、求仅选修了C01号课程的学生号,选修C01号课程的学生选C01号课程之外的学生S#(C# = C01 (SC)S#(SCC# = C01 (SC),综合举例,例:数据库中有三个关系: S( S#, SNAME, AGE, SEX ) SC( S#, C#, GRADE ) C ( C#, CNAME, TEACHER ) 试用关系代数表达式表达每个查询语句。 1、检索学习课程号为C3
17、的学生学号与成绩 2、检索选修课程名为Maths的学生学号与姓名,S# , GRADE ( C#=C3 (SC),S# , SNAME ( CNAME=Maths (S SC C),综合举例,3、检索选修课程号为C1或C4的学生学号 4、检索至少选修课程号为C2和C4的学生学号 5、检索没有学C2课程的学生姓名与年龄 6、检索学习全部课程的学生姓名 7、检索所学课程包含学生S3所学课程的学生学号,S# ( C# = C1 C#=C4(SC),1 ( 1=4 2=C2 5=C4 (SCSC), SNAME,AGE (S) - SNAME,AGE (C#=C2 (S SC) ), SNAME (
18、S ( S#,C# (SC) C# (C) ) ), S#,C# (SC) C# (S# = S3 (SC) ),思考题,供应商 关系S(S# , SNAME, Status, City) 零件 关系P(P#, PNAME, Color, Weight) 工程项目关系J(J#,JNAME,City) 供应 关系SPJ(S#,P#,J#,City) (1)求供应工程J1零件的供应商号码S# (2)求供应工程J1零件P1的供应商号码S# (3)求供应工程J1零件为红色的的供应商号码S# (4)求没有使用天津供应商生产的红色零件的工程号 (5)求至少用了供应商S1所供应的全部零件的工程号,参考解答,(1)S# ( J#=J1 ( SPJ ),(2)S# ( J# = J1 P# = P1 ( SPJ ),(3) S# (S# , P# ( J#=J1 ( SPJ ) ) P# ( COLOR=红 ( P ) ),(4) J# (J) - J# (S# ( CITY=天津 ( S ) ) S# , P# , J# (SPJ) P# ( COLOR=红 (P),(5) J# ,P# (SPJ) P# (S# = S1 (SPJ),练习,小结,关系代数运算 关系代
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 经编机操作工岗位标准化考核试卷含答案
- 农业摄影活动策划方案范文(3篇)
- 化工仪表台风应急预案(3篇)
- pu蓝球场施工方案(3篇)
- 企业舞台活动策划方案模板(3篇)
- 仿真玩偶营销方案策划(3篇)
- 1-2-Diheptanoyl-SN-glycero-3-phosphocholine-d9-L-α-Diheptanoyllecithin-d-sub-9-sub-生命科学试剂-MCE
- 卡迪夫营销方案(3篇)
- 各单位的应急预案(3篇)
- 地面局部装修施工方案(3篇)
- 2026年高考(北京卷)语文试题及答案
- 江南大学介绍
- 行书课件教学课件
- 2025年秋季学期国家开放大学《理工英语4》形考任务综合测试完整答案(不含听力部分)
- 2025年山东事业编考试真题(附答案)
- 2025国考北京证监会计专业科目高频考点及答案
- 河南省安全生产考试点合规性检查表
- 装配钳工试题题库及答案
- GB/T 45602-2025船舶与海洋技术可调式滚轮闸刀掣链器
- 2025水土保持监测技术规范
- 2.2.1不等式及其性质 高一数学(人教B版2019必修第一册)
评论
0/150
提交评论