计算机软件技术基础及实验指导 教学课件 席晓慧 袁玲 第6章 关系型数据库理论.ppt

上传人:marr****208 文档编号:149515334 上传时间:2020-10-27 格式:PPT 页数:101 大小:2.44MB
返回 下载 相关 举报
计算机软件技术基础及实验指导 教学课件 席晓慧 袁玲 第6章 关系型数据库理论.ppt_第1页
第1页 / 共101页
计算机软件技术基础及实验指导 教学课件 席晓慧 袁玲 第6章 关系型数据库理论.ppt_第2页
第2页 / 共101页
计算机软件技术基础及实验指导 教学课件 席晓慧 袁玲 第6章 关系型数据库理论.ppt_第3页
第3页 / 共101页
计算机软件技术基础及实验指导 教学课件 席晓慧 袁玲 第6章 关系型数据库理论.ppt_第4页
第4页 / 共101页
计算机软件技术基础及实验指导 教学课件 席晓慧 袁玲 第6章 关系型数据库理论.ppt_第5页
第5页 / 共101页
点击查看更多>>
资源描述

《计算机软件技术基础及实验指导 教学课件 席晓慧 袁玲 第6章 关系型数据库理论.ppt》由会员分享,可在线阅读,更多相关《计算机软件技术基础及实验指导 教学课件 席晓慧 袁玲 第6章 关系型数据库理论.ppt(101页珍藏版)》请在金锄头文库上搜索。

1、在线教务辅导网:,教材其余课件及动画素材请查阅在线教务辅导网,QQ:349134187 或者直接输入下面地址:,第6章 关系型数据库理论,在第5章中,我们学习了数据库系统的发展,了解到支持层次模型、网状模型的数据库系统,数据操作的向导是指针。层次模型、网状模型的数据库系统,数据操纵比较复杂、系统扩展困难。关系模型数据库系统的数据结构简单,表示数据及其数据之间的联系均采用关系(二维表),同时关系模型有扎实的数学理论做基础,使得数据的操作可以通过关系的运算来完成,从20世纪80年代中期起,网状模型和层次模型的市场已逐渐被关系模型的数据库系统取代。本章我们学习关系型数据库系统的理论,主要内容包括:

2、关系及关系代数 关系型数据库的结构化查询语言SQL的操作 关系模型及关系数据库规范化理论,6.1 关系及关系代数,关系是数学上的一个概念,建立在日常生活中所论及的关系概念之上,例如我们通常所说的邻里关系、朋友关系、学生与所选修的课程及该课程的成绩关系等等。在这里我们所论及的朋友关系涉及了互为朋友的双方,在数学上我们表示为(李,张);邻里关系也涉及了互为邻里的双方,我们表示为(李家,张家);学生与所选修的课程及该课程的成绩关系,涉及到学生、所选的课程名以及所取得的成绩,在数学上我们表示为(李兰,软件基础,90)。(李,张)、(李家,张家)、(李兰,软件基础,90)等数学上称为元组,括号里边用逗号

3、隔开的对象,数学上称为元组的分量。 在上面的实例中朋友关系是一个很大的概念,(李,张)只是其中的一个,邻里关系、学生与所选修的课程以及选修课程之间的关系也是一样。数学上关系的概念是日常生活中关系概念的抽象。下面我们给出关系的简单、直观的概念。,6.1.1关系及关系模型,1、关系的概念: 关系是以元组为元素的集合。数据库技术中论及的关系概念应该是:关系是同类型元组的集合。简单的说,关系就是集合,可以用大写字母R1,R2,R来表示。 学生与所选课程之间的关系R可以表示为 R=(李兰,软件基础,90),(张娜,高等数学,87), (张伟,C语言,76),(邵华,英语,79) 这样的一个关系R,在日常

4、生活中我们通常表示成一个表格的形式。,2、关系与关系模型,从上面的例子中我们看到,数学上关系的概念可以用来描述一个二维表,而二维表就是我们现实世界中进行各种档案管理使用的方法,其中记录了大量的数据。这样我们就用数学理论中的一个概念描述了现实世界的一个对象。关系型数据库就是用关系描述数据的数据库系统。 二维表与关系 关系可以用来描述二维表,对应的术语 关系 二维表; 元组 二维表中的行; 分量 二维表中的列。 二维表与关系型数据库中的数据 一个关系型数据库中的数据对应于一个二维表,其中对应的术语: 二维表 一个数据库中的表、一个数据视图; 二维表的行数据库表的记录; 二维表的列数据库表记录的字段

