




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库原理第三讲关系运算和完整性约束第1页,共48页,2023年,2月20日,星期六还记得吗?1、ER图属于哪一种数据模型?有何优缺点?概念数据模型一些复杂关系无法表示,如文件夹与文件的关系是一种递归关系,用ER图无法表示。2、数据库系统的模式结构的特点?三级模式结构:内模式、模式和外模式第2页,共48页,2023年,2月20日,星期六关系数据库关系模型概述关系数据结构及形式化定义关系的完整性关系代数关系演算第3页,共48页,2023年,2月20日,星期六关系模型概述关系数据库应用数学方法来处理数据库中的数据。系统而严格地提出关系模型的是美国IBM公司的E.F.Codd,他从1970年起连续发表了多篇论文,奠定了关系数据库的理论基础。关系数据库系统是支持关系模型的数据库系统。关系模型由数据结构、关系操作集合和完整性约束三部分组成。第4页,共48页,2023年,2月20日,星期六基本术语元组:表中的一行即为一个元组;属性:表中的一列即为一个属性;域(Domain):属性的取值范围;分量:元组中的一个属性值;03李四03401张三001专业号姓名学号例第5页,共48页,2023年,2月20日,星期六笛卡儿积定义:设D1、D2、…、Dn为任意集合,定义D1、D2、…、Dn的笛卡儿积为D1×D2×…×Dn={(d1,d2,…,dn)|diDi,i=1,2,…,n}笛卡儿积是一个集合,集合中的每一个元素(d1,d2,…,dn)叫做一个n元组,简称元组,元组中的每一个di叫做该元组的一个分量。注意:元组不是di的集合,元组中的分量是按序排列的,而集合中的元素是没有排列次序的。如:(a,b,c)≠(b,a,c)≠(a,c,b){a,b,c}={b,a,c}={a,c,b}第6页,共48页,2023年,2月20日,星期六笛卡儿积例:D1={0,1},D2={a,b,c},求D1和D2的笛卡儿积。01abc×
D1D2
0
a
0
b
0
c
1
a
1
b
1
cD1D2D1×D2={(0,a),(0,b),(0,c),(1,a),(1,b),(1,c)}第7页,共48页,2023年,2月20日,星期六关系定义:笛卡儿积D1×D2×…×Dn的任意一个子集称为D1、D2、…、Dn上的一个关系。R1={(0,a),(0,c),(1,a)}是D1、D2上的一个关系;R2={(0,a),(1,a)}也是D1、D2上的一个关系。D1D2
0
a
0
c
1
aR1D1D2
0
a
1
aR2例:D1={0,1},D2={a,b,c}第8页,共48页,2023年,2月20日,星期六关系例如:姓名={张三,李四},专业={管理,电子}姓名×专业=姓名专业张三管理张三电子李四管理李四电子笛卡儿积关系1姓名专业张三管理李四电子关系2姓名专业张三电子李四管理第9页,共48页,2023年,2月20日,星期六对关系的限定和扩充限定:关系不能是无限集合扩充:在关系中为每个列取名(属性名)可取消有序性的限制。姓名专业张三管理李四电子专业姓名管理张三电子李四=第10页,共48页,2023年,2月20日,星期六关系的六条性质关系同一列的数据类型相同;不同列的数据可出自同一域,但要取不同的列名(属性名),同一关系中属性名不可重复;列的次序可交换,结果是等价的;同一关系中,两个元组不可完全相同;行(元组)的顺序可任意交换;每一分量(列)必须是不可分的数据项。第11页,共48页,2023年,2月20日,星期六码候选码(关键字):能惟一标识元组的最小属性组。超码(SuperKey):在关系中能唯一标识元组的属性集称为关系的超码。最简单的情况:码中只包含一个属性。最极端的情况:整个属性组构成一个码,称全码。主码:当有多个候选码时,选择其中一个作为主码。每个关系有且只有一个主码。主属性:主码的诸属性。非主属性(非码属性):不包含在任何码中的属性。第12页,共48页,2023年,2月20日,星期六码c1b2a4c2b3a3c2b2a2c1b1a1CBAc1b2a4c1b2a1c2b1a1c1b1a1CBA例:第13页,共48页,2023年,2月20日,星期六关系模式关系模式:关系名及其属性名表。设关系名为R,其属性为A1、A2、…,An,则关系模式为:R=(A1,A2,…,An)例:学生(学号,姓名,专业)关系模式是型,是二维表的框架,关系是二维表,是某一时刻的值。关系模式是相对稳定的,关系是动态变化的。
第14页,共48页,2023年,2月20日,星期六关系模型关系模型:整个数据库中,所有关系模式的集合。如:学生-选课-课程数据库的关系模型:学生(学号,姓名,专业)课程(课程号,课程名)选课(学号,课程号,成绩)关系数据库:对应于一个关系模型的所有关系的集合。关系模型是型,是关系数据库的框架,关系数据库是某一时刻的值。关系模型是相对稳定的,关系数据库是动态变化的。
第15页,共48页,2023年,2月20日,星期六关系的完整性实体完整性参照完整性用户定义的完整性第16页,共48页,2023年,2月20日,星期六实体完整性实体完整性是为了保证关系中没有重复元组。主码约束:如果属性组A是主码,则A不能取空值和重复值。如:学生关系中的“学号”,选课关系中的“学号、课程号”的都不能为“空”或重复。唯一性约束:对非主码的码的诸属性可以取空值,但不能取重复值第17页,共48页,2023年,2月20日,星期六参照完整性例如:数据库中有如下关系:在“学生”关系中插入元组(217,王五,06)可以吗?学号姓名专业号001张三
01034李四
03专业号专业名
01机械
02管理
03电子学生专业第18页,共48页,2023年,2月20日,星期六参照完整性外码:设A是关系R的一个属性或属性组,已知A非R的码,但A是关系S的主码,则称A是R的外码。R为参照关系,S为被参照关系。学号姓名专业号001张三
01034李四
03专业号专业名
01机械
02管理
03电子学生专业第19页,共48页,2023年,2月20日,星期六参照完整性参照完整性:若属性或属性组A是关系R的外码,是关系S的主码,则A必须取下列两种情况之一:1.空值2.关系S中的某个主码值例:图书管理系统数据库中存在下列关系:读者(借书证号,姓名,单位)图书(总编号,分类号,书名,作者)借书(借书证号,总编号,借阅日期)“借书”关系中“借书证号”和“总编号”的取值?实体完整性约束是对一个关系内某些属性的约束,而参照完整性约束是不同关系之间或同一关系的不同属性之间的约束。第20页,共48页,2023年,2月20日,星期六用户定义的完整性用户定义的完整性:根据某一具体应用,数据库中的数据应满足的语义要求。例:学号由8位数字组成;姓名由8位字符串构成;成绩在0~100之间。DBMS提供了设置完整性约束的命令。设置完整性约束的目的是保证数据库中数据的正确性。第21页,共48页,2023年,2月20日,星期六关系代数关系代数:将关系作为集合,对它实施各种集合运算和专门的关系运算。集合运算:并(∪)、交(∩)、差(–)、广义笛卡尔积(×)专门的关系运算:投影(Π)、选择()、连接()、除(÷)下面两种运算符辅助上述运算:比较运算符:>、≥、<、、≠、
=逻辑运算符:(非)、(与)、(或)比较运算符优先级高于逻辑运算符,逻辑运算符的优先次序为、、第22页,共48页,2023年,2月20日,星期六集合运算集合运算是二目运算,即两个关系之间的运算,结果仍为关系(即元组的集合)。并、交、差设关系R与S都是n元关系(即n个属性),且相应的属性取自同一个域。并:R∪S={t│t
RtS}交:R∩S={t│t
RtS}差:R–S={t│t
RtS}RSRSRS第23页,共48页,2023年,2月20日,星期六集合运算例:Rc1b2a2c2b2a1c1b1a1CBASc1b2a2c2b3a1c2b2a1CBAR∪Sc1b2a2c2b3a1c2b2a1c1b1a1CBAc1b1a1CBAR–
Sc1b2a2c2b2a1CBAR∩S第24页,共48页,2023年,2月20日,星期六集合运算广义笛卡儿积:设R为n元关系,S为m元关系,则R与S的广义笛卡儿积是一个n+m元关系(即有n+m列属性),元组的前n列是关系R的一个元组,后m列是关系S的一个元组。R×S={trts│trRtsS}tr表示R中的元组,ts表示S中的元组。若R有k1个元组,S有k2个元组则R×S有k1×k2个元组。第25页,共48页,2023年,2月20日,星期六广义笛卡儿积
例:Rc1b2a2c2b2a1c1b1a1CBASd3a2d2a1DA
A
B
C
A
D
a1b1c1a1d2a1b1c1a2d3a1b2c2a1d2a1b2c2a2d3a2b2c1a1d2a2b2c1a2d3R×S第26页,共48页,2023年,2月20日,星期六专门的关系运算选择:在一个关系中,选出符合给定条件的元组组成一个新的关系。
(R)={t│t
RF(t)=‘T’}F为选择的条件,由逻辑运算符、、连接各算术表达式组成。算术表达式的形式为XθY,θ表示比较运算符,X、Y可以是属性名(或属性序号)、常量、简单函数。作用:选择运算是对一个关系进行行运算,它提供了构造符合某种条件的原关系的子集的方法。第27页,共48页,2023年,2月20日,星期六专门的关系运算例:学号姓名性别专业爱好
002张三女机械书法
078李四男电子绘画
204王五男机械足球
021赵六女管理书法学生1.找出机械专业男生的信息。专业=“机械”
性别=“男”(学生)学号姓名性别专业爱好
204王五男机械足球2.找出非机械专业爱好书法的学生信息。专业=“机械”
爱好=“书法”(学生)学号姓名性别专业爱好
021赵六女管理书法第28页,共48页,2023年,2月20日,星期六专门的关系运算投影:从一个关系中选择某些属性组成新的关系,新关系中,要去掉重复元组。Π(R)={t[A]│tR}A—从R中选出的若干属性列。作用:投影主要是列运算,它提供了提取感兴趣的列构成新关系的方法。选择和投影是对关系进行任意分割的有利工具。例:找出学生的姓名及专业。Π(学生)姓名,专业姓名专业张三机械李四电子王五机械赵六管理结果第29页,共48页,2023年,2月20日,星期六专门的关系运算连接:从两个关系的广义笛卡儿积中选择符合给定条件的元组,组成新的关系。
AθB:连接条件,两关系中对应属性的比较,对应属性的属性名可以不同,但值域必须相同。当θ为“=”时,称等值连接,等值连接中有完全相同的两列属性。RS=R.AS.B(R×S)R.AS.B第30页,共48页,2023年,2月20日,星期六专门的关系运算自然连接:在等值连接的基础上去掉重复列。记为:RS与等值连接的区别:自然连接要求有相同的属性名,否则成为广义笛卡儿积;自然连接没有重复的列。作用:组装关系利用选择、投影、自然连接可以任意分割和组装关系。这是关系模型优于其它模型的关键。第31页,共48页,2023年,2月20日,星期六专门的关系运算例:ABCa1b25a2b18BEb23b510b12RSRSC<E
AR.B
CS.B
E
a1
b2
5
b5
10
a2
b1
8
b5
10
AR.B
CS.B
E
a1
b2
5
b2
3
a2
b1
8
b1
2RSR.B=S.BRS
A
B
C
E
a1
b2
5
3
a2
b1
8
2第32页,共48页,2023年,2月20日,星期六专门的关系运算:除例:d1c1b3a3d2c2b2a2d1c1b2a2d3c3b1a1d2c2b1a1d1c1b1a14321d2c2d1c143RSb2a2b1a121R÷S设关系S的属性是关系R的属性的一部分,则R÷S为这样的关系:1、此关系的属性是由属于R但不属于S的属性组成;2、(R÷S)×S是关系R的一部分。33第33页,共48页,2023年,2月20日,星期六象集象集:给定一个关系R(X,Y),X和Y为属性组。当t[X]=x时,x在R中的象集为:Yx={t[Y]|tR,t[X]=x}SC’snocno950011
950012950013950022950023例如:95001的象集cno95001为{1,2,3}95002的象集cno95002为{2,3}第34页,共48页,2023年,2月20日,星期六除给定关系R(X,Y)和S(Y,Z),其中X,Y,Z为属性组。R中的Y与S中的Y可以有不同的属性名,但必须出自相同的域集。R与S的除运算得到一个新的关系P(X),P是R中满足下列条件的元组在X属性列上的投影:元组在X上分量值x的象集Yx包含S在Y上投影的集合。记作:其中Yx为x在R中的象集,x=tr[X]。第35页,共48页,2023年,2月20日,星期六除RSAa1第36页,共48页,2023年,2月20日,星期六除在关系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,c3),(b2,c1)}显然只有a1的象集(B,C)包含S在(B,C)属性组上的投影,所以R÷S={a1}第37页,共48页,2023年,2月20日,星期六除“除”的应用:一般用于查找带有“所有的”、“包含”等字眼的场合。例:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 马桶漏水施工方案
- 户外输电施工方案
- 如何创建高效的游泳救生员训练计划的试题及答案
- 创新思维农业植保员试题及答案
- 2024年种子繁育员资格考前准备事项试题及答案
- 大学物理第五版上册课件:第3章教学基本要求
- 2024年农业植保员考试精要试题及答案
- 速冻食品战略市场规划报告
- 2024年植保员考试导航试题及答案
- 2024年微生物技术应用考试试题及答案
- 纺织创新材料的应用
- 北师版小学六年级下学期《数 学 好 玩》教案
- 医院培训课件:《静脉中等长度导管临床应用专家共识》
- 新生儿科护理文书
- 奇特的视觉图形 课件 -2023--2024学年浙教版初中美术八年级下册
- 《公路桥梁施工监控技术规程》(JTGT3650-01-2022)
- 人教版高中地理必修第二册第二章乡村和城镇
- 花篮拉杆式悬挑式脚手架施工施工工艺技术
- 广西壮族自治区贵港市覃塘区2023-2024学年七年级下学期7月期末历史试题(无答案)
- 食堂生物防治制度
- 中国痔病诊疗指南(2020版)
评论
0/150
提交评论