ImageVerifierCode 换一换
格式:PPT , 页数:115 ,大小:1.06MB ,
资源ID:13242392      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/13242392.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(数据库第二章.ppt)为本站上传会员【pc****0】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

数据库第二章.ppt

1、单击此处编辑母版标题样式,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第二章,关系数据库,(,4-6,学时),数据库原理和语言,主要目的与内容,:,l,关系模型的基本概念,l,关系模型的数据结构,l,关系操作,l,关系的完整性,关系数据库的,数学理论基础,:,l,集合论、,l,关系代数(信息代数),,l,用数学的方法来处理数据。,数学方法,集合论,关系代数,关系数据库的发展历程,u,1962,年,,CODASYL,“,信息代数,”,。,u,1968,年,,David Child,在,7090,机上,实现的,集合论数据结构,。,u,1970,年,,E.F.Codd,发表多篇论,

2、严格地、系统地,提出关系模型,。,u,20,世纪,70,年代末,,,IBM,的,San Jose,实验室,研制出,关系数据库实验模型,System R,(,原型,),u,1981,年,,IBM,研制出,SQL/DS,。,DB2,、,Oracle,ingres,Sysbase,Informix,2.1,关系模型概述,(P,45,),前面讲过,关系数据库系统是支持关系模型的数据库系统,同样地由关系数据结构、关系操作集合和完整性约束条件三部分组成。,一、单一的数据结构,-,关系,(P,46,),实体以及实体间的联系均由,关系,来表示。,关系模型的数据结构非常单一。在关系模型中,现实世界的实体以及实体

3、间的各种联系均用关系来表示。在用户看来,关系模型中数据的逻辑结构是一张二维表。,二、关系操作,(P,46,),关系模型给出了关系操作的能力,但不对具体,RDBMS,语言给出具体的语法要求。,常用的,关系操作,包括两大部分:,l,选择(,Select,),、,l,投影(,Project,)、,l,连接(,join,)、,l,除(,Divide,),、,l,并(,Union,),、,l,交(,Intersection,)、,l,差(,Difference,),等,查询操作,和,l,增加(,Insert,)、,l,删除(,Delete,)、,l,修改(,Update,),操作。,三、关系操作的特点,

4、集合操作方式,,即操作的对象和结果都是集合,,这种方式,一次一集合,(,set-at-a-time,)。,非关系数据模型,数据操作,方式:,一次一记录,(,record-at a-time,)。,实现,关系操作,:,关系代数和关系演算,(元组关系演算、域关系演算)。,这是一种,抽象的查询语言,。,RDBMS,Relational Database Management System,,,关系数据库管理系统。,关系语言,是一种高度非过程化语言,。,SQL,:,Structured Query Language,,,结构化查询语言,。,SQL,构成:,集,DDL,、,DML,和,DCL,于一体

5、关系数据语言,三类:关系代数语言、关系演算语言和具有关系代数和关系演算双重特点的语言,关系数据语言,1,关系代数语言,例如,ISBL,2,关系演算语言,1.,元组关系演算语言,例如,APLHA,QUEL,2.,域关系演算语言,例如,QBE,3,具有关系代数和关系演算双重特点的语言,例如,SQL,(1),关系代数,是用对关系的运算来表达查询要求的方式。,(2),关系演算,是用谓词来表达查询要求的方式。按,谓词变元的基本对象,是元组变量还是域变量分为元组关系演算和域关系演算。,关系代数、元组关系演算和域关系演算三种语言在表达能力上是完全等价的。,(3),介于关系代数和关系演算之间的语言,SQ

6、L,(,Standard Query Language,):,SQL,不仅具有丰富的查询功能,而且具有数据定义和数据控制功能,是集查询、,DDL,、,DML,和,DCL,于一体的关系数据语言。它充分体现了关系数据语言的特点和优点,是关系数据库的标准语言。,特点,:完备的表达能力、非过程化的集合操作、功能强、能嵌入高级语言使用。,四、关系完整性约束条件,(P,47,),关系的三类完整性约束:,关系模型提供了丰富的完整性控制机制,允许定义三类完整性:,实体完整性,参照完整性,用户定义的完整性,关系模型必须满足的完整性约束条件,应该由关系系统自动支持,是应用领域需要遵循的约束条件,体现了具体领域中的

