数据库第二章ppt课件_第1页
数据库第二章ppt课件_第2页
数据库第二章ppt课件_第3页
数据库第二章ppt课件_第4页
数据库第二章ppt课件_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

2.1关系模型概述2.2关系数据库的基本概念2.3关系的完整性2.4关系代数(本章重点及难点)2.5关系演算2.6关系代数表达式的优化,第2章关系数据库,2.1关系模型概述,关系数据库系统是支持关系模型的数据库系统。关系模型的三要素为:数据结构、关系操作、关系模型的三类完整性规则。1.数据结构一张二维表2.关系操作,关系模型的三类完整性规则实体完整性规则,参照完整性规则,用户自定义完整性规则。实体完整性:对主属性的约束参照完整性:对外码的约束用户自定义完整性:用户根据实际情况对其他属性列的约束,2.2关系数据库的基本概念,2.2.1关系模型的数据结构2.2.2关系的数学定义2.2.3关系的性质2.2.4几个常用术语,2.2.1关系模型的数据结构,在关系模型中,数据结构就是用单一的二维表结构来表示实体集以及实体与实体之间的联系的。,(a)学生表,(b)课程表,(c)学生选课表,2.2.2关系的数学定义,1.域:域是一组具有相同数据类型的值的集合。2.笛卡尔积3.关系:D1D2D3Dn的子集目(或度)数据表:关系字段:属性记录:元组,2.2.3关系的性质,1.同一属性的数据具有同质性2.同一关系的属性名具有不可重复性3.关系中列的位置具有顺序无关性4.关系中元组的位置具有顺序无关性5.关系具有元组无冗余性6.关系中每一个分量都必须是不可分割的数据项,2.2.4几个常用术语,1.关系模式表示方法为R(U,D,DOM,F),其中R为关系名,U为组成该关系的属性集合,D为属性组U中的属性所来自的域,DOM为属性向域的映像的集合,F为属性间数据的依赖关系集合。2.关系数据库:在关系数据库中,实体集以及实体间的联系都是用关系来表示的。3.超键:在关系中能唯一标识元组的属性集。4.候选键:如果一个属性集能够唯一标识元组,又不含多余属性,则称为候选键。,2.2.4几个常用术语,5.主键:用户选作元组标识的一个候选键称为主键或主码,也称为关键字。一般情况下,键或码就是主键。6.主属性:候选键中的所有属性都称为主属性。7.非主属性:不含在任何候选键中的属性。8.外键:如果关系中的属性或属性组不是本关系的主键,而是引用另一个关系的主键,则称这一属性或属性组为外键。,2.3关系的完整性,2.3.1实体完整性规则2-1:若属性A是基本关系R上的主属性,则属性A不能取空值。如关系学生(学号,姓名,性别,年龄,籍贯),在此关系中,学号是主码,则学号也是主属性,如果主属性学号的取值为空,且其他信息相同的学生,则就没有办法区分信息相同的学生。,学生表,无学号,就无法区分两个陆小凤。,2.3关系的完整性,2.3.2参照完整性规则2-2:若属性(或属性组)F是基本关系R的外键,它与基本关系S的主键Ks相对性(基本关系R和S不一定是不同的关系),则对于R中的每个元组在F上的值必须为空值(F的每一个属性值均为空值)或者等于S中某个元组的主键值。实体完整性和参照完整性适用于任何关系数据库系统。2.3.3用户自定义完整性针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。,2.4关系代数,关系代数式关系操纵语言的一种传统表示方式,它是以集合代数为基础发展起来的,但它的运算对象和运算结果均为关系。关系代数也是一种抽象的查询语言,它通过对关系的运算来表达查询。运算的三大要素:运算对象、运算符和运算结果。关系代数分为:传统的集合运算和专门的关系运算。传统的集合运算有:并、交、差、广义笛卡尔积四种运算。专门的关系运算有:选择、投影、选择、除四种运算。,表2-5关系代数用到的运算符,2.4.1传统的集合运算,传统的集合运算是二目运算,包括并、交、差、广义笛卡尔积四种运算。1.并(Union)要求参与运算的两个关系具有相同的列数,属性列的域要相同。运算结果为参与运算的两个关系的所有元组,并去掉重复的元组。此运算不会对参与运算的关系的列数造成影响。2.差(Difference)要求参与运算的两个关系具有相同的列数,属性列的域要相同。假设参与运算的关系为R和S,则运算结果为R减去和S相同的元组后剩下的元组,也可表示为R-(RS)。此运算不会对参与运算的关系的列数造成影响。,2.4.1传统的集合运算,3.交(Intersection)要求参与运算的两个关系具有相同的列数,属性列的域要相同。假设参与运算的关系为R和S,则运算结果为R和S相同的元组。此运算不会对参与运算的关系的列数造成影响。4.广义笛卡尔积(ExtendedProduct)与第二节的笛卡尔积的计算方法相同。,例2-4给定关系R和S,如图2-5(a)、(b)所示,求RS,RS,R-S,RS。,(a)R,(b)S,RS,RS=R(RS),RS,(a)R,(b)S,RS,R-S=R-(RS),(a)R,(b)S,R-S,减去,RS,2.4.2专门的关系运算,1.选择(Selection)选择是水平方向的运算,是在关系中找出符合条件的元组。选择是单目运算,仅有一个运算对象。2.投影投影是垂直方向的运算,是在关系中找出符合条件的属性列。3.连接连接的一般格式:RSab其中,a为R中的属性列,b为S中的属性列,a、b可以使属性名,还可以是属性列的列数,或a为列名,b为具体的值,b为列名,a为具体的值等的形式;为比较运算符:,。,连接运算中的两种重要且常用的连接:等值连接和自然连接。等值连接为“=”的连接运算称为等值连接。计算过程:(1)计算RS;(2)从RS的结果中取出符合条件的元组。自然连接是一种特殊的等值连接,要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉,即若R和S具有相同的属性组。计算过程:(1)计算RS;(2)从RS的结果中取出符合条件的元组;(3)去掉重复的属性列。,求RS,R,S,RS,步骤1:,步骤2:从笛卡尔积中找出各个属性列的值都相等的元组;,步骤3:消除重复的属性列。,取消,取消后,4.除法除法操作是同时从行和列的角度进行运算的。RS的具体过程为:(1)求出R中的X的各个分量的象集YX;(2)求出S在Y上投影的集合y(S);(3)比较YX和y(S),选取满足y(S)包含于YX的分量,记作X+;(4)RS=X+。例:设有关系R、S如下表所示,求RS的结果。,R,S,2.4.3关系代数计算的应用举例,设教学数据库中的三个关系:学生关系S(sno,sname,sex,age,dept)学习关系SC(sno,cno,grade)课程关系C(cno,cname,cpno,credit,teacher)其中,cpno,credit,teacher分别代表先修课程号、学分和任课教师。要求用关系代数表达式表示下列每个查询语句。(1)查询所有年龄小于20岁的男学生信息。(2)查询所有女同学的姓名和年龄。(3)查询计算机系和机械系学生信息。(4)查询年龄在1820岁之间的学生的学号、姓名和系别信息。(5)查询不作为其他课程先修课的课程号。(6)查询学习课程号为C2的学生学号和成绩。(7)查询学习课程号为C2的学生学号和姓名。,(8)查询选修课程名为maths的学生学号与姓名。(9)得到一张包括学生学号、姓名、课程名称、学分和成绩的学生成绩单。(10)查询选修课程号为C2或C4的学生学号。(11)查询至少选修课程号为C2和C4的学生学号。(12)查询不选修C2课程的学生姓名与年龄。(13)查询学习全部课程的学生姓名。(14)查询全体学生都选修的课程的课程号和课程名。(15)查询所学课程包含学生S3所学课程的学生学号。(16)查询选修课程包含Liu老师所授课程的学生学号。(17)将新选修课程元组(S1,C1,95)插入到关系SC中。(18)将学号为S4、选修课程号为C4的学生的成绩改为85分。,2.4.4扩充的关系代数运算,1.外连接(outerjoin)在两个表连接后,希望有些没有连接上的数据也能显示在结果集中,所以要用到外连接。定义2-2如果R和S在作自然连接时,把该舍弃的元组也保留在新关系中,这些元组的属性上填上空值(NULL),那么这种操作称为全外连接,表示为:R*S。根据保留元组的不同,外连接分为左外连接和右外连接。(1)左外连接如果R和S在作自然连接时,只把R中原该舍弃的元组保留在新关系中,那么这种操作称为左外连接,表示为R*S。(2)右外连接如果R和S在作自然连接时,只把R中原该舍弃的元组保留在新关系中,那么这种操作称为左外连接,表示为R*S。,例:给定关系R和S,对其分别进行自然连接、全外连接、左外连接、右外连接运算,写出结果集。,R,S,2.外部并定义:如果R和

温馨提示

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

评论

0/150

提交评论