数据库系统概论(第四版) chp

上传人:da****ge 文档编号:118797071 上传时间:2022-07-12 格式:PPT 页数:116 大小:1.44MB
收藏 版权申诉 举报 下载
数据库系统概论(第四版) chp_第1页
第1页 / 共116页
数据库系统概论(第四版) chp_第2页
第2页 / 共116页
数据库系统概论(第四版) chp_第3页
第3页 / 共116页
资源描述:

《数据库系统概论(第四版) chp》由会员分享,可在线阅读,更多相关《数据库系统概论(第四版) chp(116页珍藏版)》请在装配图网上搜索。

1、An Introduction to Database System中国人民大学信息学院中国人民大学信息学院 数据库系统概论数据库系统概论An Introduction to Database System第二章第二章 关系数据库关系数据库(续续)An Introduction to Database System第二章第二章 关系数据库关系数据库2.1 关系模型概述关系模型概述2.2 关系数据结构关系数据结构2.3 关系的完整性关系的完整性2.4 关系代数关系代数2.5 关系演算关系演算2.6 小结小结An Introduction to Database System2.4 关系代数关系代

2、数v 概述概述v 传统的集合运算传统的集合运算v 专门的关系运算专门的关系运算An Introduction to Database System集合运算符-并差交笛卡尔积比较运算符 大于大于等于小于小于等于等于不等于运算符含义运算符含义表表2.4 关系代数运算符关系代数运算符 概概 述述An Introduction to Database System专门的关系运算符 选择投影连接除逻辑运算符 非与或运算符含义运算符含义表表2.4 关系代数运算符(续)关系代数运算符(续)概概 述述(续续)An Introduction to Database System2.4 关系代数关系代数v 概述概