7、语义约束,2.2,关系数据结构及形式化定义,从集合论角度,给出关系数据结构形式化定义。,2.2.1,关系,2.2.2,关系模式,2.2.3,关系数据库,2.2.1,关系,(P,47,),域(,Domain,),笛卡尔积(,Cartesian Product,),关系,:,(,笛卡尔积的有效组合,),码:,(P49),关系的类型与性质,:,(P,50,),1.,域(,Domain,),域,是一组具有相同数据类型的值的集合,又称为,值域,。(用,D,表示),例如整数、实数、字符串的集合。,域中所包含的值的个数称为域的,基数,(用,m,表示)。,关系中用域表示属性的取值范围。例如:,D1=,李力,王

8、平,刘伟,m,1,=3,D2=,男,女,m,2,=2,D3=47,28,30,m,3,=3,其中,,D1,,,D2,,,D3,为域名,分别表示教师关系中姓名、性别、年龄的集合。,域中的值无排列次序,如,D2=,男,女,=,女,男,2.,笛卡尔积(,Cartesian Product,),给定一组域,D,1,D,2,D,n,(,它们可以包含相同的,元素,,即可以完全不同,也可以部分或全部相同)。,D,1,,,D,2,,,,,D,n,的笛卡尔积为,D,1,D,2,D,n,=,(,d,1,d,2,d,n,),|,d,i,D,i,i,=1,2,n,。,由定义可以看出,,笛卡尔积,也,是,一个,集合,。

9、其中:,1,)元素中的每一个,d,i,叫做一个,分量,(,Component,),,,来自相应的域(,d,i,D,i,),2,),每一个,元素(,d,1,d,2,d,3,d,n,),叫做一个,n,元组,(,n,-,tuple,),,简称,元组,(,Tuple,)。,但,元组不是,d,i,的集合,,元组的每个,分量,(,d,i,),是按序排列的。如:,(,1,,,2,,,3,)(,2,,,3,,,1,)(,1,,,3,,,2,);,而集合中的元素是没有排序次序的,如,1,,,2,,,3=2,,,3,,,1=1,,,3,,,2,。,3,)若,D,i,(,i,1,2,n,),为,有限集,,其,基数

10、Cardinal number,)为,m,i,(,i,1,2,n,),则,D,1,D,2,D,n,的,基数,M,(,即元素(,d,1,d,2,d,n,),的个数)为所有域的基数的累乘之积,即:,例,1,:,D,1,=,男人的集合,(,Man,),王兵,、,李平,、,张强,D,2,=,女人的集合,(,Woman,),丁梅,、,吴芳,D,3,=,儿童的集合,(,Child,),王一,、,李一,、,李二,笛卡尔积,是,一个,二维表,,表中每,行,对应一个,元组,,每,列,对应一个,域,。,则这三个集合的,笛卡尔积,为:,D,1,D,2,D,3,(,王兵、丁梅、王一,),,,(,王兵、丁梅、李一

11、),,,(,王兵、丁梅、李二,),,,(,王兵、吴芳、王一,),,,(,王兵、吴芳、李一,),,,(,王兵、吴芳、李二,),,,,,(,张强、吴芳、李二,),共有,18,个元素:笛卡尔,基数,323,18,每小括号的组合,是一个,元组,。,每一个元组中的每一个元素,(,如,王兵、丁梅等,),就叫,分量,。,例,2,:上述表示教师关系中姓名,D,1,=,李力,王平,刘伟,、性别,D,2,=,男,女,两个域的笛卡尔积为:,D,1,D,2,=,(,李力,男,),(,李力,女,),(,王平,男,),(,王平,女,),(,刘伟,男,),(,刘伟,女,),其中:,李力、王平、刘伟、男、女,都是分量,(,

12、李力,男,),(,李力,女,)等是元组,其基数,M,=,m,1,m,2,=3*2=6,元组的个数为,6,例如,上述的,6,个元组可表示成表,2.1,。,姓名,性别,李力,男,李力,女,王平,男,王平,女,刘伟,男,刘伟,女,表,2.1 D1,和,D2,的笛卡尔积,-,由上例可以看出,,笛卡尔积,实际,是,一个,二维表,,,表的框架由域构成,,,表,的任意一,行,就,是,一个,元组,,,表,中的每一,列,来自同一,域,(例如:第一个分量来自,D1,,,第二个分量来自,D2,)。,3,、关系:,(,笛卡尔积的有效组合,),定义,:笛卡尔积,D,1,D,2,D,n,的任一子集称为定义在域,D,1,D

13、2,D,n,上的,n,元,关系,(,Relation,),,可用,R,(,D,1,D,2,D,n,),表示,如上例,D,1,D,2,笛卡尔积的子集可以构成教师关系,T,1,,,如下表:,姓名,性别,李力,男,王平,女,刘伟,男,元组,属性,若有一个家庭成员集合:,R,(,父亲,母亲,孩子),Man,Woman,Child,王兵,丁梅,王一,李平,吴芳,李一,李平,吴芳,李二,这个集合才是,有效集合,,在现实生活中才有实现的意义,是,Man,Woman,Child,之子集。,几点说明:,1.,R,为关系名,,n,称为关系的目或度(,Degree,)。,当,n,=1,时,称为,单元关系,。,当,