5、,E-R模型可以用关系模式表示,学生(学号,姓名,年龄,性别) 课程(课程号,课程名,任课教师) 学生和课程的关系(学号,课程号,成绩),这些关系模式集可以描述三类关系,下面是这三类关系模式的关系实例。,C,S,SC,说明: 面的三个关系中,关系S的关键字是:学号,关系C的关键字是:课程号,关系SC的关键字是:学号+课程号。这样我们就将现实世界(教学管理系统)用S、C,SC三个关系描述清楚了。,关系模型的三类完整型规则 前面我们讨论了二维表、关系模型和关系,我们看到关系描述了现实世界中的数据,这些数据以数据库(表)的形式存储到计算机中,根据现实世界的变化,计算机中的数据也要做相应的改变。为了维

6、护数据库数据与现实世界数据的一致性,关系数据库中的数据建立与数据的更新必须遵守以下规则: 1)实体完整性规则: 实体完整性规则要求关系中,记录关键字的字段不能为空 2)参照完整性规则: 参照完整性规则要求关系中“不引用不存在的实体” 3)用户完整性规则: 这是针对某一具体数据的约束条件,由应用环境决定。,总结前面关于关系模型的论述,我们看到,在定义一个关系模式时,需要进行以下三个部分的定义: (1)数据结构的定义:数据库中的全部数据及其相互联系都被组织成“关系”的形式,并且关系模型的基本数据结构也是关系。 (2)数据操作的定义:关系模型提供一组完备的高级关系运算,以支持数据库的各种操作。关系运

7、算分为关系代数和关系演算两类,后面我们将要对关系代数和关系演算做进一步的研究。 (3)关系模型的三类完整性规则的定义:除了进行数据结构、数据操作的定义,为了确保数据的正确性,还要进行三类完整性规则的定义。,6.1.2关系代数,前面我们提到,关系是一个数学上的概念,是一类集合(以同类型元组为元素的集合),因此关系代数是以集合代数为基础发展起来的,关系是可以进行运算的。如同数字运算的对象和结果都是数字、集合运算的对象和结果都是集合一样,关系运算的对象和结果都是关系。关系的运算可以分为两类: 传统的集合运算:这类运算从关系是集合的定义出发,把关系看成集合,则集合的所有运算对关系也是有效的。这类运算有

8、:关系的并集、交集、差集、笛卡尔积。 专门的关系运算:这类运算是用来进行数据库的查询操作。这些运算可以把二维表进行任意的分割和组装,随机的由已有的二维表构造出各式各样用户所需要的二维表。这类运算有:投影、选择、连接、除法运算。,1、传统的集合运算,关系的并 关系的并运算的运算符号与集合并运算的符号相同都是:“”,关系运算中,规定只有两个同类型关系的并才有意义。设R1和R2是两个同类型的关系,他们之间的并运算表达式是:R1R2,其结果也是同类型的关系,其中R1R2的元组或者是R1的元组或者是R2的元组,记为: R1R2= t|tR1 tR2 ,举例,R1,R2,R1 R2,关系交运算 关系的交运

9、算的运算符号与集合交运算的符号相同都是:“”,关系运算中,只有两个同类型关系的交才有意义。设R1和R2是两个同类型的关系,他们之间的交运算表达式是:R1R2,其结果也是同类型的关系,其中R1R2的元组是由既是R1的元组也是R2的元组构成,记为: R1R2= t|tR1 tR2 ,举例,R1,R2,R1 R2,关系差运算 关系的差运算的运算符号与集合差运算的符号相同都是:“-”,关系运算中,只有两个同类型关系的差才有意义。设R1和R2是两个同类型的关系,他们之间的差运算表达式是:R1-R2,其结果也是同类型的关系,其中R1-R2的元组是由:是R1的元组,而不是R2的元组构成,记为: R1-R2=

10、 t|tR1 tR2 ,举例,R1,R2,R1 - R2,笛卡尔积运算 笛卡尔积是关系这类集合所特有的一种运算,其运算符号是乘法运算符“”,是一个二元关系运算,两个运算对象可以是同类型的关系也可以是不同类型的关系,若R1是r1元元组的集合,R2是r2元元组的集合,则R1R2是r1+r2元元组的集合,R1R2的元组是由R1的分量和R2的分量组成,记为: R1R2=t|t=(t1,t2) t1R1t2R2,举例,R1,R2,R1 R2,2、专门的关系运算,专门的关系运算有选择、投影、关系的自然连接和关系的除法,其中关系的选择运算和投影运算是一元运算,是对一个关系进行垂直和水平分解而得到一个关系,而

