第3章 关系数据库基本理论精选文档.ppt

上传人:石*** 文档编号:87320085 上传时间:2023-04-16 格式:PPT 页数:34 大小:2.45MB
返回 下载 相关 举报
第3章 关系数据库基本理论精选文档.ppt_第1页
第1页 / 共34页
第3章 关系数据库基本理论精选文档.ppt_第2页
第2页 / 共34页
点击查看更多>>
资源描述

《第3章 关系数据库基本理论精选文档.ppt》由会员分享,可在线阅读,更多相关《第3章 关系数据库基本理论精选文档.ppt(34页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第3章 关系数据库基本理论本讲稿第一页,共三十四页1.1.关系的数学定义关系的数学定义关系的数学定义关系的数学定义1)1)域(域(域(域(DomainDomain)的定义:对应于实体中的属性,是一组具有相同数据类型的值的集)的定义:对应于实体中的属性,是一组具有相同数据类型的值的集)的定义:对应于实体中的属性,是一组具有相同数据类型的值的集)的定义:对应于实体中的属性,是一组具有相同数据类型的值的集合。合。合。合。2)2)笛卡儿积(笛卡儿积(笛卡儿积(笛卡儿积(Cartesian ProductCartesian Product)的定义:给定一组域)的定义:给定一组域)的定义:给定一组域)的定

2、义:给定一组域D D1 1,D D2 2,D Dn n,这些域中,这些域中,这些域中,这些域中可以有相同的部分,可以有相同的部分,可以有相同的部分,可以有相同的部分,则笛卡儿积为:则笛卡儿积为:则笛卡儿积为:则笛卡儿积为:D D1 1DD2 2DDn n=(d d1 1,d d2 2,d dn n)d di i D Di i,i i1 1,2 2,n.n.其中每一个元素(其中每一个元素(其中每一个元素(其中每一个元素(d d1 1,d d2 2,d dn n )称为一个)称为一个)称为一个)称为一个n n元组(元组(元组(元组(n-Tuplen-Tuple),简称元组),简称元组),简称元组)

3、,简称元组(TupleTuple)。元素中的每一个值)。元素中的每一个值)。元素中的每一个值)。元素中的每一个值 d di i 称作一个分量(称作一个分量(称作一个分量(称作一个分量(ComponentComponent)。)。)。)。3.1 3.1 关系的定义关系的定义关系的定义关系的定义 3.1.1 3.1.1 关系数据结构关系数据结构关系数据结构关系数据结构本讲稿第二页,共三十四页即,每列对应一个域。例如给出三个域:即,每列对应一个域。例如给出三个域:即,每列对应一个域。例如给出三个域:即,每列对应一个域。例如给出三个域:D1=D1=姓名姓名姓名姓名=王平,李丽,张晓刚王平,李丽,张晓刚

4、王平,李丽,张晓刚王平,李丽,张晓刚;D2=D2=性别性别性别性别=男,女男,女男,女男,女;D3=D3=年龄年龄年龄年龄=19=19,20.20.3)3)关关关关系系系系(RelationRelation)的的的的定定定定义义义义:D D1 1 DD2 2 DDn n的的的的子子子子集集集集称称称称作作作作在在在在域域域域D D1 1,D D2 2,D Dn n上的关系,表示为:上的关系,表示为:上的关系,表示为:上的关系,表示为:R R(D D1 1,D D2 2,D Dn n).这里:这里:这里:这里:R R表示关系的名字,表示关系的名字,表示关系的名字,表示关系的名字,n n是关系的目