3、述v 传统的集合运算传统的集合运算v 专门的关系运算专门的关系运算An Introduction to Database System1.并(并(Union)vR和S 具有相同的目n(即两个关系都有n个属性)相应的属性取自同一个域vRS 仍为n目关系,由属于R或属于S的元组组成 RS=t|t Rt S An Introduction to Database System并并(续续)An Introduction to Database System2.差(差(Difference)vR和S 具有相同的目n 相应的属性取自同一个域vR-S 仍为n目关系,由属于R而不属于S的所有元组组成 R-S=

4、t|tRtS An Introduction to Database System差差(续续)An Introduction to Database System3.交(交(Intersection)vR和S 具有相同的目n 相应的属性取自同一个域vRS 仍为n目关系,由既属于R又属于S的元组组成 RS=t|t Rt S RS=R(R-S)An Introduction to Database System交交(续续)An Introduction to Database System4.笛卡尔积(笛卡尔积(Cartesian Product)v严格地讲应该是广义的笛卡尔积(Extended

5、Cartesian Product)vR:n目关系,k1个元组vS:m目关系,k2个元组vRS 列:(n+m)列元组的集合 元组的前n列是关系R的一个元组 后m列是关系S的一个元组 行:k1k2个元组 RS=tr ts|tr R tsS An Introduction to Database System交交(续续)An Introduction to Database System2.4 关系代数关系代数v 概述概述v 传统的集合运算传统的集合运算v 专门的关系运算专门的关系运算An Introduction to Database System2.4.2 专门的关系运算专门的关系运算先引入

6、几个记号(1)R,tR,tAi 设关系模式为R(A1,A2,An)它的一个关系设为R tR表示t是R的一个元组 tAi则表示元组t中相应于属性Ai的一个分量 An Introduction to Database System专门的关系运算专门的关系运算(续续)(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中去掉Ai1,Ai2,Aik后剩余的属性组。An Introduction to Database Syste

7、m专门的关系运算专门的关系运算(续续)(3)tr ts R为n目关系,S为m目关系。tr R,tsS,tr ts称为元组的连接。tr ts是一个n+m列的元组,前n个分量为R中的一个n元组,后m个分量为S中的一个m元组。An Introduction to Database System专门的关系运算专门的关系运算(续续)(4)象集Zx 给定一个关系R(X,Z),X和Z为属性组。当tX=x时,x在R中的象集象集(Images Set)为:Zx=tZ|t R,tX=x 它表示R中属性组X上值为x的诸元组在Z上分量的集合 An Introduction to Database System专门的关

8、系运算专门的关系运算(续续)vx1在R中的象集 Zx1=Z1,Z2,Z3,vx2在R中的象集 Zx2=Z2,Z3,vx3在R中的象集 Zx3=Z1,Z3象集举例 An Introduction to Database System专门的关系运算专门的关系运算(续续)v 选择v 投影v 连接v 除An Introduction to Database System专门的关系运算专门的关系运算(续续)(a)Student4)学生-课程数据库:学生关系Student、课程关系Course和选修关系SC学号学号Sno姓名姓名Sname性别性别Ssex年龄年龄Sage所在系所在系Sdept2002151

9、21李勇李勇男男20CS200215122刘晨刘晨女女19IS200215123王敏王敏女女18MA200215125张立张立男男19ISAn Introduction to Database System专门的关系运算专门的关系运算(续续)课程号课程号Cno课程名课程名Cname先行课先行课Cpno学分学分Ccredit1数据库数据库542数学数学23信息系统信息系统144操作系统操作系统635数据结构数据结构746数据处理数据处理27PASCAL语言语言64Course(b)An Introduction to Database System专门的关系运算专门的关系运算(续续)(c)SC学

10、号学号Sno课程号课程号Cno成绩成绩Grade200215121192200215121285200215121388200215122290200215122380An Introduction to Database System1.选择(选择(Selection)v1)选择又称为限制(Restriction)v2)选择运算符的含义 在关系R中选择满足给定条件的诸元组 F(R)=t|tRF(t)=真 F:选择条件,是一个逻辑表达式,基本形式为:X1Y1An Introduction to Database System选择(续)选择(续)v3)选择运算是从关系R中选取使逻辑表达式F为真的

11、元组,是从行的角度进行的运算An Introduction to Database System选择(续)选择(续)例1 查询信息系(IS系)全体学生 Sdept=IS(Student)或 5=IS(Student)结果:SnoSnameSsexSageSdept200215122刘晨女19IS200215125张立男19ISAn Introduction to Database System选择(续)选择(续)例2 查询年龄小于20岁的学生 Sage 20(Student)或 4 20(Student)结果:SnoSnameSsexSageSdept200215122刘晨女19IS20021

12、5123王敏女18MA200215125张立男19ISAn Introduction to Database System2.投影(投影(Projection)v1)投影运算符的含义 从R中选择出若干属性列组成新的关系 A(R)=tA|t R A:R中的属性列 An Introduction to Database System2.投影(投影(Projection)v2)投影操作主要是从列的角度进行运算 但投影之后不仅取消了原关系中的某些列,而且还可能取消某些元组(避免重复行)An Introduction to Database System投影(续)投影(续)v例3 查询学生的姓名和所在系

13、即求Student关系上学生姓名和所在系两个属性上的投影 Sname,Sdept(Student)或 2,5(Student)结果:An Introduction to Database System投影(续)投影(续)SnameSdept李勇CS刘晨IS王敏MA张立ISAn Introduction to Database System投影(续)投影(续)例4 查询学生关系Student中都有哪些系 Sdept(Student)结果:SdeptCSISMAAn Introduction to Database System3.连接(连接(Join)v 1)连接也称为连接v 2)连接运算的含义

14、从两个关系的笛卡尔积中选取属性间满足一定条件的元组 R S=|tr Rts StrAtsB A和B:分别为R和S上度数相等且可比的属性组:比较运算符 连接运算从R和S的广义笛卡尔积RS中选取(R关系)在A属性组上的值与(S关系)在B属性组上值满足比较关系的元组 ABtr tsAn Introduction to Database System 连接连接(续续)v3)两类常用连接运算 等值连接(equijoin)什么是等值连接为“”的连接运算称为等值连接 等值连接的含义从关系R与S的广义笛卡尔积中选取A、B属性值相等的那些元组,即等值连接为:R S=|tr Rts StrA=tsB A=Btr

