关系数据库的基本理论-关系代数.ppt_第1页
关系数据库的基本理论-关系代数.ppt_第2页
关系数据库的基本理论-关系代数.ppt_第3页
关系数据库的基本理论-关系代数.ppt_第4页
关系数据库的基本理论-关系代数.ppt_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

关系数据库与SQL语言,目 录,第1章 数据库基础 第2章 关系库的基本理论 第3章 数据库设计 第4章 Transact-SQL语言和SQL SERVER 2008 第5章 数据库和表的创建 第6章 数据库的查询和视图 第7章 存储过程和触发器 第8章 数据库应用实战,上堂课内容回顾,关系模型的基本术语: 关系、元组、属性、域、分量 关系模式 候选码、主码、外码(重点) 关系完整性: 实体完整性(重点) 参照完整性(重点) 用户自定义完整性,本堂课内容,2.3 关系代数 2.3.1 传统的集合运算(重点) 2.3.2 专门的关系运算(重点,难点),2.3 关系代数,关系代数 关系代数是一种抽象的查询语言,是关系数据操纵语言的一种传统表达方式。 关系代数以一个或两个关系为输入,产生一个新的关系作为其操作结果,关系操作,关系操作 关系的基本数据操作包括四种: 数据查询 数据更新 (数据插入,数据删除,数据修改) 如用关系代数来表示关系的操作,可以有选择、投影、连接、除、交、差、并、积等。,关系代数的运算符,2.3.1 基本关系运算-合并运算,设有两个关系R和S,它们具有相同的结构。 合并运算:R S R和S的并是由属于R或属于S的元组组成的集合,运算符为。 记为TRS。,2.3.1 基本关系运算-合并运算,R S,RS,2.3.1基本关系运算-交集运算,交运算: RS R和S的交是由既属于R又属于S的元组组成的集合,运算符为。 记为TRS。,2.3.1 基本关系运算-交集运算,R S,R S,2.3.1 基本关系运算-求差运算,求差运算:R S R和S的差是由属于R但不属于S的元组组成的集合,运算符为. 记为TRS。 RSR(R S)。,2.3.1 基本关系运算- 求差运算,R S,R S,2.3.1 基本关系运算-乘积运算,乘积运算:R1R2 两个关系的乘积运算是两个关系框架的合并,是两个关系元祖的连串,运算符为。 记为TRS。,2.3.1 基本关系运算-乘积运算,R S,RS,2.3.2 专门的关系运算,选择(selection) 投影(projection) 连接(join) 除(division)(选学) 以下为了叙述方便,先引入几个记号,2.3.2 专门的关系运算,(1)分量 设有关系模式R(A1, A2, , An),它的一个关系设为R,tR表示t是R的一个元组,tAi则表示元组t中相应于属性Ai的一个分量 (2)属性列或域列 若A=Ai1, Ai2, , Aik,其中Ai1, Ai2 , , Aik是A1,A2,An中的一部分,则A称为属性列或域列 例如:存在关系模式 教师(编号,姓名,职称),2.3.2 专门的关系运算,(3)元组的连接 R为n目关系,S为m目关系。设trR,tsS,则trts称为元组的连接(Concatenation)。它是一个(n+m)列的元组,前n个分量为R中的一个n元组,后m个分量为S中的一个m元组。,R,S,2.3.2 专门的关系运算,(4)象集 给定一个关系R(X,Z),X和Z为属性组. 当tX=x时,x在R中的象集(Images Set)为: Zx= tZ | t R,tX=x 它表示R中属性组X上值为x的元组在Z上分量 如右例所示: a1的象集为 (b1,c2),(b2,c3),(b2,c1),例如R: A B C a1 b1 c2 a2 b3 c7 a3 b4 c6 a1 b2 c3 a4 b6 c6 a2 b2 c3 a1 b2 c1,2.3.2 基本关系运算-选择运算,选择运算:F(R) 从一个表中选出所有满足给定条件的记录(行),选出的记录构成一个新表,其关系模式与原表相同. 选择运算是从关系R中选取使逻辑表达式F为真的元组,是从行的角度进行的运算,图2-3 学生-课程数据库,S,C,SC,例2-3 查询信息系(IS系)全体学生 Sdept = IS (S) 或 5 =IS (S) 结果:,例2-4 查询年龄大于19岁的学生 Sage 19 (S) 结果:,2.3.2 基本关系运算-投影运算,投影运算:A1,A2,An (R) 从给定的属性集中选择若干属性构成新表的属性,而给定表的记录在这些属性上的值保持不变. 新表的属性集是原表属性集的真子集. 这是从列的角度进行的运算,相当于对关系进行垂直分解。,例 查询学生的姓名和所在系 即求Student关系上学生姓名和所在系两个属性上的投影 Sname,Sdept(Student) 或 2,5(Student),结果:,2.3.2 基本关系运算-自然连接,自然连接运算:R1R2 自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉。 例: Student SC SELECT Student.Sno, Sname, Ssex, Sage, Sdept, Cno, SCORE FROM S, SC WHERE Student.Sno=SC.Sno,2.3.2 基本关系运算-自然连接,R T,R T,一般的连接操作是从行的角度进行运算。 自然连接还需要取消重复列,所以是同时从行和列的角度进行运算。,例关系R和关系S 如下所示:,一般连接 的结果如下:,例关系R和关系S 如下所示:,例关系R和关系S 如下所示:,例关系R和关系S 如下所示:,自然连接 R S的结果如下:,等值连接 R S 的结果如下:,外连接 如果把舍弃的元组也保存在结果关系中,而在其他属 性上填空值(Null),这种连接就叫做外连接(OUTER JOIN)。 左外连接 如果只把左边关系R中要舍弃的元组保留就叫做左外连接(LEFT OUTER JOIN或LEFT JOIN) 右外连接 如果只把右边关系S中要舍弃的元组保留就叫做右外连接(RIGHT OUTER JOIN或RIGHT JOIN)。,例关系R和关系S 如下所示:,除(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 | tr R Y(S) Yx Yx:x在R 中的象集,x = trX,除操作是同时从行和列角度进行运算,例设关系R、S分别为下图的(a)和(b),RS的结果为图(c),分析,在关系R中,A可以取四个值a1,a2,a3,a4 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)属性组上的投影 所以 RS =a1,“除”的实际含义: 有一个现实意义的集合,希望在另一个集合中找出“包含”该集合的元组集 例,找出选修了所有课程的学生 “所有课程” “学生” “学生”“所有课程” 例,找出选修了所有张三所选课的学生 “张三所选课” “学生” “学生”“张三所选课”,综合举例,以学生-课程数据库为例 例 查询至少选修1号课程和3号课程的学生号码 首先建立一个临时关系K: 然后求:Sno,Cno(SC)K,先对SC关系在Sno和Cno属性上投影,然后对其中每个元组逐一求出每一学生的象集,并依次检查这些象集是否包含K。,例 查询选修了全部课程的学生号码和姓名。 Sno,Cno(SC)Cno(Course) Sno,Sname(Student),例 查询至少选修了一门其直接先行课为5

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论