5、或度(是关系的目或度(是关系的目或度(是关系的目或度(DegreeDegree)。)。)。)。本讲稿第三页,共三十四页4)关键字关键字关键字关键字:用来标识某个记录的用来标识某个记录的一个或一组属性一个或一组属性。候候选选关关键键字字:能能作作为为关关键键字字的的属属性性可可能能不不止止一一个个,这这些些属属性性称称为为候候选选关关键键字:字:学生(学生(学号学号,姓名,性别,年龄);,姓名,性别,年龄);借书(借书(学号,书号学号,书号,日期);,日期);学生选课(学生选课(学号,课程学号,课程).主关键字:能唯一标识某个记录主关键字:能唯一标识某个记录(元组元组)的候选关键字。的候选关键字

6、。次关键字:能识别多个记录的属性则称为次关键字次关键字:能识别多个记录的属性则称为次关键字。主属性:关系中,候选关键字中的属性称为主属性。主属性:关系中,候选关键字中的属性称为主属性。非主属性:不包含在任何候选关键字中的属性称为非主属性。非主属性:不包含在任何候选关键字中的属性称为非主属性。本讲稿第四页,共三十四页 3.1.2 3.1.2 关系的性质关系的性质关系的性质关系的性质1.数据库中基本关系的性质数据库中基本关系的性质1)空关系:不包含元空关系:不包含元组组的表。的表。2)N度度关系:关系中有关系:关系中有N 个属性。个属性。3)属属性性取取值值:相相同同属属性性具具相相同同域域,即即

7、:相相同同的的属属性性具具相相同同的的数数据据类类型。型。4)关系中的列位置具有顺序无关性。关系中的列位置具有顺序无关性。5)关系中的元组位置具有顺序无关性。同一关系中不应有相同的元组。关系中的元组位置具有顺序无关性。同一关系中不应有相同的元组。6)关系中每一个分量都必须是不可分的数据项。关系中每一个分量都必须是不可分的数据项。7)关系是随着操作动态变化。关系是随着操作动态变化。8)关系相等与关系的命名和属性的顺序无关。)关系相等与关系的命名和属性的顺序无关。本讲稿第五页,共三十四页2.2.关系模式(关系模式(关系模式(关系模式(Relation SchemaRelation Schema)的

8、定义)的定义)的定义)的定义关系模式通常可以简单记为:关系模式通常可以简单记为:关系模式通常可以简单记为:关系模式通常可以简单记为:R R(U U)或)或)或)或 R R(A1A1,A2A2,AnAn).其中:其中:其中:其中:R R为关系名,为关系名,为关系名,为关系名,A1A1,A2A2,AnAn为属性名。为属性名。为属性名。为属性名。3.3.关系数据库关系数据库关系数据库关系数据库在在在在某某某某一一一一应应应应用用用用领领领领域域域域中中中中,所所所所有有有有实实实实体体体体集集集集及及及及实实实实体体体体之之之之间间间间联联联联系系系系所所所所形形形形成成成成关关关关系系系系的的的的

9、集集集集合合合合就就就就构构构构成了一个关系数据库。成了一个关系数据库。成了一个关系数据库。成了一个关系数据库。本讲稿第六页,共三十四页1)1)集合运算符:集合运算符:集合运算符:集合运算符:(并运算),(差运算),(并运算),(差运算),(并运算),(差运算),(并运算),(差运算),(交运算),(交运算),(交运算),(交运算),(广义笛卡儿积)。(广义笛卡儿积)。(广义笛卡儿积)。(广义笛卡儿积)。2)2)专门的关系运算符:专门的关系运算符:专门的关系运算符:专门的关系运算符:(选择),(选择),(选择),(选择),(投影),(连接),(投影),(连接),(投影),(连接),(投影),(

10、连接),(除)。(除)。(除)。(除)。3)3)比比比比较较较较运运运运算算算算符符符符:(大大大大于于于于),(大大大大于于于于等等等等于于于于),(小小小小于于于于),(小小小小于于于于等等等等于于于于),(等等等等于),于),于),于),(不等于)。(不等于)。(不等于)。(不等于)。4)4)逻辑运算符:逻辑运算符:逻辑运算符:逻辑运算符:(非),(非),(非),(非),(与),(与),(与),(与),(或)。(或)。(或)。(或)。3.2.1 3.2.1 传统的集合运算传统的集合运算传统的集合运算传统的集合运算设设设设关关关关系系系系R R和和和和S S具具具具有有有有相相相相同同同同