15、tsAn Introduction to Database System 连接连接(续续)自然连接(Natural join)自然连接是一种特殊的等值连接两个关系中进行比较的分量必须是相同的属性组在结果中把重复的属性列去掉 自然连接的含义R和S具有相同的属性组B R S=|tr Rts StrB=tsB tr tsAn Introduction to Database System连接连接(续续)v4)一般的连接操作是从行的角度进行运算。自然连接还需要取消重复列,所以是同时从行和列的角度进行运算。ABRSAn Introduction to Database System连接连接(续续)v 例

16、5关系R和关系S 如下所示:An Introduction to Database System连接连接(续续)一般连接 R S的结果如下:CEAn Introduction to Database System连接连接(续续)等值连接 R S 的结果如下:R.B=S.B An Introduction to Database System连接连接(续续)自然连接 R S的结果如下:An Introduction to Database System连接连接(续续)v外连接 如果把舍弃的元组也保存在结果关系中,而在其他属性上填空值(Null),这种连接就叫做外连接(OUTER JOIN)。v左

17、外连接 如果只把左边关系R中要舍弃的元组保留就叫做左外连接(LEFT OUTER JOIN或LEFT JOIN)v右外连接 如果只把右边关系S中要舍弃的元组保留就叫做右外连接(RIGHT OUTER JOIN或RIGHT JOIN)。An Introduction to Database System连接连接(续续)下图是例5中关系R和关系S的外连接 An Introduction to Database System连接连接(续续)图(b)是例5中关系R和关系S的左外连接,图(c)是右外连接 An Introduction to Database System4.除(除(Division)给

18、定关系R(X,Y)和S(Y,Z),其中X,Y,Z为属性组。R中的Y与S中的Y可以有不同的属性名,但必须出自相同的域集。R与S的除运算得到一个新的关系P(X)P(X),P是R R中满足下列条件的元组在中满足下列条件的元组在 X 属性列上的投影:元组在X上分量值x的象集Yx包含S在Y上投影的集合,记作:RS=tr X|tr RY(S)Yx Yx:x在R中的象集,x=trXAn Introduction to Database System除除(续续)v2)除操作是同时从行和列角度进行运算 RSAn Introduction to Database System除除(续续)例6设关系R、S分别为下图

19、的(a)和(b),RS的结果为图(c)An Introduction to Database System分析分析v 在关系R中,A可以取四个值a1,a2,a3,a4 a1的象集为(b1,c2),(b2,c3),(b2,c1)a2的象集为(b3,c7),(b2,c3)a3的象集为(b4,c6)a4的象集为(b6,c6)v S在(B,C)上的投影为 (b1,c2),(b2,c1),(b2,c3)v 只有a1的象集包含了S在(B,C)属性组上的投影 所以 RS=a1 An Introduction to Database System5综合举例综合举例 以学生以学生-课程数据库为例课程数据库为例(

20、P56)例7 查询至少选修1号课程和3号课程的学生号码 首先建立一个临时关系K:然后求:Sno,Cno(SC)K Cno 1 3An Introduction to Database System综合举例综合举例(续续)v 例例 7续续 Sno,Cno(SC)200215121象集象集1,2,3200215122象集象集2,3 K=1,3 于是:Sno,Cno(SC)K=200215121SnoCno20021512112002151212200215121320021512222002151223An Introduction to Database System综合举例综合举例(续续)例