14、n,=2,时,称为,二元关系,。,当,n,=,n,时,称为,n,元关系,。,如上例为,二元关系,,关系名为,T,。,2.,关系是笛卡尔积的有限子集,即是一个二维表。,行对应一个元组,;,列对应一个域,;,每列的名称成为属性,。,3.,n,目关系必有,n,个属性,4,、属性、码的概念,(P,49,),候选键与关键字,能唯一标识关系中元组的属性或属性集,则称该属性或属性集为,候选键,(Candidate Key),,,也称,候选关键字,或,候选码,。如:,“,学生关系,”中的学号能唯一标识每一个学生,则属性,学号,是学生关系的候选键。,在“,选课关系,”中,只有属性的组合“学号,+,课程号”才能唯

15、一地区分每一条选课记录,则属性集,“学号,+,课程号”,是选课关系的候选键。,4,、属性、码的概念,(P,49,),Cont.01,如果一个关系中有多个,候选码,,,可以从中选择一个作为查询、插入或删除元组的操作变量,被选用的候选键称为,主关系键,(Primary Key),,,或简称为,主键,、,主码,、,关系键,、,关键字,。,例如,,,假设在学生关系中没有重名的学生,则“学号”和“姓名”都可作为学生关系的候选键。如果选定“学号”作为数据操作的依据,则“学号”为主关系键。,主关系键是关系模型中的一个重要概念。每个关系必需选择一个主关系键,选定以后,不能随意改变。,每个关系必定有且仅有一个主

16、关系键,因为关系的元组无重复,至少关系的所有属性的组合可作为主关系键,通常用较小的属性组合作为主关系键。,4,、属性、码的概念,(P,49,),Cont.02,主属性,与,非码属性,码属性,(,Prime Attribute,):,包含在任何一个候选码中的的各属性称为码属性。,主属性,(,Prime Attribute,):,包含在主码中的各属性称为主属性。,非码属性,(,Non-Prime Attribute,):,不包含在任何候选码中的属性称为,非码属性,,或,非主属性,(,Non-key Attribute,)。,在最,简单,的,情况,下,一个候选码只包含一个属性,如学生关系中的“学号”

17、教师关系中的“教师号”。,在,最极终端,的,情况,下,所有属性的组合是关系的候选码,这时称为,全码,(,all-key,)。,4,、属性、码的概念,(P,49,),Cont.03,下面是一个,全码,的,例子,:,假设有教师、课程、参考书关系,TCB,,,分别有三个属性教师号(,T,)、,课程号(,C,),和参考书号(,B,)。,一个教师可以讲授多门课程;一门课程可以为多个教师讲授,他们使用相同的一套参考书;同样每种参考书可以供多门课程使用。,在这种情况下,,T,,,C,,,B,三者之间是多对多关系,,(T,C,B),三个属性的组合是关系,TCB,的候选码,称为,全码,,,T,C,B,都是主属

18、性。,4,、属性、码的概念,(P,49,),Cont.04,外部码,(,Foreign Key,),:,如果关系中某一个属性,(,不论该属性在此关系中起什么作用,),,在另一个关系中是主码,则称该属性为外部码或外部键。,例如,:,学生:,S(*SNO,,,SNAME,,,SEX,,,DPNO,),系部:,D(*DPNO,,,DNAME,,,TEL,,,LEADER),DPNO,在,S,表中就是一个属性;,而,DPNO,在,D,表中则是主码。,5.,关系的类型与性质,:,(P,50,),1,),关系的类型,2,)基本关系的性质,1,),关系的类型,关系可以有三种类型,具体如下,-,l,基本关系,

19、通常又称为,基本表,或,基表,):,基本表是实际存在的表,它是实际存储数据的逻辑表示,。,l,查询表,:,查询查询结果对应的表,。,l,视图表,:,视图表是由基本表或其他视图表导出的表,是,虚表,,,不对应实际存储的数据,。,2,)基本关系的性质,u,列是同质的,,即每一列的分量是同一类型的数据,来自同一个域。,u,不同的列可出自同一个域,,称其中的每一个列为一个属性,不同的属性要给予不同的属性名。,u,列的顺序无所谓,,即列的次序可以任意交换。,u,任意两个元组不能完全相同,。,u,行的次序无所谓,,即行的次序可以任意交换。,u,分量必须取原子值,,即每一个分量都必须是不可分的数据项。,2

