数据库系统概论幻灯片.ppt

上传人:石*** 文档编号:45464284 上传时间:2022-09-24 格式:PPT 页数:114 大小:6.44MB
返回 下载 相关 举报
数据库系统概论幻灯片.ppt_第1页
第1页 / 共114页
数据库系统概论幻灯片.ppt_第2页
第2页 / 共114页
点击查看更多>>
资源描述

《数据库系统概论幻灯片.ppt》由会员分享,可在线阅读,更多相关《数据库系统概论幻灯片.ppt(114页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、数据数据库系系统概概论第1页,共114页,编辑于2022年,星期六第二章第二章 关系数据库关系数据库2.4 关系代数关系代数第2页,共114页,编辑于2022年,星期六内容回顾内容回顾v关系、关系模式和关系数据库关系、关系模式和关系数据库v数据的完整性数据的完整性第3页,共114页,编辑于2022年,星期六1.关系代数关系代数一种抽象的查询语言一种抽象的查询语言用对关系的运算来表达查询用对关系的运算来表达查询2关系代数运算的三个要素关系代数运算的三个要素运算对象:关系运算对象:关系运算结果:关系运算结果:关系运算符:四类运算符:四类第4页,共114页,编辑于2022年,星期六表示记号表示记号(

2、1)R,t R,tAi设关系模式为设关系模式为R(A1,A2,An)它的一个关系设为它的一个关系设为R。t R表示表示t是是R的一个元组的一个元组 tAi则表示元组则表示元组t中相应于属性中相应于属性Ai的一个分量值的一个分量值第5页,共114页,编辑于2022年,星期六表示记号表示记号(2)A,tA,A若若A=Ai1,Ai2,Aik,其中,其中Ai1,Ai2,Aik是是A1,A2,An中的一部分,则中的一部分,则A称称为属性列或域列。为属性列或域列。tA=(tAi1,tAi2,tAik)表示元组表示元组t在在属性列属性列A上诸分量的集合。上诸分量的集合。A则表示则表示A1,A2,An中去掉中

3、去掉Ai1,Ai2,Aik后剩余的属性组。后剩余的属性组。第6页,共114页,编辑于2022年,星期六表示记号表示记号(3)trts R为为n目关系,目关系,S为为m目关系。目关系。tr R,ts S,trts称为元组的称为元组的连接连接。它是一个。它是一个n+m列列的元的元组,前组,前n个分量为个分量为R中的一个中的一个n元组,后元组,后m个个分量为分量为S中的一个中的一个m元组。元组。第7页,共114页,编辑于2022年,星期六表示记号表示记号4)象集)象集Zx给给定定一一个个关关系系R(X,Z),X和和Z为为属属性性组组。当当tX=x时时,x在在R中的中的象集象集(ImagesSet)为

4、:)为:Zx=tZ|t R,tX=x 它表示它表示R中属性组中属性组X上值为上值为x的诸元组在的诸元组在Z上分量的集合上分量的集合。例例:x1Z1x1Z2x2Z3x2Z2x3Z3x3Z1X1在在R上的象集上的象集ZX1=Z1,Z2X2在在R上的象集上的象集ZX2=Z2,Z3X3在在R上的象集上的象集ZX3=Z1,Z3 X Z第8页,共114页,编辑于2022年,星期六1.选择(选择(Selection)v1)选择又称为限制(选择又称为限制(Restriction)v2)选择运算符的含义选择运算符的含义在关系在关系R中选择满足给定条件的诸元组中选择满足给定条件的诸元组F(R)=t|t RF(t)