11、的的的的目目目目n n(即即即即两两两两个个个个关关关关系系系系都都都都有有有有n n个个个个属属属属性性性性),且且且且相相相相应应应应的的的的属属属属性性性性取自同一个域。取自同一个域。取自同一个域。取自同一个域。1.1.并(并(并(并(UnionUnion)运算)运算)运算)运算R RS=t|t S=t|t R R t t S.S.R R和和和和S S并的结果仍为并的结果仍为并的结果仍为并的结果仍为n n目关系,其数据由属于目关系,其数据由属于目关系,其数据由属于目关系,其数据由属于R R或属于或属于或属于或属于S S的元组组成。的元组组成。的元组组成。的元组组成。3.2 3.2 关系代

12、数关系代数关系代数关系代数本讲稿第七页,共三十四页2.2.差(差(差(差(DifferenceDifference)运算)运算)运算)运算R S=t|t R S=t|t R R t t S.S.R R和和和和S S差差差差运运运运算算算算的的的的结结结结果果果果关关关关系系系系仍仍仍仍为为为为n n目目目目关关关关系系系系,其其其其数数数数据据据据由由由由属属属属于于于于R R而而而而不不不不属属属属于于于于S S的的的的所所所所有有有有元元元元组组组组组成。组成。组成。组成。3.3.交(交(交(交(IntersectionIntersection)运算)运算)运算)运算RS=t|tRS=t|

13、t R R t t S.S.R R和和和和S S交交交交运运运运算算算算的的的的结结结结果果果果关关关关系系系系仍仍仍仍为为为为n n目目目目关关关关系系系系,其其其其数数数数据据据据由由由由既既既既属属属属于于于于R R同同同同时时时时又又又又属属属属于于于于S S的的的的元元元元组组组组组成。组成。组成。组成。关系的交可以用差来表示,即:关系的交可以用差来表示,即:关系的交可以用差来表示,即:关系的交可以用差来表示,即:RS=R(RS).RS=R(RS).4.4.广义笛卡儿积(广义笛卡儿积(广义笛卡儿积(广义笛卡儿积(Extended Cartesian ProductExtended C

14、artesian Product)运算)运算)运算)运算2.2.差(差(差(差(DifferenceDifference)运算)运算)运算)运算R S=t|t R S=t|t R R t t S.S.R R和和和和S S差差差差运运运运算算算算的的的的结结结结果果果果关关关关系系系系仍仍仍仍为为为为n n目目目目关关关关系系系系,其其其其数数数数据据据据由由由由属属属属于于于于R R而而而而不不不不属属属属于于于于S S的的的的所所所所有有有有元元元元组组组组组成。组成。组成。组成。3.3.交(交(交(交(IntersectionIntersection)运算)运算)运算)运算RS=t|tRS

15、=t|t R R t t S.S.R R和和和和S S交交交交运运运运算算算算的的的的结结结结果果果果关关关关系系系系仍仍仍仍为为为为n n目目目目关关关关系系系系,其其其其数数数数据据据据由由由由既既既既属属属属于于于于R R同同同同时时时时又又又又属属属属于于于于S S的的的的元组组成。元组组成。元组组成。元组组成。关系的交可以用差来表示,即:关系的交可以用差来表示,即:关系的交可以用差来表示,即:关系的交可以用差来表示,即:RS=R(RS).RS=R(RS).4.4.广义笛卡儿积(广义笛卡儿积(广义笛卡儿积(广义笛卡儿积(Extended Cartesian ProductExtende

16、d Cartesian Product)运算)运算)运算)运算本讲稿第八页,共三十四页本讲稿第九页,共三十四页关系运算运算不仅涉及关系的行也涉及列,有时需要比较与逻辑运算来辅助进行操作。1.关系运算的定义关系运算的定义(1)选择(选择(Selection)运算)运算 选择运算指在关系选择运算指在关系R中选择满足给定条件的元组,中选择满足给定条件的元组,记作:记作:F(R)=t|t R F(t)=真真.其中:其中:F表示选择条件,它是一个逻辑表达式,取值为表示选择条件,它是一个逻辑表达式,取值为“真真”或或“假假”。F由逻辑运算符(非)、由逻辑运算符(非)、(与)和(与)和(或)连接各条件表达式