20、基本关系的性质,Cont.01,尽管,关系,与,二维表格,、传统的,数据文件,是非常类似的,但它们之间又有重要的区别。,严格地说,,关系,是种规范化了的,二维表中行的集合,,为了使相应的数据操作简化,在关系模型中,对关系作了种种,限制,,关系具有如下特性:,(,1,),关系中不允许出现相同的元组。,因为数学上集合中没有相同的元素,而关系是元组的集合,所以作为集合元素的元组应该是唯一的。,(,2,),关系中元组的顺序(即行序)是无关紧要的,在一个关系中可以任意交换两行的次序。,因为集合中的元素是无序的,所以作为集合元素的元组也是无序的。根据关系的这个性质,可以改变元组的顺序使其具有某种排序,

21、然后按照顺序查询数据,可以提高查询速度。,2,)基本关系的性质,Cont.02,(,3,),关系中属性的顺序是无关紧要的,即列的顺序可以任意交换。,交换时,应连同属性名一起交换,否则将得到不同的关系。,例如,:关系,T1,作如下交换时,无任何影响,如下表所示:,性别,姓名,男,李力,女,王平,男,刘伟,2,)基本关系的性质,Cont.03,而作如下交换时,不交换属性名,只交换属性列中的值,则得到不同的关系,如下表,:,姓名,性别,男,李力,女,王平,男,刘伟,2,)基本关系的性质,Cont.04,(,4,),同一属性名下的各个属性值必须来自同一个域,是同一类型的数据。,(,5,),关系中各个属

22、性必须有不同的名字,不同的属性可来自同一个域,即它们的分量可以取自同一个域。,例如,,有如下表中关系,,职业,与,兼职,是两个不同的属性,但它们取自同一个域职业教师,工人,辅导员。,姓名,职业,兼职,张强,教师,辅导员,王丽,工人,教师,刘宁,教师,辅导员,2,)基本关系的性质,Cont.05,(,6,),关系中每一分量必须是不可分的数据项,,或者说所有属性值都是原子的,即是一个确定的值,而不是值的集合。属性值可以为空值,表示“未知”或“不可使用”,即不可“表中有表”。满足此条件的关系称为,规范化关系,,否则称为,非规范化关系,。,例如,:在表,2.8,中,籍贯含有省、市县两项,出现了“表中有

23、表”的现象,则为非规范化关系,而把籍贯分成省、市县两列,将其规范化,如表,2.9,所示。,姓名,籍贯,省,市/县,张强,吉林,长春,王丽,山西,大同,姓名,省,市/县,张强,吉林,长春,王丽,山西,大同,表2.8,表2.9,2.2.2,关系模式,数据库中要区分,型,、,值,。,在关系数据库中,,关系模式,是,型,,,关系,是,值,。,关系模式,:对关系的描述。是关系的框架,或称为表框架。它应该:,指出关系由哪些属性构成,这些属性来自哪些域,以及属性与域之间的映象关系,刻画关系必须满足的完整性约束条件,怎样描述,关系,:,形式化描述,为:,R,(,u,,,D,,,dom,,,F,),其中:,R,

24、关系名,u,:,组成该关系的属性名集合,D,:,为属性组,u,中属性所来自的域,dom,:,为属性向域的映象集合,F,:,为属性间数据的依赖关系,一般地,,关系模式,可简记为,R,(,u,),或,R,(,A1,,,A2,,,,,An,),而,域名,及,属性,向,域,的,映象,常常直接说明为属性的,类型,、,长度,。,关系名,属性名,2.2.2,关系模式,Cont.01,关系模式,关系模式通常可以,简记为,:,R,(,A,1,A,2,A,n,)。,其中,R,为关系名,,A,1,A,2,A,n,为属性名。而域名及属性向域的映象常常直接说明为属性的类型、长度。,关系模式是静态的、稳定的;,关系是

25、关系模式在某一时刻的状态或内容,动态的、随时间不断变化的。,关系数据库模式,一组关系模式的集合叫做,关系数据库模式,2.2.3,关系数据库(,P,52,),(在一个给定的,应用领域,中,所有,实体及实体间联系的关系的集合,构成,一个,关系数据库,),关系模式,=,关系数据库的描述,=,关系数据库的型,也,可,称,为数据库的,内含,(,Intention,),,包括,关系各属性定义,及,在相应域中的映象,。,关系的“型”,是,稳定不变的,。,关系数据库,的“,值,”,(或叫数据库的,外延,Extention,),是关系模式在某一时刻对应的关系的集合,。(通常称为,-,关系数据库,),随时间而变化