5、=真真F:选择条件,是一个逻辑表达式,基本形式为:选择条件,是一个逻辑表达式,基本形式为:X1Y1:比较运算符(,比较运算符(,或,或)X1,Y1等等:属属性性名名、常常量量、简简单单函函数数;属属性性名名也也可可以以用用它它的的序序号号来来代替;代替;在基本选择上可以进一步进行逻辑运算,即进行求在基本选择上可以进一步进行逻辑运算,即进行求()()()()()第9页,共114页,编辑于2022年,星期六选择(续)选择(续)v3)选择运算是从选择运算是从行行的角度进行的运算的角度进行的运算v4)举例举例设设有有一一个个学学生生-课课程程数数据据库库,包包括括学学生生关关系系Student、课程关

6、系、课程关系Course和选修关系和选修关系SC。第10页,共114页,编辑于2022年,星期六选择(续)选择(续)学学号号Sno姓姓名名Sname性性别别Ssex年年龄龄Sage所所在在系系Sdept95001李勇李勇男男20CS95002刘晨刘晨女女19IS95003王敏王敏女女18MA95004张立张立男男19IS(a)Student例1例2例4例3例9第11页,共114页,编辑于2022年,星期六选择(续)选择(续)(b)Course课程号课程号课程名课程名先行课先行课学分学分CnoCnameCpnoCcredit1数据库数据库542数学数学23信息系统信息系统144操作系统操作系统6

7、35数据结构数据结构746数据处理数据处理27PASCAL语言语言64例9学学号号课课程程号号成成绩绩SnoCnoGrade9500119295001285950013889500229095002380(c)SC例7例8例10第12页,共114页,编辑于2022年,星期六选择(续)选择(续)例例1查询信息系(查询信息系(IS系)全体学生系)全体学生Sdept=IS(Student)或或5=IS(Student)结果:结果:SnoSnameSsexSageSdept95002刘晨刘晨女女19IS95004张立张立男男19IS第13页,共114页,编辑于2022年,星期六选择(续)选择(续)例例

8、2查询年龄小于查询年龄小于20岁的学生岁的学生Sage20(Student)或或420(Student)结果:结果:SnoSnameSsexSageSdept95002刘晨刘晨女女19IS95003王敏王敏女女18MA95004张立张立男男19IS第14页,共114页,编辑于2022年,星期六例例3查询计算机系年龄小于查询计算机系年龄小于20岁的学生岁的学生Sdept=ISSageD),等值连接(等值连接(C=D),等值连接等值连接(R.B=S.B),自然连接自然连接ABCBDa1b12b15a1b24b26a2b36b37a2b48b38第34页,共114页,编辑于2022年,星期六大于连接

9、(大于连接(CD)等值连接(等值连接(C=D)(c)(d)AR.BCS.BDAR.BCS.BDa2b36b15a2b36b26a2b48b15a2b48b38a2b48b26a2b48b37第35页,共114页,编辑于2022年,星期六等值连接等值连接(R.B=S.B)自然连接自然连接 (e)(f)AR.BCS.BDABCDa1b12b15a1b125a1b24b26a1b246a2b36b37a2b367a2b36b38a2b368第36页,共114页,编辑于2022年,星期六v1.1.等值连接等值连接中不要求相等属性值的属性名相同,而中不要求相等属性值的属性名相同,而自然连接自然连接要求相

10、等属性值的属性名必须相同,即两关系只有在同名属要求相等属性值的属性名必须相同,即两关系只有在同名属性才能进行自然连接。性才能进行自然连接。v2.2.等值连接等值连接不将重复属性去掉,而不将重复属性去掉,而自然连接自然连接去掉重复属性。去掉重复属性。等值连接与自然连接的区别:等值连接与自然连接的区别:第37页,共114页,编辑于2022年,星期六4.除(除(Division)给定关系给定关系R(X,Y)和和S(Y,Z),其中,其中X,Y,Z为属性为属性组。组。R中的中的Y与与S中的中的Y可以有不同的属性名,但必须出自相可以有不同的属性名,但必须出自相同的域集。同的域集。R与与S的除运算得到一个新

11、的关系的除运算得到一个新的关系P(X),P是是R中中满足下列条件的元组在满足下列条件的元组在X属性列上的投影:属性列上的投影:元组在元组在X上分上分量值量值x的象集的象集Yx包含包含S在在Y上投影的集合上投影的集合。RS=trX|tr RY(S)Yx Yx:x在在R中的象集,中的象集,x=trX第38页,共114页,编辑于2022年,星期六除除(续续)v2)除操作是同时从行和列角度进行运算)除操作是同时从行和列角度进行运算v3)举例)举例例例6RS第39页,共114页,编辑于2022年,星期六除除(续续)ABCa1b1c2a2b3c7a3b4c6a1b2c3a4b6c6a2b2c3a1b2c1