17、组成。(或)连接各条件表达式组成。条件表达式的基本形式为:条件表达式的基本形式为:X1Y1.其中:其中:是比较运算符,它可以是、是比较运算符,它可以是、中的一种;中的一种;X1和和Y1是属性名、是属性名、常量或简单函数;属性名也可以用它的序号来代替。常量或简单函数;属性名也可以用它的序号来代替。3.2.2 3.2.2 基本的关系运算基本的关系运算基本的关系运算基本的关系运算本讲稿第十页,共三十四页选择运算是从行的角度进行的运算选择运算是从行的角度进行的运算n举举例例:R为为01级级学学生生登登记记表表,从从01级级学学生生登登记记表表中中选出选出01级软件专业学生。级软件专业学生。n F(R)

18、=t|t R 专业专业=软件软件.n专业专业=软件软件(R)表示:表示:n专业专业=软件软件(R)表示:表示:本讲稿第十一页,共三十四页设学生课程数据库,其关系模式为:设学生课程数据库,其关系模式为:学生(学生,姓名,年龄,所在系);学生(学生,姓名,年龄,所在系);课程(课程号,课程名,学分);课程(课程号,课程名,学分);选课(学号,课程号,成绩)选课(学号,课程号,成绩).【例例3-1】用用关关系系代代数数表表示示在在学学生生课课程程数数据据库库中中查查询询计计算算机机系系的的全全体体学学生生的的操操作。作。所在系所在系=计算机系计算机系(学生)(学生)【例【例3-2】用关系代数表示在学

19、生课程数据库中查询年龄小于】用关系代数表示在学生课程数据库中查询年龄小于20岁的学生的操作。岁的学生的操作。年龄年龄20(学生)(学生)本讲稿第十二页,共三十四页(2)投影投影(Projection)运算运算关系关系R上的投影操作是从关系上的投影操作是从关系R中选择出若干属性列,组成新的关系。中选择出若干属性列,组成新的关系。设设R为一个为一个n元关系,元关系,R的投影操作定义为:的投影操作定义为:A(R)=tA|tR,其中其中:A为为R属性集的子集,属性集的子集,tA表示元组表示元组t中对应属性子集中对应属性子集A的分量。的分量。n投影操作主要是从列的角度进行运算投影操作主要是从列的角度进行

20、运算但投影之后不仅取消了原关系中的某些列,而且还可能取消某些元组(避免重复但投影之后不仅取消了原关系中的某些列,而且还可能取消某些元组(避免重复行)行)本讲稿第十三页,共三十四页【例【例3-3】在学生课程数据库中,查询学生的姓名和所在系。】在学生课程数据库中,查询学生的姓名和所在系。表示为:表示为:姓名,所在系姓名,所在系(学生)(学生)例、例、查询学生关系查询学生关系S中学生都来自哪些系中学生都来自哪些系 系名系名(S):系名系名CSISMA本讲稿第十四页,共三十四页(3)连接(连接(Join)运算。)运算。连接是从两个关系的笛卡儿积中选取属性间满足一定条件的元组。记作:连接是从两个关系的笛

21、卡儿积中选取属性间满足一定条件的元组。记作:R S=tr ts|tr R ts S tr Ats B.AB其其中中:t为为属属性性集集,A和和B分分别别为为R和和S上上度度数数相相等等且且可可比比的的属属性性组组,是是比比较较运运算算符。符。连连接接运运算算从从R和和S的的广广义义笛笛卡卡儿儿积积RS中中,选选取取符符合合AB条条件件的的元元组组,即即选选择择在在R关系中关系中A属性组上的值与在属性组上的值与在S关系中关系中B属性组上的值满足比较操作属性组上的值满足比较操作的元组。的元组。等值连接表示为:等值连接表示为:R S=tr ts|tr R ts S tr A=ts B.本讲稿第十五页

22、,共三十四页AB124578CD3162ABCD123112624531456278317862ABCD123112624562则属性则属性B,C称为连接属性,称为连接属性,BC为连接条件为连接条件如如 R S:RS:R BC S:RS=tr ts|tr Rts StrBtsC.本讲稿第十六页,共三十四页A B自然连接是一种特殊的等值连接,它要求两个关系中进行比较自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去的分量必须是相同的属性组,并且在结果中把重复的属性列去掉。若掉。若R和和S具有相同的属性组,则它们的自然连接可表示为:具有相同

