版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第2章章 关系数据库关系数据库2.1 2.1 关系模型及其定义关系模型及其定义2.2 2.2 关系的关系的3 3类完好性约束类完好性约束2.3 2.3 关系代数关系代数22.1.1 关系中的根本术语关系中的根本术语 关系:简单了解一个关系就是一张二维表关系:简单了解一个关系就是一张二维表, ,包含假设干个包含假设干个元组。元组。 元组:表中的一行即为一个元组。元组:表中的一行即为一个元组。 属性:表中的列称为属性。有时也称为字段属性:表中的列称为属性。有时也称为字段 域:属性的取值范围。域:属性的取值范围。 关系方式:对关系的描画。关系方式:对关系的描画。 例如:例如: R(sno, sna
2、me, sex, birthday, class) R(sno, sname, sex, birthday, class)32.1.1 关系中的根本术语关系中的根本术语 候选键或候选关键字,或称候选码候选键或候选关键字,或称候选码 是属性或属性组合,其值可以独一的标识一个元组。是属性或属性组合,其值可以独一的标识一个元组。 主键或主关键字主键或主关键字 假设有多个候选键,选择其中一个作为主键。假设有多个候选键,选择其中一个作为主键。 主属性主属性 包含在候选键中的各个属性。包含在候选键中的各个属性。 全码全码 一切属性都是这个关系方式的候选码。一切属性都是这个关系方式的候选码。 外键或外关键字
3、外键或外关键字 假设关系假设关系R2R2的一个或一组属性的一个或一组属性X X是另一关系是另一关系R1R1的主键,那么的主键,那么X X称称为外键。为外键。42.1.2 关系的数学定义关系的数学定义1. 1. 域域 域是一组具有一样数据类型的值的集合。域是一组具有一样数据类型的值的集合。 例如:自然数、实数、长度小于例如:自然数、实数、长度小于2525字节的字符串集合字节的字符串集合等等。等等。5 2. 2. 笛卡尔积笛卡尔积 设定一组域设定一组域D1D1,D2D2,DnDn,这些域中可以,这些域中可以存在一样的域,定义存在一样的域,定义D1D1,D2D2,DnDn的笛卡的笛卡尔积为:尔积为:
4、 笛卡尔积可以表示为一个二维表。表中的笛卡尔积可以表示为一个二维表。表中的每行对应一个元组,每列对应一个域。每行对应一个元组,每列对应一个域。1212.( , ,., )|,1 ,., nniiD DDd ddd Din 6如如D1=0,1,D2=a,b,cD1=0,1,D2=a,b,c那么那么12(0, ),(0, ),(0, ),(1 , ),(1 , ),(1 , )D Dabcabc7笛卡尔积笛卡尔积 例题例题 假设假设A=A=,B=1B=1,2 2,33, 求求A AB B, B BA A,A AA A,B BB BA AB=B=,1 1,2 2,3 3, ,1 1,2 2, , ,
5、= =,和和逻辑运算符逻辑运算符 衔接起来的逻辑表达式,结果衔接起来的逻辑表达式,结果为逻辑值为逻辑值“真或真或“假。假。例子例子1:查询信息系全体学生:查询信息系全体学生sdept=“IS (student) 5=“IS (student)或或362.3.2 专门的集合运算专门的集合运算选择运算是从关系选择运算是从关系R中选取使逻辑表达式中选取使逻辑表达式F为真的元组为真的元组,实践上是从行的角度进展的运算。,实践上是从行的角度进展的运算。372.3.2 专门的集合运算专门的集合运算选择选择从关系中找出满足给定条件的一切元组称为选择从关系中找出满足给定条件的一切元组称为选择. .选择运算是根
6、据某些条件对关系做程度分割,即选取符合选择运算是根据某些条件对关系做程度分割,即选取符合条件的元组。条件的元组。其中的条件是以逻辑表达式给出其中的条件是以逻辑表达式给出. . 经过选择运算得到的结果元组可以构成新的关系经过选择运算得到的结果元组可以构成新的关系, ,其关系其关系方式不变方式不变, ,但其中元组的数目小于等于原来的关系中元组但其中元组的数目小于等于原来的关系中元组的个数的个数. .38例子例子1知关系R和S, 求4()DR2()BbS392.3.2 专门的集合运算专门的集合运算2. 2. 投影投影在关系在关系R R中求指定的由假设干个属性组成新中求指定的由假设干个属性组成新的关系
7、,即对关系在垂直方向进展的运算,从左到右按的关系,即对关系在垂直方向进展的运算,从左到右按照指定的假设干属性及顺序取出相应列。照指定的假设干属性及顺序取出相应列。 关系关系R R的投影运算用的投影运算用X(R)X(R)表示,方式定义如下:表示,方式定义如下:x(R)x(R) t X| tR t X| tR 其中其中x x为为R R的属性列。的属性列。 X X的属性序号是对应属性在关的属性序号是对应属性在关系中的顺序编号系中的顺序编号. . 投影之后不仅取消了原关系中的某些列,而且取消投影之后不仅取消了原关系中的某些列,而且取消完全一样的元组。完全一样的元组。 402.3.2 专门的集合运算专门
8、的集合运算 从定义可看出,投影运算是从列的角度进展的运从定义可看出,投影运算是从列的角度进展的运算,这正是选取运算和投影运算的区别所在。算,这正是选取运算和投影运算的区别所在。41422.3.2 专门的集合运算专门的集合运算例子例子2:查询学生的姓名和所在的系:查询学生的姓名和所在的系sname,sdept(student) 2,5(student)或或 投影运算可以改动关系的属性次序 43例子例子2知关系R和S, 求,()A CDR()BS,()DAR44衔接衔接在数学上,可以用笛卡尔积建立两个关系间的衔接,在数学上,可以用笛卡尔积建立两个关系间的衔接,但这样的得到的关系数据冗余度大,在实践
9、运用中普通两但这样的得到的关系数据冗余度大,在实践运用中普通两个相互关联的关系往往需求满足一定的条件,使所得的结个相互关联的关系往往需求满足一定的条件,使所得的结果一目了然。这就是我们要讲的衔接运算。果一目了然。这就是我们要讲的衔接运算。 45衔接衔接衔接是将两个关系的属性名拼接成一个更宽的关系衔接是将两个关系的属性名拼接成一个更宽的关系. .生成新的关系中包含满足衔接条件的元组生成新的关系中包含满足衔接条件的元组. .运算过程是经过衔接条件来控制的运算过程是经过衔接条件来控制的, ,衔接是对关系的结合衔接是对关系的结合. .46衔接衔接 衔接也称为衔接也称为联接。它是从两个关系的笛卡尔积中选
10、取属性联接。它是从两个关系的笛卡尔积中选取属性间满足一定条件的元组组成新的关系。关系间满足一定条件的元组组成新的关系。关系R R和和S S的衔接运算的衔接运算方式定义如下:方式定义如下: t tt = trR tsS t = trR tsS trA tsB trA tsB 其中其中A A和和B B分别为关系分别为关系R R和和S S上度数一样且可比的属性组。上度数一样且可比的属性组。 A BRS472.3.2 专门的集合运算专门的集合运算普通的衔接操作是从行的角度进展运算。 ABRS48例子例子3知关系R和S,求DERS49例子例子3续续502.3.2 专门的集合运算专门的集合运算衔接举例:求
11、衔接举例:求 R S, R S R S, R S 2=1ABC134579268BCD251683497RS3251衔接衔接 1) 1) 等值衔接等值衔接(Equi-jion)(Equi-jion):等值衔接即将衔接中的:等值衔接即将衔接中的换成换成“=“=,功能是从关系,功能是从关系R R和和S S的笛卡尔积中选取的笛卡尔积中选取A A,B B属性值相属性值相等的那些元组。它的方式定义为:等的那些元组。它的方式定义为: t tt = trR tsS t = trR tsS trAtrAtsB tsB A BRS52例子例子知 求.R BS BRS53例子例子54衔接衔接 2) 2) 自然衔接
12、自然衔接(Natural-jion)(Natural-jion):自然衔接是一种特殊的:自然衔接是一种特殊的等值衔接,它要求两个关系中进展比较的分量必需是等值衔接,它要求两个关系中进展比较的分量必需是一样的属性组,并且要在结果中将反复的属性去掉。一样的属性组,并且要在结果中将反复的属性去掉。它的方式定义为:它的方式定义为: t tt = trR tsS t = trR tsS trB trBtsB tsB R S55例子例子知 求RS56例子例子57衔接衔接衔接运算普通是从行的角度进展的操作,衔接运算普通是从行的角度进展的操作, 但自然衔接是同时从行和列的角度进展的操作。但自然衔接是同时从行和
13、列的角度进展的操作。 58关系R与S,求:R和S的大于衔接CD;R和S的等值衔接C=D;R和S的等值衔接R.B=S.B;R和S的自然衔接。ABCa1b12a1b24a2b36a2b48BDb15b26b37b59例子例子4RS59大于衔接CD 等值衔接C=DAR.BCS.BDa2b36b26AR.BCS.BDa2b36b15a2b48b15a2b48b26a2b48b37例子例子4续续60等值衔接(R.B=S.B) 自然衔接AR.BCS.BDa1b12b15a1b24b26a2b36b37ABCDa1b125a1b246a2b367例子例子4续续61等值衔接与自然衔接的区别:等值衔接与自然衔接
14、的区别:1. 等值衔接中不要求相等属性值的属性名等值衔接中不要求相等属性值的属性名一样,而自然衔接要求相等属性值的属性一样,而自然衔接要求相等属性值的属性名必需一样,即两关系只需在同名属性才名必需一样,即两关系只需在同名属性才干进展自然衔接。干进展自然衔接。2. 等值衔接不将反复属性去掉,而自然衔等值衔接不将反复属性去掉,而自然衔接去掉反复属性,也可以说,自然衔接是接去掉反复属性,也可以说,自然衔接是去掉反复列的等值衔接。去掉反复列的等值衔接。2.3.2 专门的集合运算专门的集合运算622.3.2 专门的集合运算专门的集合运算 外衔接外衔接 假设把舍弃的元组也保管在结果关系中,而在其他假设把舍
15、弃的元组也保管在结果关系中,而在其他属性上填空值属性上填空值(Null)(Null),这种衔接就叫做外衔接,这种衔接就叫做外衔接OUTER JOINOUTER JOIN。 左外衔接左外衔接 假设只把左边关系假设只把左边关系R R中要舍弃的元组保管就叫做左外中要舍弃的元组保管就叫做左外衔接衔接(LEFT OUTER JOIN(LEFT OUTER JOIN或或LEFT JOIN)LEFT JOIN) 右外衔接右外衔接 假设只把右边关系假设只把右边关系S S中要舍弃的元组保管就叫做右外中要舍弃的元组保管就叫做右外衔接衔接(RIGHT OUTER JOIN(RIGHT OUTER JOIN或或RIG
16、HT JOIN)RIGHT JOIN)。 632.3.2 专门的集合运算专门的集合运算以下图是例4中关系R和关系S的全外自然衔接 ABCDa1b125a1b246a2b367a2b48nullnullb5null9(a) 全外自然衔接 642.3.2 专门的集合运算专门的集合运算ABCDa1b125a1b246a2b367a2b48null(b) 左外自然衔接 图(b)是例4中关系R和关系S的左外衔接,图(c)是右外衔接 ABCDa1b125a1b246a2b367nullb5null9(c) 右外自然衔接 654. 4. 除除记为记为R RS S。 除法运算是二目运算,设有关系除法运算是二目
17、运算,设有关系R RX X,Y Y与关系与关系S SY Y,Z Z,其中,其中X X,Y Y,Z Z为属性集合,为属性集合,R R中的中的Y Y与与S S中的中的Y Y可以有不同的属性名,但对应属可以有不同的属性名,但对应属性必需出自一样的域。关系性必需出自一样的域。关系R R除以关系除以关系S S所得的商所得的商是一个新关系是一个新关系P PX X,P P是是R R中满足以下条件的元中满足以下条件的元组在组在X X上的投影:元组在上的投影:元组在X X上分量值上分量值x x的象集的象集YxYx包包含含S S在在Y Y上投影的集合。记作:上投影的集合。记作: R RS=trX|trRy(S)S
18、=trX|trRy(S)YxYx 其中,其中,YxYx为为x x在在R R中的象集,中的象集,x= trXx= trX。2.3.2 专门的集合运算专门的集合运算662.3.2 专门的集合运算专门的集合运算除操作是同时从行和列角度进展运算RS67象集象集ABCDEa1b15d13a1b15d27a1b25d310a2b35d32a4b56d27a4b56d310a4b56d32a6b66d52tX=(a1,b1)的象集的象集CDE5d135d27tX=(a1,b2)的象集的象集CDE5d310tX=(a4,b5)的象集的象集CDE6d276d3106d32XZRZx=tZ|tR,tX=xZx68
19、除除ABCDEa1b15d13a1b15d27a1b25d310a2b35d32a2b15d52a3b26d13a4b56d27a4b56d310a4b56d32a6b66d52XY=CDEF6d27fa6d310fb6d32fcYR上分量值上分量值X 的象集的象集Yx包含包含S在在Y上的投影上的投影69除运算实例除运算实例学号课号成绩S1C1AS1C2BS1C3BS2C1AS2C3BS3C1BS3C3BS4C1AS4C2AS5C2BS5C3BS5C1A课号课名C1数据结构C3操作系统S1C1AS1C2BS1C3BS2C1AS2C3BS3C1BS3C3BS4C1AS4C2AS5C2BS5C3B
20、S5C1AC1数据结构C3操作系统S1C1AS1C2BS1C3BS2C1AS2C3BS3C1BS3C3BS4C1AS4C2AS5C2BS5C3BS5C1A=S3B选课选课必修课必修课选择了一切必修课表中的课程选择了一切必修课表中的课程的学生的学号和成果的学生的学号和成果70例子例子5求 RS71随堂练习随堂练习 ABCa1b1c2a2b3c7a3b4c6a1b2c3a4b6c6a2b2c3a1b2c1BCDb1c2d1b2c1d3b2c3d2RS求 RS72关系代数查询表达式关系代数查询表达式 1、设教学数据库中有、设教学数据库中有3个关系:个关系:学生关系学生关系S(SNO,SNAME,AGE,SEX)学习关系学习关系SC(SNO,CNO,GRADE)课程关系课程关系C(CNO,CNAME,TEACHER)(1) 检索学习课程号为检索学习课程号为C2的学生学号与成果的学生学号与成果 (2) 检索学习课程号为检索学习课程号为C2的学生学号与姓名的学生学号与姓名 (3) 检索选修课程名为检索选修课程名为MATHS的学生学号与姓名的学生学号与姓名 73关系代数查询表达式关系代数查询表达式 用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 计算机教室租赁合同模板
- 2024绿植采购合同
- 2024简单布业购销贸易合同范本
- 2024私有房屋买卖合同范文
- 2024年度土地使用权转让合同标的详细描述及交易价格补充协议2篇
- 旅馆房屋租赁合同范本
- 南京市二零二四年度二手房电子签约系统升级改造合同
- 音乐版权合同范本
- 人力资源劳动合同标准版可打印
- 门窗合同范本
- 婚姻法结婚的基本条件和程序
- 课堂评价:促进学生的学习和发展
- 2023年电大行政组织学试卷期末考试试题及答案
- 亚洲-东南亚航运港口
- 倒链施工方案
- 幼儿园大班音乐《建筑之歌》
- 智能制造数字化基础
- 2023秋季学期国开电大专本科《法律文书》在线形考(第一至五次考核形考任务)试题及答案
- 展馆、舞台搭建、拆除施工方案范本
- 19年春四川农业大学数字电子技术-试题-KT352277-1512C
- 国家开放大学《汉语通论》形考任务1-4+终结性考核参考答案
评论
0/150
提交评论