26、元组的插入、更新、删除,2.2.3,关系数据库,Cont.01,关系数据库模式,是对关系数据库结构的描述,或者说是对关系数据库框架的描述。,与关系数据库模式对应的数据库中的当前值就是关系数据库的内容,称为,关系数据库,的,实例,,可以看作是,关系的值,。,例如,,在教学数据库中,共有五个关系,其关系模式分别为:,学生(学号,姓名,性别,年龄,系别),教师(教师号,姓名,性别,年龄,系别),课程(课程号,课程名,课时),选课(学号,课程号,成绩),授课(教师号,课程号),2.2.3,关系数据库,Cont.02,在每个关系中,又有其相应的数据库的实例,例如:与学生关系模式对应的数据库中的实例有如

27、下,6,个元组:,S1,赵亦,女,17,计算机,S2,钱尔,男,18,信息,S3,孙珊,女,20,信息,S4,李思,男,21,自动化,S5,周武,男,19,计算机,S6,吴丽,女,20,自动化,2.2.3,关系数据库,Cont.03,关系数据库,是“一组随时间变化,具有各种度的规范化关系的集合”。,在关系模型中,实体以及实体间的联系都是用关系来表示。在一个给定的现实世界领域中,相应于所有实体及实体之间的联系的关系的集合,构成,一个,关系数据库,。,由此可见,,关系数据库,也有,型,和,值,的概念。,其,型,就是关系数据库模式,相对固定;,其,值,就是关系数据库内容,代表现实世界中的实体,而实体

28、是随着时间不断变化的,所以其值在不同的时刻会有所变化,。,关系数据库,2.3,关系的完整性,本质,:,关系模型的完整性规则,是对关系的某种约束条件。,背景,:,为了维护数据库中数据与现实世界的一致性,对关系数据库的插入、删除和修改操作必须有一定的约束条件,这就是关系模型的三类完整性。,分类,:,关系模型中有三类完整性约束:,实体完整性,参照完整性,用户定义完整性,必须满足的完整性约束条件(即:,关系的两个不变性,),DBMS,自动支持,体现了具体领域的语义约束,一、实体完整性,(Entity Integrity P,53,),实体完整性,是指,主键的值不能为空或部分为空,。,关系模型,中的一个

29、元组,对应一个,实体,,一个,关系,则对应一个,实体集,。,例如,一条学生记录对应着一个学生,学生关系对应着学生的集合。,规则,(,实体完整性规则,):,若属性,A,是基本关系,R,的主属性,则属性,A,不能取空值。,实体完整性,是针对,基本关系,的。,现实世界中的实体是可区分的,即它们具有某种唯一性标识。与此相对应,关系模型中以主关系键来唯一标识元组。,例如,,学生关系中的属性“学号”可以唯一标识一个元组,也可以唯一标识学生实体。,如果主键中的值为空或部分为空,即主属性为空,则不符合键的定义条件,不能唯一标识元组及与其相对应的实体。这就说明存在不可区分的实体,从而与现实世界中的实体是可以区