11、关系的自然联接和关系的除法是二元运算,是把两个关系的信息根据需要组织成一个新关系,是信息的综合,这几种关系的运算都与记录的查询操作有关。,选择运算 关系选择运算的运算符是“”,关系的选择运算是一元运算,运算的对象是关系,运算的结果也是关系,新关系是原关系的子集,记为: F(R)=t|tRF(t) 在上式中表示的是选择运算,F是一条件表达式,R是进行关系运算的对象,F(R)是选择运算的结果,其元组首先是关系R的元组,并且这些元组要使得条件F为真,即F(t)为真,因此,选择运算也可叙述为:在关系R中选择满足条件F的记录,组成一个新关系。,举例,R1,年龄17(R1),投影运算 关系投影运算的运算符

12、是“”,关系投影运算是一元运算,运算的对象是关系,运算的结果也是关系,新关系的元组是在原关系的元组中选出的若干个分量组成的元组,记为: ti1, ti2, tim (R)=t|t=(ti1,ti2,tim) (t1,t2,tk) R (其中Kim) 上式中“”是投影运算的运算符,R是投影运算的运算对象,(t1,t2,tk)是关系R的元组,(ti1,ti2,tim)是投影运算所得新关系的元组。,举例,R1,姓名,年龄 (R1),连接运算 与投影和选择运算不同,连接运算是将两个关系连接起来,以满足查询任务的要求,连接运算是二元运算。实际上,我们前面所讲的关系笛卡尔积运算就是一种连接运算,是两个关系

13、的最大连接。前面我们也提到笛卡尔积运算的结果,产生了很多没有实际意义的记录,而连接运算是将两个关系连接起来,获得与用户查询有关的新关系。关系的连接有两类:条件连接和自然连接。,1)条件连接 条件连接运算的运算符是“ F ”,是将两个关系有条件的连接起来,因此连接运算在某种意义上说是一种复合运算,可以理解为先将两个关系进行笛卡尔积运算,再对连接结果做选择运算,连接运算记为: R F S=t|t=(t1,t2)t1Rt2SF(t) 其中: F(t)=R(i)S(j) 上面对关系R、S的运算等价于: R S=R(i)S(j)(RS),举例,R,S,R R(2)S(1)S,2)自然连接 自然连接的运算

14、符是 “ ”,是一种特殊的条件连接,它要求进行连接的两个关系中,具有相同的属性组,连接的条件就是两个相同属性组的分量相等,并且在连接的结果中把重复的属性去掉,因此自然连接可以理解为将两个有相同属性的关系,按对应属性值相等的条件进行连接,再对连接的结果进行投影运算。自然连接运算记为: R S=m1,m2,。,mn(R.A1=S.A1R.A2=S.A2。R.AK=S.AK(RS) 其中选择的条件是关系R和关系S相同的属性对应相等,上式中表示关系R和关系S有K个相同的属性,连接的条件是这K个属性对应相等,投影的属性m1,m2,mn是R的所有属性和S属性中除了S.A1,S.A2,S.AK之外的所有属性

15、。,举例,C,S,C S,例: 在关系模式:C(课程号,课程名),S(姓名,课程号,成绩)的关系中查询“李兰”同学选学了那些课程。 分析:这个查询涉及到姓名和课程名,而这两个属性分别在关系C和关系S中,要进行查询需要将两个属性信息集中到一个关系中,可将两个关系进行自然连接得到新关系: C S 在所得新关系中投影出于查询有关的属性(姓名和课程名)得到投影后的新关系: 姓名,课程名(C S) 在所得新关系中选择出姓名为李兰的学生就是查询的结果,查询表达式如下: 课程名(姓名=“李兰”(姓名,课程名(C S),4、 除法运算 除法运算也是一个关系的复合运算,是二元运算,运算符号是“”。设关系R和关系

16、S的元组分别有r、s个分量(设rs0),那么RS是一个关系,其元组有(r-s)个分量。 RS满足下列条件的最大关系:其中RS每个元组t与S中的每个元组u组成的新元组(t,u)必须在关系R中。关系的除法运算可以通过下面的过程计算: 对关系进行在属性1,2,3,r-s上的投影: T=1,2,r-s(R) W=(TS)-R V=1,2,r-s(W) RS=T-V,除法运算的运算步骤,R,S,T= 1,2 (R),T S,W=T S-R,V=1,2 (W),R S,例13 有两个关系学生S和课程C如下,S,R,查询选修了全部课程学生的姓名 要解决这个查询问题,可以利用关系的除法运算来完成。 姓名,课程号(S)课程号(C) 说明:关系除法运算要求关系R后面的s个分量,和关系S后面的s个分量可以有不同的属性名,但必须有相同

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

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

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