23、的属性组,则它们的自然连接可表示为:R S=tr ts|tr R ts S tr Ats B.本讲稿第十七页,共三十四页n一般的连接操作是从行的角度进行运算。一般的连接操作是从行的角度进行运算。自然连接还需要取消重复列,所以是同时从行和列的角度进行运算。自然连接还需要取消重复列,所以是同时从行和列的角度进行运算。ABRS本讲稿第十八页,共三十四页ABCa1b15a1b26a2b38a2b412BEb13b27b310b32b52RS本讲稿第十九页,共三十四页AR.BCS.BEa1b15b27a1b15b310a1b26b27a1b26b310a2b38b310 R S CE本讲稿第二十页,共三

24、十四页AR.BCS.BEa1b15b13a1b26b27a2b38b310a2b38b32 等值连接等值连接 R S R.B=S.B 本讲稿第二十一页,共三十四页ABCEa1b153a1b267a2b3810a2b382 自然连接自然连接 R S 本讲稿第二十二页,共三十四页【例例3-4】设设学学生生和和选选课课关关系系中中的的数数据据如如下下,学学生生与与选选课课之之间间的的笛笛卡儿积、等值连接和自然连接的结果如表所示。卡儿积、等值连接和自然连接的结果如表所示。本讲稿第二十三页,共三十四页本讲稿第二十四页,共三十四页(4)除(除(Division)运算)运算给给定定关关系系R(X,Y)和和S

25、(Y,Z),其其中中X,Y,Z为为属属性性组组。R中中的的Y与与S中中的的Y可可以有不同的属性名,但必须出自相同的域集。以有不同的属性名,但必须出自相同的域集。T=RST的的属属性性由由R中中不不出出现现在在S的的属属性性组组成成,其其元元组组由由S中中所所有有元元组组在在R中中对对应应值值相相同同的的元元组组成。组组成。除操作是同时从行和列角度进行运算除操作是同时从行和列角度进行运算RS本讲稿第二十五页,共三十四页ABCa1b1c2a2b3c7a3b4c6a1b2c3a4b6c6a2b2c3a1b2c1BCDb1c2d1b2c1d1b2c3d2RSAa1RS本讲稿第二十六页,共三十四页在关系