12、BCDb1c2d1b2c1d1b2c3d2RSRSAa1第40页,共114页,编辑于2022年,星期六分析:分析:在关系在关系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 第41页,共114页,编辑于2022年,星期

13、六1)1)将被除关系的属性分为将被除关系的属性分为象集属性象集属性和和结果属性结果属性:与除关系相同:与除关系相同的属性属于象集属性,不同的属性属于结果属性。的属性属于象集属性,不同的属性属于结果属性。2)2)2)2)在除关系中,对与被除关系相同的属性(象集属性)进行在除关系中,对与被除关系相同的属性(象集属性)进行投影投影,得到除,得到除目标数据集目标数据集。3)3)3)3)将被除关系分组,原则是,将被除关系分组,原则是,结果属性值结果属性值一样的元组分为一一样的元组分为一组。组。4)4)4)4)逐一考察每个组,如果它的象集属性值中逐一考察每个组,如果它的象集属性值中包括包括除目标数据集,除

14、目标数据集,则对应的则对应的结果属性值结果属性值应属于该除法运算结果集。应属于该除法运算结果集。关系除法运算分下面关系除法运算分下面4步进行:步进行:第42页,共114页,编辑于2022年,星期六学号学号课号课号成绩成绩课号课号课名课名S1C1AC2计算机图形学计算机图形学S1C2B选修课选修课S1C3BS2C1A课号课号科名科名S2C3BC1数据结构数据结构S3C1BC3操作系统操作系统S3C3BS4C1AS4C2AS5C2BS5C3BS5C1A必修课必修课选课选课必修课必修课选课选课选修课选修课第43页,共114页,编辑于2022年,星期六选课选课选修课选修课学号学号S1S4S5成绩成绩B