21、8 查询选修了2号课程的学生的学号。Sno(Cno=2(SC)200215121,200215122 An Introduction to Database System综合举例综合举例(续续)例9 查询至少选修了一门其直接先行课为5号课程的 的学生姓名 Sname(Cpno=5(Course SC Student)或 Sname(Cpno=5(Course)SC Sno,Sname(Student)或 Sname(Sno(Cpno=5(Course)SC)Sno,Sname(Student)An Introduction to Database System综合举例综合举例(续续)例10 查

22、询选修了全部课程的学生号码和姓名。Sno,Cno(SC)Cno(Course)Sno,Sname(Student)An Introduction to Database System小结小结 v 关系代数运算关系代数运算并、差、交、笛卡尔积、投影、选择、连接、除基本运算并、差、笛卡尔积、投影、选择交、连接、除可以用5种基本运算来表达 引进它们并不增加语言的能力,但可以简化表达An Introduction to Database System小结小结(续续)v关系代数表达式 关系代数运算经有限次复合后形成的式子v典型关系代数语言 ISBL(Information System Base Lan

23、guage)由IBM United Kingdom研究中心研制用于PRTV(Peterlee Relational Test Vehicle)实验系统 An Introduction to Database System第二章第二章 关系数据库关系数据库2.1 关系模型概述关系模型概述2.2 关系数据结构关系数据结构2.3 关系的完整性关系的完整性2.4 关系代数关系代数2.5 关系演算关系演算2.6 小结小结An Introduction to Database System2.5 关系演算关系演算 v 关系演算以数理逻辑中的谓词演算为基础v 按谓词变元不同 进行分类1.元组关系演算:以元组

24、变量作为谓词变元的基本对象 元组关系演算语言ALPHA2.域关系演算:以域变量作为谓词变元的基本对象 域关系演算语言QBEAn Introduction to Database System2.5.1 元组关系演算语言元组关系演算语言ALPHAv 由E.F.Codd提出INGRES所用的QUEL语言是参照ALPHA语言研制的v 语句检索语句nGET更新语句nPUT,HOLD,UPDATE,DELETE,DROPAn Introduction to Database System一、检索操作一、检索操作 v 语句格式:GET工作空间名 (定额)(表达式1):操作条件 DOWN/UP 表达式2 定

25、额:规定检索的元组个数 格式:数字表达式1:指定语句的操作对象 格式:关系名|关系名.属性名|元组变量.属性名|集函数,操作条件:将操作结果限定在满足条件的元组中 格式:逻辑表达式表达式2:指定排序方式 格式:关系名.属性名|元组变量.属性名,An Introduction to Database System一、检索操作一、检索操作 (1)简单检索 GET工作空间名(表达式1)例1 查询所有被选修的课程号码。GET W (SC.Cno)例2 查询所有学生的数据。GET W (Student)An Introduction to Database System(2)限定的检索)限定的检索格式

26、GET工作空间名(表达式1):操作条件例3查询信息系(IS)中年龄小于20岁的学生的学号和年龄 GET W (Student.Sno,Student.Sage):Student.Sdept=IS Student.Sage19An Introduction to Database System条件查询(与条件)条件查询(与条件)例4 求计算机科学系年龄大于19岁的学生的学号。方法(1):把两个条件写在同一行上StudentSnoSnameSsexSageSdeptP.20021512119CSAn Introduction to Database System条件查询(与条件)条件查询(与条件)

27、方法(2):把两个条件写在不同行上,但使用相同的示例元 素值StudentSnoSnameSsexSageSdeptP.200215121P.20021512119CSAn Introduction to Database System条件查询(与条件条件查询(与条件)例5 查询既选修了1号课程又选修了2号课程的学生的学号。ScSnoCnoGradeP.200215121P.20021512112An Introduction to Database System条件查询(或条件)条件查询(或条件)例6查询计算机科学系或者年龄大于19岁的学生的 学号。StudentSnoSnameSsexSa

28、geSdeptP.200215121P.20021512219CSAn Introduction to Database System条件查询(多表连接)条件查询(多表连接)例7 查询选修1号课程的学生姓名。StudentSnoSnameSsexSageSdept200215121P.李勇注意:示例元素Sno是连接属性,其值在两个表中要相同。ScSnoCnoGrade2002151211An Introduction to Database System条件查询(非条件)条件查询(非条件)例8 查询未选修1号课程的学生姓名 StudentSnoSnameSsexSageSdept2002151

29、21P.李勇思路:显示学号为200215121的学生名字,而该学生选修1号课程的情况为假ScSnoCnoGrade2002151211An Introduction to Database System条件查询(续)条件查询(续)例9 查询有两个人以上选修的课程号。思路:查询这样的课程1,它不仅被200215121选修 而且也被另一个学生(200215121)选修了ScSnoCnoGrade200215121 200215121P.11An Introduction to Database System3.聚集函数聚集函数常用聚集函数:QBE中的聚集函数 函数名功能CNT对元组计数SUM求总和

30、AVG求平均值MAX求最大值MIN求最小值An Introduction to Database System聚集函数(续)聚集函数(续)例10 查询信息系学生的平均年龄。StudentSnoSnameSsexSageSdeptP.AVG.ALLISAn Introduction to Database System4.对查询结果排序对查询结果排序v升序排序:对查询结果按某个属性值的升序排序,只需在相应列中填入“AO.”v降序排序:按降序排序则填“DO.”v多列排序:如果按多列排序,用“AO(i).”或“DO(i).”表示,其中i为排序的优先级,i值越小,优先级越高 An Introducti

31、on to Database System对查询结果排序(续)对查询结果排序(续)例11 查全体男生的姓名,要求查询结果按所在系升序排序,对相同系的学生按年龄降序排序。StudentSnoSnameSsexSageSdeptP.李勇男DO(2).AO(1).An Introduction to Database System二、更新操作二、更新操作1.修改操作例12 把200215121学生的年龄改为18岁。方法(1):将操作符“U.”放在值上StudentSnoSnameSsexSageSdept200215121U.18An Introduction to Database System修

32、改操作修改操作(续续)方法(2):将操作符“U.”放在关系上码200215121标明要修改的元组。“U.”标明所在的行是修改后的新值。由于主码是不能修改的,所以系统不会混淆要修改的属性。StudentSnoSnameSsexSageSdeptU.20021512118An Introduction to Database System修改操作修改操作(续续)例13 把200215121学生的年龄增加1岁 操作涉及表达式,必须将操作符“U.”放在关系上StudentSnoSnameSsexSageSdeptU.2002151212002151211717+1An Introduction to

33、Database System修改操作修改操作(续续)例14 将计算机系所有学生的年龄都增加1岁StudentSnoSnameSsexSageSdeptU.2002151222002151221818+1CSAn Introduction to Database System2.插入操作插入操作例15 把信息系女生200215701,姓名张三,年龄 17岁存入数据库中。StudentSnoSnameSsexSageSdeptI.200215701张三女17ISAn Introduction to Database System3.删除操作删除操作例17 删除学生200215089 为保证参照完

34、整性,删除200215089学生前,先删除200215089学生选修的全部课程StudentSnoSnameSsexSageSdeptD.200215089ScSnoCnoGradeD.200215089An Introduction to Database System第二章第二章 关系数据库关系数据库2.1 关系模型概述关系模型概述2.2 关系数据结构关系数据结构2.3 关系的完整性关系的完整性2.4 关系代数关系代数2.5 关系演算关系演算2.6 小结小结An Introduction to Database System2.6 小结小结v关系数据库系统是目前使用最广泛的数据库系统 v关

35、系数据库系统与非关系数据库系统的区别:关系系统只有“表”这一种数据结构;非关系数据库系统还有其他数据结构,以及对这些数据结构的操作 An Introduction to Database System小结(续)小结(续)v关系数据结构 关系 域 笛卡尔积 关系 关系,属性,元组 候选码,主码,主属性 基本关系的性质 关系模式 关系数据库An Introduction to Database System小结(续)小结(续)v关系操作 查询选择、投影、连接、除、并、交、差 数据更新插入、删除、修改An Introduction to Database System小结(续)小结(续)v关系的完整性约束 实体完整性 参照完整性外码 用户定义的完整性An Introduction to Database System小结(续)小结(续)v关系数据语言 关系代数语言 关系演算语言元组关系演算语言 ALPHA域关系演算语言 QBEAn Introduction to Database System 下课了。下课了。休息一会儿。休息一会儿。

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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