30、分的事实相矛盾。因此,主键的值不能为空或部分为空,。,例如,,学生关系中的主键“学号”不能为空;选课关系中的主键“学号,+,课程号”不能部分为空,即“学号”和“课程号”两个属性都不能为空。,实体完整性实例,例如:,设备库,Equipment(*,设备编号,设备名称,规格型号,),SBBH SBMC GGXH,另如:,学生基本信息,学号 姓名 出生日期 出生地 民族,Student(*Sno,Sname,CSRQ,CSD,MZ,再如:,选课信息,学号 课程号 成绩,SG,(*,Sno,*Cno,CJ,),均,不为空,对实体完整性规则说明,实体完整性是针对基本关系而言的。一个,基本关系,对应现实世

31、界的一个,实体集,。,实体实体间的联系,现实世界中实体是可区分的,即它们可以具有某种唯一性标识。,关系模型中的主码作为唯一性标识。,主码中的属性即主属性不能取空值(空值就是不知道或无意义的值),非空字符串,如果主属性取空值,就说明存在某个不可标识的实体,即存在不可区分的实体,这与,矛盾。,二、参照完整性,(,Referential Integrity,P,53,),:,现实世界中的实体之间往往存在某种联系,在关系模型中实体及实体间的联系都是用关系来描述的。这样就自然存在着关系与关系间的引用,。,例,1,:,学生(,学号,,姓名,性别,,专业号,,年龄),专业(,专业号,,专业名),例,2,:,

32、学生(,学号,,姓名,性别,专业号,年龄),课程(,课程号,,课程名,学分),选课(,学号,,,课程号,,成绩),例,3,:,学生,2,(,学号,,姓名,性别,,专业号,,年龄,班长),定义,2.5,设,F,是基本关系,R,的一个或一组属性,但不是关系,R,的码,如果,F,与基本关系,S,的主码,Ks,相对应,则称,F,是基本关系,R,的,外码,(,Foreign key,),,并称基本关系,R,为,参照关系,(,Referencing relation,),,基本关系,S,为,被参照关系,(,Referenced relation,),或,目标关系,(,Target relation,)。,

33、关系,R,和,S,不一定是不同的关系。,引用返回,二、参照完整性,Cont.01,参照完整性规则,:,若属性(或属性组),F,是基本关系,R,的外码,它与基本关系,S,的主码,Ks,相对应(基本关系,R,和,S,不一定是不同的关系),则对于,R,中每个元组在,F,上的值必须为:,(,1,)或者取空值(,F,的每个属性值均为空值);,(,2,)或者等于,S,中某个元组的主码值。,如,图,2.2,所示,,学生关系中某个学生(如,s1,或,s2,)“,系别”的取值,必须在参照的系别关系中主关系键“系别”的值中能够找到,否则表示把该学生分配到一个不存在的部门中,显然不符合语义。,如果某个学生(如,s1

34、1,)“,系别”取空值,则表示该学生尚未分配到任何一个系。否则,它只能取专业关系中某个元组的专业号值。,二、参照完整性,Cont.02,S,(,学生关系),D,(,系别关系),SNO,学号,SN,姓名,SEX,性别,AGE,年龄,DEPT,所在系,S1,赵亦,女,17,计算机,S2,钱峰,男,18,信息,S3,高原,男,18,管理,S11,王威,男,19,DEPT,所在系,ADDR,地址,计算机,1号楼,信息,1,号楼,自动化,2,号楼,图,2.2,学生表和系别表,取空值,则表示该学生尚未分配到任何一个系,“管理”在系别关系中不存在,表示把该学生分配到一个不存在的部门中,显然不符合语义,二、参

35、照完整性,Cont.03,在,例,2,中,如果按照参照完整性规则,选课关系中的外部关系键“学号”和“课程号”可以取空值或者取被参照关系中已经存在的值。但由于“学号”和“课程号”是选课关系中主属性,根据实体完整性规则,两个属性都不能为空。,所以,选课关系中的外部关系键“学号”和“课程号”中能取被参照关系中已经存在的值。,实体完整性,和,参照完整性,是关系模型必须满足的完整性约束条件,被称作,关系的两个不变性,。任何关系数据库系统都应该支持这两类完整性。,除此之外,不同的关系数据库系统由于应用环境的不同,往往还需要一些特殊的约束条件,这就是,用户定义完整性,。,例,4,:,等价于,学生关系,参照关

36、系,专业关系,被参照关系,专业号,例,5,:,等价于,学生,关系,选修,关系,学号,课程,关系,课程号,例,6,:,同一关系属性间也能存在引用关系。,“班长”属性与本身的主码“学号”属性相对应,因此“班长”是外码。这里,学生关系既是参照关系也是被参照关系。,学生(*学号,姓名,性别,专业号,年龄,班长),学生关系,班长,等价于,三、用户定义的完整性,(,User-defined Integrity P,55,),根据,具体,的,应用环境,,,往往需要,一些,特殊,的,约束条件,。,-,需要由用户定义,。,此规则,反映,-,某一,具体应用,所涉及的,数据必须满足的语义要求,。,例如,:某个,属性

37、的,取值,,结合具体应用,,必须满足,以下,语义要求,:,u,某个属性的取值必须,取唯一值,;,u,某些属性值之间必须,满足一定的函数关系,;,u,某个属性的,取值范围,在,a,,,b,区间之间等。,u,例如,属性值根据实际需要,要具备一些约束条件,如选课关系中成绩不能为负数。,u,某些数据的输入格式要有一些限制等。,关系模型应该提供定义和检验这类完整性的机制,以便用统一的、系统的方法处理它们,而不要由应用程序承担这一功能。,2.4,关系代数,关系模型与其他模型相比,最有特色的是它的,数据库语言,。,这种语言灵活方便、表达能力和功能都很强。,目前关系数据库所使用的语言一般都具有,定义,、,查

38、询,、,更新,和,控制,一体化的特点,而,查询,是最主要的部分。,所以说,,关系数据库,的,核心,部分是,查询,,故又称为,查询语言,,而查询的条件要使用,关系运算表达式,来表示。,因此,,关系运算是设计关系数据语言的基础,。,按表达查询的方法不同,关系运算可分为,关系代数,和,关系演算,两大类。,2.4,关系代数,Cont.01,定义,:,关系代数,n,是一种,抽象的查询语言,;,n,是,关系操纵语言,的一种传统,表达方式,;,n,是,用,对,关系,的,运算,来,表达查询,。,2.4.1,关系代数的分类及其运算符,2.4.2,传统的集合运算(,P,56,-P,57,),2.4.3,专门的关系

39、运算(,P,58,-P,64,),2.4.1,关系代数的分类及其运算符,关系代数是对关系进行集合代数运算,是基于关系代数的操作语言,称为,关系代数语言,,简称,关系代数,。,它是由,IBM,在一个实验性的系统上实现的,称为,ISBL(Information System Base Language),语言。,ISBL,的每个语句都类似于一个关系代数表达式。,关系代数的,运算对象,是,关系,,,运算结果,也是,关系,,,关系代数,用到的,运算符,主要包括,四类,:,集合运算符,:,(并),,-,(差),,(交),,X,(,广义笛卡尔积);,专门的关系运算符,:,(,选择,),,,(投影),,(连

40、接),*(自然连接),,(除);,算术比较运算符,:,(大于),,(大于等于),,1000)(SEX=,男,),(,T,),结果如图所示。,注意:字符型数据的值应该使用单引号括起来,,例如,计算机,男。,练习:,1,)查询选择了 课程,C1,的学生,2,)查询教授了 课程,C2,的教师,TNO,TN,SEX,AGE,PROF,SAL,COMM,DEPT,T1,李力,男,47,教授,1500,3000,计算机,例,2,:,选修关系,SC,(,见,P,59,图,2.3(c),),S,NO,C,NO,Grade,S,1,S,2,S,3,S,4,S,5,S,6,1,2,3,2,3,1,85,90,75