15、AB选课选课必修课必修课学号学号成绩成绩S3B第44页,共114页,编辑于2022年,星期六例题讲解例题讲解 v关系关系R、S如下表所示,如下表所示,R(Al,A2(13(S)的结果为的结果为_。A.dB.c,dC.c,d,8D.(a,b),(b,a),(c,d),(d,f)A第45页,共114页,编辑于2022年,星期六例题讲解例题讲解 v设有如下关系:设有如下关系:关系代数表达式关系代数表达式RS的运算结果是的运算结果是_。B第46页,共114页,编辑于2022年,星期六5综合举例综合举例 以学生以学生-课程数据库为例课程数据库为例例例7查查询询至至少少选选修修1号号课课程程和和3号号课课

16、程程的的学学生生号号码码首先建立一个临时关系首先建立一个临时关系K:然后求:然后求:Sno.Cno(SC)KCno13第47页,共114页,编辑于2022年,星期六综合举例综合举例(续续)v例例7续续Sno.Cno(SC)95001象集象集1,2,395002象集象集2,3Cno(K)=1,3于是:于是:Sno.Cno(SC)K=95001SnoCno950011950012950013950022950023第48页,共114页,编辑于2022年,星期六综合举例综合举例(续续)例例8查询选修了查询选修了2号课程的学生的学号。号课程的学生的学号。Sno(Cno=2(SC)95001,95002

17、第49页,共114页,编辑于2022年,星期六 Sname(Cpno=5(Course SC Student)综合举例综合举例(续续)例例9查询至少选修了一门其直接先行课为查询至少选修了一门其直接先行课为5号课程的学生姓名。号课程的学生姓名。Sname(Cpno=5(Course)SC Sno,Sname(Student)Sname(Sno(Cpno=5(Course)SC)Sno,Sname(Student)第50页,共114页,编辑于2022年,星期六综合举例综合举例(续续)例例10查询选修了全部课程的学生号码和姓名。查询选修了全部课程的学生号码和姓名。Sno,Cno(SC)Cno(Cou

18、rse)Sno,Sname(Student)第51页,共114页,编辑于2022年,星期六学生选课库的关系模式为:学生选课库的关系模式为:学生(学号,姓名,性别,年龄,所在系);学生(学号,姓名,性别,年龄,所在系);课程(课程号,课程名,先行课);课程(课程号,课程名,先行课);选课(学号,课程号,成绩)选课(学号,课程号,成绩).【例【例1 1】求选修了课程号为】求选修了课程号为“C2C2”课程的学生学号。课程的学生学号。【例【例2 2】求选修了课程号为】求选修了课程号为“C2C2”课的学生学号和姓名。课的学生学号和姓名。【例【例3 3】求没有选修课程号为】求没有选修课程号为“C2C2”课

19、程的学生学号课程的学生学号。学号,姓名(学号,姓名(课程号课程号=C2(选课)选课)学生学生)关系代数的例子关系代数的例子 学号(学号(课程号课程号=C2(选课)(选课)学号(学生)学号(学生)-学号(学号(课程号课程号=C2(选课)(选课)本题不能写为:本题不能写为:学号(学号(课程号课程号 C2(选课)(选课)第52页,共114页,编辑于2022年,星期六关系代数的例子关系代数的例子【例【例4 4】求既选修】求既选修“C2C2”课程,又选修课程,又选修“C3C3”课程的学生学号。课程的学生学号。学号学号(课程号课程号=C2C2 选课选课)学号学号(课程号课程号=C3C3(选课选课)该题不能

20、写为:该题不能写为:学号学号(课程号课程号=C2 =C2 课程号课程号=C3=C3(选课)(选课)【例【例5 5】求选修课程号为】求选修课程号为“C2C2”或或“C3C3”课程的学生学号。课程的学生学号。学号学号(课程号课程号=C2C2(选课选课)学号学号(课程号课程号=C3C3(选课选课)或或 学号学号(课程号课程号=C2 =C2 课程号课程号=C3=C3(选课)(选课)第53页,共114页,编辑于2022年,星期六【例【例6】求选修了全部课程的学生学号。】求选修了全部课程的学生学号。学号学号,课程号课程号(选课)选课)课程课程【例例7】一一个个学学号号为为“98002”的的学学生生所所学学

21、过过的的所所有有课课程程可可能能也也被被其其他他学学生生选选修修,求求这这些些学学生生的的学学号号和姓名。和姓名。学号,姓名学号,姓名(学号,课程号学号,课程号(选课选课)课程号课程号(学号学号=98002(选课选课)(学生学生)第54页,共114页,编辑于2022年,星期六思考:思考:查询所有未开考的课程号查询所有未开考的课程号。“成绩成绩”表表“课程课程”表表“学生学生”表表课程号课程号(课程课程)-)-课程号课程号(成绩成绩)关系代数表达式关系代数表达式第55页,共114页,编辑于2022年,星期六5.查询所有有不及格成绩的课程名查询所有有不及格成绩的课程名。“成绩成绩”表表“课程课程”

22、表表“学生学生”表表课程名课程名(课程课程成绩成绩6060(成绩)(成绩))关系代数表达式关系代数表达式第56页,共114页,编辑于2022年,星期六第二章第二章 关系数据库关系数据库2.5关系演算关系演算第57页,共114页,编辑于2022年,星期六2.5 关系演算关系演算 v关系演算关系演算以数理以数理逻辑逻辑中的谓词演算为基础中的谓词演算为基础v种类:按谓词变元不同分类种类:按谓词变元不同分类1.元组关系演算:元组关系演算:以以元组变量元组变量作为谓词变元的基本对象作为谓词变元的基本对象元组关系演算语言元组关系演算语言ALPHA2.域关系演算:域关系演算:以以域变量域变量作为谓词变元的基

23、本对象作为谓词变元的基本对象域关系演算语言域关系演算语言QBE第58页,共114页,编辑于2022年,星期六2.5.1 2.5.1 元组关系演算语言元组关系演算语言ALPHAALPHAv由由E.F.Codd提出提出INGRES所用的所用的QUEL语言是参照语言是参照ALPHA语言研制的语言研制的v语句语句检索语句检索语句GET更新语句更新语句PUT,HOLD,UPDATE,DELETE,DROP第59页,共114页,编辑于2022年,星期六一、检索操作一、检索操作 v语句格式:语句格式:GET工作空间名工作空间名(表达式表达式):):操作条件操作条件表达式表达式1:指定语句的操作对象:指定语句

24、的操作对象格式:关系名格式:关系名|关系名关系名.属性名属性名操操作作条条件件:将将操操作作结结果果限限定定在在满满足足条条件件的的元元组组。它它是是一个逻辑表达式一个逻辑表达式第60页,共114页,编辑于2022年,星期六(1)简单检索)简单检索GET工作空间名工作空间名(表达式表达式1)例例1查询所有被选修的课程号码。查询所有被选修的课程号码。GETW(SC.Cno)例例2查询所有学生的数据。查询所有学生的数据。GETW(Student)第61页,共114页,编辑于2022年,星期六(2)限定的检索)限定的检索格式格式GET工作空间名工作空间名(表达式表达式1):):操作条件操作条件例例3

25、查查询询信信息息系系(IS)中中年年龄龄小小于于20岁岁的的学学生生的学号和年龄。的学号和年龄。GET W (Student.Sno,Student.Sage):Student.Sdept=ISStudent.Sage19第96页,共114页,编辑于2022年,星期六条件查询(与条件)条件查询(与条件)例例4求计算机科学系年龄大于求计算机科学系年龄大于19岁的学生的学号。岁的学生的学号。方法(方法(1):把两个条件写在同一行上):把两个条件写在同一行上StudentSnoSnameSsexSageSdeptP.9500119CS第97页,共114页,编辑于2022年,星期六条件查询(续)条件查

26、询(续)方方法法(2):把把两两个个条条件件写写在在不不同同行行上上,但但使使用用相同的示例元素值相同的示例元素值StudentSnoSnameSsexSageSdeptP.95001P.9500119CS第98页,共114页,编辑于2022年,星期六条件查询(续)条件查询(续)例例5查查询询既既选选修修了了1号号课课程程又又选选修修了了2号号课课程程的学生的学号。的学生的学号。SCSnoCnoGradeP.95001P.9500112第99页,共114页,编辑于2022年,星期六条件查询(续)条件查询(续)例例6查查询询计计算算机机科科学学系系或或者者年年龄龄大大于于19岁岁的的学生的学号。

27、学生的学号。StudentSnoSnameSsexSageSdeptP.95001P.9500219CS第100页,共114页,编辑于2022年,星期六 多表连接多表连接例例7查询选修查询选修1号课程的学生姓名。号课程的学生姓名。注意:示例元素注意:示例元素Sno是连接属性,其值在两个表中要是连接属性,其值在两个表中要相同相同。SCSnoCnoGrade950011StudentSnoSnameSsexSageSdept95001P.李勇李勇第101页,共114页,编辑于2022年,星期六条件查询(非条件)条件查询(非条件)例例8查询未选修查询未选修1号课程的学生姓名号课程的学生姓名思路:显示

28、学号为思路:显示学号为95001的学生名字,而该学生选修的学生名字,而该学生选修1号课程的情况为假号课程的情况为假SCSnoCnoGrade950011 StudentSnoSnameSsexSageSdept95001P.李勇李勇第102页,共114页,编辑于2022年,星期六条件查询(续)条件查询(续)例例9查询有两个人以上选修的课程号查询有两个人以上选修的课程号思路:查询这样的课程思路:查询这样的课程1,它不仅被,它不仅被95001选修选修而且也被另一个学生(而且也被另一个学生(95001)选修了)选修了SCSnoCnoGrade95001.95001P.11第103页,共114页,编辑

29、于2022年,星期六3.集函数集函数常用集函数:常用集函数:函函数数名名功功能能CNT对元组计数对元组计数SUM求求总总和和AVG求平均值求平均值MAX求最大值求最大值MIN求最小值求最小值第104页,共114页,编辑于2022年,星期六集函数(续)集函数(续)例例10查询信息系学生的平均年龄。查询信息系学生的平均年龄。StudentSnoSnameSsexSageSdeptP.AVG.ALL.IS第105页,共114页,编辑于2022年,星期六4.对查询结果排序对查询结果排序(续)(续)例例11查查全全体体男男生生的的姓姓名名,要要求求查查询询结结果果按按所所在在系升序排序,对相同系的学生按

30、年龄降序排序。系升序排序,对相同系的学生按年龄降序排序。StudentSnoSnameSsexSageSdeptP.李勇李勇男男DO(2).AO(1).第106页,共114页,编辑于2022年,星期六二、修改操作二、修改操作例例12把把95001学生的年龄改为学生的年龄改为18岁。岁。方法方法(1):将操作符:将操作符“U.”放在值上放在值上StudentSnoSnameSsexSageSdept95001U.18第107页,共114页,编辑于2022年,星期六修改操作修改操作(续续)方法方法(2):将操作符将操作符“U.”放在关系上放在关系上码码95001标明要修改的元组。标明要修改的元组。

31、“U.”标明所在的行是标明所在的行是修改后的新值。修改后的新值。由于主码是不能修改的,由于主码是不能修改的,所以系统不会混淆要修改所以系统不会混淆要修改的属性的属性。StudentSnoSnameSsexSageSdeptU.9500118第108页,共114页,编辑于2022年,星期六修改操作修改操作(续续)例例13将计算机系所有学生的年龄都改为将计算机系所有学生的年龄都改为18岁岁StudentSnoSnameSsexSageSdept95008U.18CS第109页,共114页,编辑于2022年,星期六修改操作修改操作(续续)例例14把把95001学生的年龄增加学生的年龄增加1岁岁分两行

32、分别表示改前和改后的示例元素分两行分别表示改前和改后的示例元素必须将操作符必须将操作符“U.”放在关系上放在关系上StudentSnoSnameSsexSageSdeptU95001950011717+1第110页,共114页,编辑于2022年,星期六修改操作修改操作(续续)例例15将计算机系所有学生的年龄都增加将计算机系所有学生的年龄都增加1岁岁StudentSnoSnameSsexSageSdeptU95008950081818+1CS第111页,共114页,编辑于2022年,星期六2.插入操作插入操作例例16把把信信息息系系女女生生95701,姓姓名名张张三三,年年龄龄17岁岁存入数据库中。存入数据库中。StudentSnoSnameSsexSageSdeptI.95701张三张三女女17IS第112页,共114页,编辑于2022年,星期六3.删除操作删除操作例例17删除学生删除学生95089 为保证参照完整性,删除为保证参照完整性,删除95089学生前,先学生前,先删除删除95089学生选修的全部课程学生选修的全部课程StudentSnoSnameSsexSageSdeptD.95089SCSnoCnoGradeD.95089第113页,共114页,编辑于2022年,星期六 下课了。下课了。休息一会儿。休息一会儿。第114页,共114页,编辑于2022年,星期六

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

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

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

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com