数据库6版讲稿第六章----形式化关系查询语言剖析

上传人:我** 文档编号:116942539 上传时间:2019-11-17 格式:PPT 页数:114 大小:316KB
返回 下载 相关 举报
数据库6版讲稿第六章----形式化关系查询语言剖析_第1页
第1页 / 共114页
数据库6版讲稿第六章----形式化关系查询语言剖析_第2页
第2页 / 共114页
数据库6版讲稿第六章----形式化关系查询语言剖析_第3页
第3页 / 共114页
数据库6版讲稿第六章----形式化关系查询语言剖析_第4页
第4页 / 共114页
数据库6版讲稿第六章----形式化关系查询语言剖析_第5页
第5页 / 共114页
点击查看更多>>
资源描述

《数据库6版讲稿第六章----形式化关系查询语言剖析》由会员分享,可在线阅读,更多相关《数据库6版讲稿第六章----形式化关系查询语言剖析(114页珍藏版)》请在金锄头文库上搜索。

1、*1数据库系统概念-前言 61 关系代数 Date2数据库系统概念-前言 一、 关系模型 l关系模型的数学定义 l1 域定义:值的集合,一组域D1,D2,Dn 。 l2 笛卡尔积定义: lD1D2Dn =(d1,d2,dn) diDi, i=1,2,n l集合元素: (d1,d2,dn) 为n元组。 l基数: 若 Di为有限集,mi为Di的取值个数,则笛 卡尔积的基数为: m=mi Date3数据库系统概念-前言 一、 关系模型 l笛卡尔积为一个二维表。表的行对应一个元组,表 的每列对应一个域。表的行数为m。 l例如,给出三个域 l D1=男人集合=张华,李平 l D2=女人集合=刘琴,许芳

2、l D3=儿童集合=张立新,李国庆 l D1D2D3 = (张华,刘琴,张立新),(张华,刘琴, 李国庆), ,(李平,许芳,李国庆) l三个域的元素穷举结合一遍形成的表,共计8行 Date4数据库系统概念-前言 二、 关系模式 l关系模式及关系定义 l关系模式由关系名、属性、域、属性与域之间的映象 、完整性约束、属性间函数依赖定义。一般只取关系 名、属性名表示。 l关系模式: R=(A1,A2,An), R:关系名 l属性名: Ai(1in) l属性集: U=A1,A2,. ,An, R=(U) l关系的目: n, n=1,单元关系, n=2,二元关系 Date5数据库系统概念-前言 二、

3、关系模式 l关系: 定义为D1D2Dn的子集,有实际意义 。 l例如,家庭关系, 同属相关系 l关系表示: r或r(R) , l元组表示: t lr=t1,t2,tm ltiD1D2Dn , 1im lr D1D2Dn l字段表示: Ak(ti) , ti在属性Ak上的取值 Date6数据库系统概念-前言 二、 关系模式 l关系子模式: R=(X), X为A1,A2,An子集,部 分属性形成的投影 l元组投影: ti(X), 元组的部分属性值 l一个关系模式下可以建若干个关系, l例如, 学生关系模式下可以建: l 学生1, 学生2 Date7数据库系统概念-前言 三、 关系代数概述 l关系代

4、数: 一种抽象的查询语言,基于集合论,是 DML的传统表达方式,表达关系的查询,插入,删除 ,修改等操作 l运算对象: 元组 l运算结果: 仍是关系,可以再参与其他关系运算, 由此复合成各种复杂的操作 l集合运算:并、交、差、广义笛卡尔积。 l专用运算:选择、投影、连接、除、更名、赋值。 Date8数据库系统概念-前言 三、 关系代数概述 l五种基本运算: 并、差、笛卡尔积、选择、投影, 其他运算可以用基本运算表示。 l关系代数的运算符: l比较运算符: 大于(),大于等于(),小于 (),小于等于(),等于(=),不等于( ) l逻辑运算符: 非( ),与(),或() l一记号 l关系模式R

5、=(A1,A2,An),关系 r Date9数据库系统概念-前言 三、 关系代数概述 ltr表示t是r的一个元组 ltAi表示元组t在属性Ai的一个分量 lA=Ai1,Ai2,Aik,表示属性集U的部分 lA为属性组, A为A1,A2,An,去掉 Ai1,Ai2,Aik 后剩余属性 ltA=(tAi1,tAi2,tAik)是元组t在 A上的投影 l trts: 元组的连接, trr, tss , r为n目,s 为m目 , trts为n+m目的元组, 前n个值属于r, 后 m个值属于s Date10数据库系统概念-前言 三、 关系代数概述 l样本表: l1.教材中图6-22 : employee

6、 雇员,works 工作 , company 公司, manages 经理 l2. 学生=(学号,姓名,性别、年龄,系别) l 课程=(课程号,课程名,先行课号,学分) l 选课=(学号,课程号,成绩) Date11数据库系统概念-前言 三、 关系代数概述 学生 学号 姓名 性别 年龄 系别 98001 张平 男 19 计算机 98002 王欣 女 19 计算机 98003 李华 女 20 数学 98004 赵岩 男 18 外语 Date12数据库系统概念-前言 三、 关系代数概述 课程 课程号 课程名 先行课号 学分 1 数据库 5 4 2 数学 null 6 3 软件工程 5 4 4 操作

7、系统 7 4 5 数据结构 7 4 6 计算机网络 4 3 7 C语言 null 3 Date13数据库系统概念-前言 三、 关系代数概述 l选课 学号 课程号 成绩 98001 1 90 98001 2 86 98001 5 92 98002 5 80 98002 1 77 98002 3 94 Date14数据库系统概念-前言 四、关系代数运算 l集合运算 l 1并:rs ttr ts 说明: r和s相同的目n,结果为关系仍为n目, 作用是 插入操作。 l 2差: r-s t |tr t s l说明: r和s相同的目n,结果为关系仍为n目,由属 于r而不属于s的元组组成, l作用是删除操作