41、80,92,88,S,NO,S,NAME,S,DEPT,S,AGE,S,1,S,2,S,3,S,4,S,5,S,6,A,B,C,D,E,F,CS,CS,MA,C1,MA,CS,20,21,19,19,20,22,学生,Student,(,见,P,59,图,2.3(a),),1,)求计算机科学系(,CS,),的学生:,记作:或,结果为:,S,NO,S,NAME,S,DEPT,S,AGE,S,1,S,2,S,6,A,B,F,CS,CS,CS,20,21,22,引用返回,2,)求年龄大于或等于,20,的学生:,4,)求选修课程,2,且成绩大于等于,88,分的元组:,3,)求计算机科学系年龄大于等于

42、20,的学生:,或,S,NO,S,NAME,S,DEPT,S,AGE,S,1,S,2,S,5,S,6,A,B,E,F,CS,CS,MA,CS,20,21,20,22,S,NO,S,NAME,S,DEPT,S,AGE,S,1,S,2,S,6,A,B,F,CS,CS,CS,20,21,22,S,NO,C,NO,Grade,S,2,2,90,3.,投影(,Projection,),(,P,60,-P,61,),投影运算,也是,单目,运算,关系,R,上的投影是,从,R,中选择出若干属性列,,组成新的关系,即对关系在垂直方向进行的运算,从左到右按照指定的若干属性及顺序取出相应列,,应删去重复元组,。记

43、作:,A,(,R,)=,t,A,|,t,R,其中,A,为,R,中的属性列,,为投影运算符。,从其定义可看出,投影运算是从,列的角度,进行的运算,这正是选择运算和投影运算的区别所在。选择运算是从关系的水平方向上进行运算的,而投影运算则是从关系的垂直方向上进行的。,投影之后,新关系与原关系可能不相容。,投影之后,去掉了一些列,可能出现重复的元组,在结果中要去掉重复的元组。因此投影之后,要去掉某些行和列。,例:查询学生的姓名和所在系(,Student,表见,例,2,),例:查询学生关系中有哪些系(,Student,表见,例,2,),S,NAME,S,DEPT,A,B,C,D,E,F,CS,CS,MA

44、C1,MA,CS,S,DEPT,CS,MA,C1,再例,:查询教师的姓名,教师号及其职称(教师表参见,例,1,)。,TN,TNO,PROF,(,T,),或,2,1,5,(,T,),(,其中,2,1,5,分别为,TN,、,TNO,和,PROF,的属性序号),结果右图所示,TN,TNO,PROF,李力,T1,教授,王平,T2,讲师,刘伟,T3,讲师,张雪,T4,教授,张兰,T5,副教授,上例表明,投影运算可以改变关系的属性次序,又例,:查询教师关系中有哪些系(教师表参见,例,1,)。,DEPT,(T),结果如右图所示,由上例可以看出,投影后取消了某些属性列后,就可能出现重复行,应该,取消这些完全