26、在关系R中,中,A可以取四个值可以取四个值a1,a2,a3,a4l a1的象集为的象集为(b1,c2),(b2,c3),(b2,c1)la2的象集为的象集为(b3,c7),(b2,c3)la3的象集为的象集为(b4,c6)la4的象集为的象集为(b6,c6)S在在(B,C)上的投影为上的投影为 (b1,c2),(b2,c1),(b2,c3)只有只有a1的象集包含了的象集包含了S在在(B,C)属性组上的投影属性组上的投影所以 RS=a1 本讲稿第二十七页,共三十四页【例【例3-5】给出选课、选修课和必修课】给出选课、选修课和必修课3个关系,它们的关系模式为:个关系,它们的关系模式为:选课选课(学

27、号,课号,成绩学号,课号,成绩);选修课;选修课(课号,课名课号,课名);必修课;必修课(课号,课名课号,课名).本讲稿第二十八页,共三十四页注注:表表中中,选选课课表表左左边边大大括括号号和和数数码码为为按按“选选课课必必修修课课”运运算算对对选选课课表表的的元元组进行分组及编码的结果;选课表右边大括号和数码组进行分组及编码的结果;选课表右边大括号和数码为按为按 学号,课号学号,课号(选课)(选课)必修课必修课本讲稿第二十九页,共三十四页学生选课库的关系模式为:学生选课库的关系模式为:学生(学号,姓名,性别,年龄,所在系);学生(学号,姓名,性别,年龄,所在系);课程(课程号,课程名,先行课

28、);课程(课程号,课程名,先行课);选课(学号,课程号,成绩)选课(学号,课程号,成绩).【例【例3-6】求选修了课程号为】求选修了课程号为“C2”课程的学生学号。课程的学生学号。【例【例3-7】求选修了课程号为】求选修了课程号为“C2”课的学生学号和姓名。课的学生学号和姓名。【例【例3-8】求没有选修课程号为】求没有选修课程号为“C2”课程的学生学号。课程的学生学号。3.2.3 3.2.3 用关系代数表示检索的例子用关系代数表示检索的例子用关系代数表示检索的例子用关系代数表示检索的例子学号(学号(课程号课程号=C2(选课)(选课)学号,姓名(学号,姓名(课程号课程号=C2(选课学生)(选课学

29、生)学号(学生)学号(学生)-学号(学号(课程号课程号=C2(选课)(选课)本题不能写为:本题不能写为:学号(学号(课程号课程号 C2(选课)(选课)本讲稿第三十页,共三十四页【例【例3-93-9】求既选修】求既选修“C2C2”课程,又选修课程,又选修“C3C3”课程的学生学号。课程的学生学号。【例【例3-103-10】求选修课程号为】求选修课程号为“C2C2”或或“C3C3”课程的学生学号。课程的学生学号。【例【例3-11】求选修了全部课程的学生学号。】求选修了全部课程的学生学号。【例例3-12】一一个个学学号号为为“98002”的的学学生生所所学学过过的的所所有有课课程程可可能能也也被被其

30、其他他学生选修,求这些学生的学号和姓名。学生选修,求这些学生的学号和姓名。学号(学号(课程号课程号=C2 选课)选课)学号(学号(课程号课程号=C3(选课)(选课)该题不能写为:该题不能写为:学号(学号(课程号课程号=C2 课程号课程号=C3(选课)(选课)学号(学号(课程号课程号=C2(选课)(选课)学号(学号(课程号课程号=C3(选课)(选课)或或 学号(学号(课程号课程号=C2 课程号课程号=C3(选课)(选课)(学号,课程号学号,课程号 选课选课)课程)课程)学号,姓名(学号,姓名(学号,课程号(选课)学号,课程号(选课)课程号(课程号(学号学号=98002(选课)(学生)(选课)(学

31、生)本讲稿第三十一页,共三十四页 E-RE-R图图 1 1、设有商店和顾客两个实体型,、设有商店和顾客两个实体型,“商店商店”有属性商店编号、商店名、地址、电话有属性商店编号、商店名、地址、电话;“顾客顾客”有属性顾客编号、姓名、地址、年龄、性别。有属性顾客编号、姓名、地址、年龄、性别。假设假设:一个商店有多个顾客购物,一个商店有多个顾客购物,一个顾客可以到多个商店购物,一个顾客可以到多个商店购物,顾客每次去商店购物有一个消费金额和日期,而且规定每个顾客每次去商店购物有一个消费金额和日期,而且规定每个顾客在每个商店里每天最多消费一次。顾客在每个商店里每天最多消费一次。试画出试画出E-RE-R图

32、,并注明属性和联系类型。图,并注明属性和联系类型。习题习题本讲稿第三十二页,共三十四页2 2、某医院病房计算机管理中需要如下信息:、某医院病房计算机管理中需要如下信息:科室:科名,科地址,科电话科室:科名,科地址,科电话病房:病房号,床位数病房:病房号,床位数医生:姓名,职称,年龄,工作证号医生:姓名,职称,年龄,工作证号病人:病历号,姓名,性别,病人:病历号,姓名,性别,其其中中,一一个个科科室室有有多多个个病病房房、多多个个医医生生,一一个个病病房房只只能能属属于于一一个个科科室室,一一个个医医生生只只属属于于一一个个科科室室,但但可可负负责责多多个个病病人人的的诊诊治治,一个病人的主管医生只有一个,一个病房可以住多个病人。一个病人的主管医生只有一个,一个病房可以住多个病人。试设计该计算机管理系统的试设计该计算机管理系统的E-RE-R图。图。本讲稿第三十三页,共三十四页二二.选择题选择题 3.设设关关系系R(A,B,C)和和S(B,C,D),下下列列各各关关系系代代数数表表达达式式不不成成立立的是(的是()B)C)A)本讲稿第三十四页,共三十四页

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

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