8、, 修改操作:(r-s )s Date15数据库系统概念-前言 四、关系代数运算 l3交: rs ttrts 说明: r和s相同的目n,结果为关系仍为n目,由属于r 也属于s的元组组成, 运算可由并、差运算表示: rs r-(r-s) l4. 笛卡尔积: rs tr tstrr tss 说明:结果为关系是(n + m)目,前n列是r的元组,后m 列是s的元组,区别相同属性加表名为前缀,元组连 串, 穷举性结合 Date16数据库系统概念-前言 四、关系代数运算 l专门运算:选择、投影、连接、除 l 1. 选择: F (r) ttr F(t)=“真” 说明:将表r扫描一遍,从中选取满足给定条件F

9、 的元 组形成新关系,用于表的检索。 查找效率由比较次数决定,中间表行数应尽量小,F为 逻辑表达式: (1) ,是属性、常量或简单函数,但 不能同为常量, , , , , , (2) 逻辑运算符 , ,连成复合逻辑条件。 Date17数据库系统概念-前言 四、关系代数运算 l例:找出年龄小于20岁且外语系的学生。 解:年龄20)系别=“外语” (学生) 结果为(98004,赵岩,18,外语) l例 :找出所有学生。 解:T (学生) l 2投影 A( r)=tAtr 说明: 从r中选择出若干属性列组成新的关系, 是 单表运算, A=Ai1,Ai2,Aik Date18数据库系统概念-前言 四、

10、关系代数运算 l例: 求所有学生的姓名、年龄。 解: 姓名,年龄(学生) 结果为:(张平,19),(王欣,19),(李华,20), (赵岩,18) l例: 找出小于20岁的学生姓名和性别。 l 解: 姓名,性别(年龄20(学生) l结果为:(张平,男),(王欣,女),(赵岩,男) Date19数据库系统概念-前言 四、关系代数运算 l例:找出已选课的学生的学号。 解:学号(选课) 结果为:(98001),(98002), 投影之后,取消重复行, 原表6个元组,变为两个, 这是关系性质决定的.哪个性质? Date20数据库系统概念-前言 四、关系代数运算 l3自然连接与条件连接 l自然连接: l

11、 r s=trts BtrrtsStrB =tsB l设关系R与S有共同属性B=B1,B2,Bk,两关系的 共同属性进行等值比较,值相同的连接成一个新元组 ,其属性是R的全部属性和S中去掉共同属性后的剩余 部分 Date21数据库系统概念-前言 四、关系代数运算 l说明: l(1)两表有共同属性,没有,是笛卡尔积 l(2)比较是对应属性值间的等值比较 l(3)比较步骤:第一个表走一步,第二个表走一遍, 二重循环。 比较次数是两表行数之积,中间表要小, 结果表行数取决相等的元组数 l(4)结果属性只保留共有一部分,不用前缀 l(5)主要作用是通过外码扩展其他属性 l(6)另一作用是一个表去选择另

12、一表的元组 Date22数据库系统概念-前言 四、关系代数运算 l基本运算表示: lrS=A1,A2,An,Bk+1,Bm(Ai1=B1Ai2=B2 Aik=Bk ( rs ) l例:找出选修数据库课程,且成绩大于90的学生姓名 。 l分析:数据库在课程表中,成绩在选课表中,姓名在 学生表中,通过自然连接,把属性凑齐。 Date23数据库系统概念-前言 四、关系代数运算 l 解:(1) 姓名(课程名=“数据库”成绩90( 学生 选课课程) l 解:(2) 姓名(成绩 90(课程名=“数据 库”(课程) 选课) 学生) l 解:(3) 姓名( (课程名=“数据库”(课程 ) (成绩90(选课)

13、学生) l对比三种解,比较次数有差别吗? Date24数据库系统概念-前言 四、关系代数运算 l条件连接:称为连接。选取属性间满足比较条件的 元组。记作 l r s AB =tr tstrrtss tr(A)ts(B) l其中A和B分别是R和S上的度数相等且类型可比的属性 组,是比较运算符或逻辑运算符连成的条件表达式 l 说明:等价基本运算表达: r s AB =AB(rs) Date25数据库系统概念-前言 四、关系代数运算 l说明: l两个关系合并成一个新的关系,先笛卡尔积再选择。 l主要解决属性名不一样的属性之间的值比较 l比较不仅是等值 l中间表的属性名有表前缀 l 例:求课程名和先行

14、课名? Date26数据库系统概念-前言 四、关系代数运算 l4除 l象集:R=(X,Y),X,Y为R的属性组,当 l t X=x时,x在r中的象集 Yx=tYtrtX=x l理解:R的属性任分两组X,Y,任给值x, r中 X部分 等于x的行,在Y上的投影形成一个象集。每给具体的x ,都有一个象集,可能是空。 Date27数据库系统概念-前言 四、关系代数运算 l 例: lr A B C X=A,Y=B,C l a1 b1 c2 X=a1 BCa1= B C l a2 b2 c7 b1 c2 l a3 b4 c6 b2 c3 l a1 b2 c3 b2 c1 l a4 b6 c6 l a2 b2 c3 X=a5 BCa5=? l a1 b2 c1 Date28数据库系统概念-前言 四、关系代数运算 l除运算的定义: l R=(X,Y),S=(Y),对应两个表r、s 则: l rs=trX trr S Yx l 说明:(1)对r中X的每个值x求象集,包含S的,X 部分的值作为元组加入到结果关

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号