45、相同的行,。所以,投影之后,不但减少了属性,元组也可能减少,,新关系与原关系不相容。,DEPT,计算机,信息,自动化,又例,:查询讲授,C5,课程的教师号(教师表参见,例,1,)。,TNO,(,CNO=C5,(TC),结果如右图所示。,TNO,T2,T3,T5,本例中选取运算和投影运算相结合,先在授课表中选取满足条件的元组,再于,TNO,属性上进行投影。,练习,:,1,)查询 数据库,的课时,2,)查询选择了 课程,C1,的学生的学生号及成绩,4.,连接(,Join,),连接运算是,二目,运算,是从两个关系的笛卡尔积中选取满足连接条件的元组,组成新的关系。,设关系,R,(,A,1,A,2,A,

46、n,)及,S,(,B,1,B,2,B,m,),,连接属性集,X,包含于,A,1,A,2,A,n,,及,Y,包含于,B,1,B,2,B,m,,,X,与,Y,中属性列数目相等,且相对应属性有共同的域,。,【,若,Z,=,A,1,A,2,A,n,/,X,(,/,X,:,去掉,X,之外的属性)及,W,=,B,1,B,2,B,m,/,Y,,,则,R,及,S,可表示为,R,(,Z,X,),,,S,(,W,Y,),。,】,关系,R,和,S,在连接属性,X,和,Y,上的连接,就是在,R,S,笛卡尔积中,,选取,X,属性列上的分量与,Y,属性列上的分量满足给定,比较条件的那些元组,,也就是在,R,S,上选取在连

47、接属性,X,Y,上满足,条件的子集,组成新的关系。,新关系的度为,n,+,m,。,4.,连接(,Join,),Cont.01,记作:,R,S,=,t,r,t,s,|,t,r,R,t,s,S,t,r,X,t,s,Y,为真,其中,是连接运算符,,为算术比较运算符,也称,连接;,XY,为连接条件,F,,,F,的一般形式为,F,1,F,2,F,n,,,每个,F,i,是形为,t,r,A,i,s,B,j,的式子。,为“,=”,时,称为,等值连接,;,为“,”,时,称为,大于连接,。,连接运算为非基本运算,可以用选取运算和广义笛卡尔积运算来表示:,R,S,=,x,y,(,R,S,),XY,分类,:连接运算主

48、要分成两大类:,l,常用的连接,运算,l,一般的连接,运算,其中,在连接运算中两种重要的也最为,常用的连接,:,l,等值连接,(,Equijoin,);,l,自然连接,(,Natural join,),。,等值连接,(,Equijoin,),:,为“”的连接运算为“,等值连接,”。它是从关系,R,与,S,的广义笛卡尔积中选取,A,、,B,属性值相等的那些元组,即等值连接记为:,一般的连接,:,一般的连接操作,不,需要,取消重复列,,所以是,同时从行,的角度和,列,的角度,进行运算,。,自然连接,(,Natural join,),:,是一种,特殊的等值连接,,它,要求,两个关系中,进行比较,的,

49、分量,必须,是相同,的,属性组,,并且在,结果,中,把重复,的,属性列去掉,。即:,R,和,S,具有相同的属性组,B,(,同名),则自然连接记为:,=,在连接运算中,一种最常用的连接是自然连接。,所谓,自然连接,是一种特殊的等值连接,它要求两个关系中,进行比较的分量必须是相同的属性组,并且在连接结果中把重复的属性列去掉,。即如果,R,与,S,具有相同的属性组,Y,,,则自然连接可记作:,RS=t,r,t,s,|,t,r,Rt,s,St,r,Y,=,t,s,Y,自然连接是在广义笛卡尔积,RS,中选出同名属性上符合相等条件的元组,再进行投影,去掉重复的同名属性,组成新的关系。,例:如图,(a),、

50、b),所示的两个关系,R,与,S,(c),为,R,和,S,的,大于连接,(,C,D,);,(d),为,R,和,S,的,等值连接,(,C,=,D,);,(e),为,R,和,S,的,等值连接,(,R,.,B,=,S,.,B,);,(f),为,R,和,S,的,自然连接,。,A,B,C,a1,b1,2,a1,b2,4,a2,b3,6,a2,b4,8,B,D,b1,5,b2,6,b3,7,b3,8,(a)(b),R S,R,:,X=C,S,:,Y=D,大于连接,(,CD,),等值连接,(,C=D,),R S R S,C,D,C,=,D,A,R.B,C,S.B,D,a2,b3,6,b1,5,a2,b4

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服