已阅读5页,还剩62页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章关系数据库,2,本章主要按数据模型的三个要素讲述关系数据库的一些基本理论(关系模型的数据结构、关系的定义和性质、关系的完整性、关系代数、关系数据库等)掌握关系的定义及性质、关系键、外部键等基本概念以及关系演算语言的使用方法重点掌握实体完整性和参照完整性的内容和意义、常用的几种关系代数的基本运算等,3,2.1关系模型的数据结构及其形式化定义2.2关系的键与关系的完整性2.3关系代数2.4关系演算,4,2.1关系模型的数据结构及其形式化定义,2.1.1关系的形式化定义及其有关概念域(Domain)域是一组具有相同数据类型的值的集合,又称为值域域中所包含的值的个数称为域的基数(用m表示)。例如:D1=李力,王平,刘伟,m1=3;D2=男,女;m2=2;D3=18,20,18;m3=3。,整数、实数和字符串的集合都是域,域名,关系模型的数据结构:关系。以集合代数理论为基础。,在关系中,用域来表示属性的取值范围。,5,给定一组域D1,D2,Dn(它们可以包含相同的元素,即可以完全不同,也可以部分或全部相同)。D1,D2,Dn的笛卡尔积为D1D2Dn=(d1,d2,dn)|diDi,i=1,2,n每一个元素(d1,d2,dn)中的每一个值di叫做一个分量(Component),diDi每一个元素(d1,d2,dn)叫做一个n元组(n-Tuple),简称元组(Tuple)(注意:元组是按序排列的),笛卡尔积(CartesianProduct),6,笛卡尔积D1D2Dn的基数M(即元素(d1,d2,dn)的个数)为所有域的基数的累乘之积,即M=。例如,上述表示教师关系中姓名、性别两个域的笛卡尔积为:D1D2=(李力,男),(李力,女),(王平,男),(王平,女),(刘伟,男),(刘伟,女)分量:李力、王平、刘伟、男、女元组:(李力,男),(李力,女),M=m1m2=32=6,7,笛卡尔积可用二维表的形式表示:笛卡尔积实际是一个二维表,表的任意一行是一个元组,表中的每一列来自同一个域。,元组,同一域,8,关系(Relation)笛卡尔积D1D2Dn的任一子集称为定义在域D1,D2,Dn上的n元关系(Relation)R(D1,D2,Dn),关系的名字,n是关系的目或度(Degree),如,上例D1D2笛卡尔积的某个子集可以构成教师关系T1,如表2.2所示,D1D2笛卡尔积的子集(关系T1),9,在关系R中,当n=1时,称为单元关系。当n=2时,称为二元关系,以此类推。关系中的每个元素是关系中的元组,通常用t表示,关系中元组个数是关系的基数(笛卡尔积可用二维表的形式)由于关系是笛卡尔积的子集,因此,也可以把关系看成一个二维表。,说明:,10,元组,域,属性,属性的名字惟一,(1)表的框架由域Di(i=1,2,n)构成,即表的每一列对应一个域。,(2)表的每一行对应一个元组。,(3)由于域可以相同,为了加以区别,必须对每一列起一个名字,称为属性,n目关系,必有n个属性,属性的名字唯一,属性的取值范围Di(i=1,2,n)称为值域。,11,不符合实际意义的关系,在关系模型中,关系可进一步定义为:关系头(Heading)+关系体(Body),由属性名的集合组成,关系结构中的内容或者数据,不变,可变,(4)具有相同关系框架的关系称为同类关系。实际应用中,关系是笛卡尔积中所取的有意义的子集。,12,2.1.2关系的性质,关系是一种规范化了的二维表中行的集合每一列中的分量必须来自同一个域,必须是同一类型的数据。即,列是同质的。不同的列可来自同一个域,每一列称为属性,不同的属性必须有不同的名字。列的顺序可以任意交换。关系中元组的顺序(即行序)可任意。关系中不允许出现相同的元组。(集合中元素唯一)关系中每一分量必须是不可分的数据项。,尽管关系与二维表格、传统的数据文件是非常相似的,但它们之间又有着重要的区别。,13,非规范化的关系表2.8,规范化的关系表2.9,在表2.8中,籍贯含有省、市县两项,出现了“表中有表”的现象,则为非规范化关系,而应把籍贯分成省、市县两列,将其规范化,如表2.9所示,14,2.1.3关系模式,2.1.3关系模式关系的描述称为关系模式(RelationSchema)R(U,D,DOM,F)R-关系名U-属性名集合D-属性所来自的域DOM-属性向域的映像集合F-属性间数据的依赖关系集合简记为:R(U)或R(A1,A2,An),属性名,数据库中要区分型和值。关系数据库中,关系模式是型、关系是值。,15,关系模型,关系,关系头,关系体,静态、稳定,固定不变,随数据更新不断变化,16,例如,在第1章的图1-22所示的教学数据库中,共有五个关系,其关系模式可分别表示为:学生(学号,姓名,性别,年龄,系别)教师(教师号,姓名,性别,年龄,职称,工资,岗位津贴,系别)课程(课程号,课程名,课时)选课(学号,课程号,成绩)授课(教师号,课程号),17,与学生关系模式对应的数据库中的实例有如下6个元组,如图2-1所示。,图2-1与学生关系模式对应的实例,18,2.1.4关系数据库与关系数据库模式,关系数据库模式,关系数据库,型,值,静态、稳定,固定不变,随数据更新不断变化,关系模型中,实体以及实体间的联系都是用关系进行表示。给定一应用领域,所有实体以及实体之间的联系所对应的关系的集合构成一个关系数据库。,关系数据库也有型和值之分:,对关系数据库结构的描述,与关系数据库模式对应的关系数据库的内容,19,2.2关系的键与关系的完整性,2.2.1候选键与主关系键候选键(CandidateKey)(也称为候选关键字或候选码)“学生关系”中的学号能惟一标识每一个学生“选课关系”中,只有属性的组合“学号+课程号”才能惟一地区分每一条选课记录能惟一标识关系中元组的一个属性或属性集,称为候选键(CandidateKey),候选键,候选键,惟一性,最小性,候选键的形式化定义2.6书50页,20,主关系键(PrimaryKey)一个关系中候选键可能存在多个,如学号、身份证号从多个候选键中选择一个作为查询、插入或删除元组的操作变量,被选用的候选键称为主关系键。每个关系必定有且仅有一个主关系键,学号,姓名,以学号作为数据操作的依据,以姓名作为数据操作的依据,主键主码关系键关键字,21,主属性(PrimeAttribute)与非码属性(Non-PrimeAttribute)主属性:包含在主关系键中的各个属性称为主属性非码属性:不包含在任何候选键中的属性称为非码属性(或非主属性)全码(All-key):所有属性的组合是关系的候选键,教师T,课程C,1:n,n:1,学生S,课程C,1:n,n:1,教师T,学生S,课程C,n:n,n:n,n:n,候选码为(T,C,S),全码,任一候选键,22,2.2.2外部关系键,2.2.2外部关系键或外码(Foreignkey),关系R1,关系R2,属性X,属性Y,属性X,属性Z,主码,主码,外部关系键或外码,参照关系,被参照关系,被参照关系的主码和参照关系的外码必须定义在同一个域上,23,2.2.3关系的完整性,2.2.3关系的完整性,完整性约束,实体完整性,参照完整性,用户自定义完整性,必须满足,体现具体领域中的语义约束,为了维护关系数据库中数据与现实世界的一致性,对关系数据库的操作必须有一定的约束条件,这些约束条件是现实世界的要求。,24,实体完整性(EntityIntegrity)主关系键的值不能为空或部分为空学生关系中的主关系键“学号”不能为空选课关系中的主关系键“学号+课程号”不能部分为空,即“学号”和“课程号”两个属性都不能为空参照完整性(Referentialintegrity)如果关系R2的外部关系键X与关系R1的主关系键相符,则X的每个值或者等于R1中主关系键的某一个值,或者取空值,25,未分配系别,S中,系别取空值,表示该学生尚未分配到任何一个系;否则,它只能取D中某个元组的系别号值。如果该属性为主属性,则连空值都无法取,只能取被参照关系中的已有值。,26,用户定义完整性(User-definedIntegrity)针对某一具体关系数据库的约束条件反映某一具体应用所涉及的数据必须满足的语义要求如:成绩属性的取值范围在0-100之间,27,2.3关系代数,关系数据结构,关系操作,关系完整性约束,查询,更新,插入,删除,修改,关系模型,关系模型由关系数据结构、关系操作和关系完整性约束三部分组成。关系模型中常用的关系操作包括查询操作和更新操作(包括插入、删除和修改)两大部分。,2.3关系代数,关系操作采用集合操作方式,即操作的对象和结果都是集合。也称为一次一集合(set-at-a-time)关系操作通常用代数方式或逻辑方式来表示,分别称为关系代数和关系演算,28,三种运算语言,关系代数,关系演算,元组关系演算,域关系演算,29,2.3.1关系代数的分类及其运算符,2.3.1关系代数的分类及其运算符关系代数是一种抽象的查询语言关系代数的运算对象与运算结果都是关系关系代数运算符,*,,1000)(Sex=男)(T)运算结果如图,41,投影(Projection)A(R)=tA|tR例2-7查询教师的姓名、教师号及其职称。TN,TNo,Prof(T)或2,1,5(T)(其中2,1,5分别为属性TN、TNo和Prof的序号)运算结果如图,A为R中的属性列,从列的角度进行的运算,投影运算是从关系R中顺序取出若干属性列,删去重复元组,组成新的关系。,42,例2-8查询教师关系中有哪些系。Dept(T)运算结果如图,43,例2-9查询讲授C5课程的教师号。运算结果如图,44,连接(Join)=trts|trRtsStrXtsY为真为算术比较运算符自然连接:在等值连接的情况下,当连接属性X与Y具有相同属性组时,把在连接结果中重复的属性列去掉,记为:R*S,连接操作是二目运算,是从两个关系的笛卡尔积中选择满足连接条件的元组,组成新的关系。对于关系R(Z,X),S(W,Y):X与Y中属性列数目相等,且对应属性有共同的域。,RS=xy(RS),连接运算为非基本运算,可以用选取运算和广义笛卡尔积运算来表示。,45,例2-10设有如图2-9(a)、(b)所示的两个关系R与S,(c)为R和S的大于连接(CD),(d)为R和S的等值连接(C=D),(e)为R和S的等值连接(R.B=S.B),(f)为R和S的自然连接。,(a),(b),46,(c),(d),(f),(e),47,等值连接与自然连接的区别自然连接要求相等属性值的属性名相同,而等值连接不要求自然连接是去掉重复列的等值连接例2-11查询讲授“数据库”课程的教师姓名。TN(CN=数据库(C)*TC*TNo,TN(T)或TN(TNo(CN=数据库(C)*TC)*TNo,TN(T)运算结果如图,48,除法(Division)RS=trX|trRy(S)Yx除法运算同时从行和列的角度进行运算,适合于包含“全部”之类的短语的查询。,Yx为x在R中的象集,x=trX,49,【例2-12】已知关系R和S,如图2-11(a),(b)所示,则RS如图(c)所示。,50,与除法的定义相对应,本题中X=A,B=(a1,b2),(a2,b4),(a3,b5),Y=C,D=(c3,d5),(c4,d6)Z=F=f3,f4其中,元组在X上各个分量值的象集分别为:(a1,b2)的象集为(c3,d5),(c4,d6)(a2,b4)的象集为(c1,d3)(a3,b5)的象集为(c2,d8)S在Y上的投影为(c3,d5),(c4,d6)显然只有(a1,b2)的象集包含S在Y上的投影,所以RS=(a1,b2),51,除举例,设关系R,S,如图(a),(b)所示,则RS如图(c)所示。,52,关系R中,A可以取4个值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的象集(B,C)a1包含了S在(B,C)属性组上的投影,所以RS=a1,53,例2-13查询选修了全部课程的学生学号和姓名。SNo,CNo(SC)CNo(C)*SNo,SN(S)例2-14查询至少选修了C1课程和C3课程的学生学号。SNo,CNo(SC)CNo(CNo=C1CNo=C3(C)只有S4同学的象集至少包含了C1课程和C3课程,因此,查询结果为S4。,关系代数,课后作业,54,55,2.4关系演算,关系代数,关系演算,过程化语言,怎样做,非过程化语言,做什么,56,2.4.1元组关系演算语言ALPHA语言QUEL语言,关系演算,元组关系演算,域关系演算,ALPHA,QUEL,QBE,57,2.4.1元组关系演算语言,ALPHA语言基本格式:():,内存空间(W),GETPUTHOLDUPDATEDELETEDROP,58,数据查询,简单查询条件查询排序查询定额查询带元组变量的查询带存在量词的查询库函数查询,数据更新,修改插入删除,DELETE,PUT,59,简单查询例2-16查询所有被选修的课程号码。GETW(SC.CNo)条件查询例2-17查询计算机系工资高于1000元的教师的姓名和工资。GETW(T.TN,T.Sal):T.Dept=计算机T.Sal1000排序查询例2-18查询S3同学所选课程号及成绩,并按成绩降序排列。GETW(SC.CNo,SC.Score):SC.SNo=S3DOWNSC.Score定额查询例2-20查询一名男教师的教师号和姓名,并使他的年龄最小。GETW(1)(T.TNo,T.TN):T.Sex=男UPT.Age,60,带元组变量的查询例2-21查询S3同学所选课程号。RANGESCXGETW(X.CNo):X.SNo=S3带存在量词的查询例2-23查询至少选修一门其课时数为80的课程的学生的姓名。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 校园消防安全监控系统建设
- 医养结合服务人员培训提升方案
- 排水项目进度目标分解与实施路径方案
- 2025年拉萨出租车考试题及答案
- 《转基因生物的安全性》导学案
- 海南中考地理试卷及答案
- 消防控制室信息采集与报警系统方案
- 2025年下学期邵东四中高二期中考试卷(历史)
- 工业气体生产项目经济效益和社会效益分析报告
- 环保型给水管道材料应用方案
- 2025年国企招聘考试(财会专业)历年参考题库含答案详解(5套题)
- 三年级语文学生学习帮扶报告
- 2025低空经济无人机网络安全事件案例分析报告
- 2025年公安部交管局三力测试题库及答案
- HCIA-AIH13-311v3.5认证考试题(附答案)
- 再生电解铜生产线项目技术方案
- 2025年农产品食品检验员(三级高级工)技能理论考试题库(含答案)
- 塔吊安装与拆卸安全培训课件
- 机器人学基础导论
- 国家开放大学报名合同6篇
- 人工智能基础与应用课件 第二章 模块二 智绘视界:生成式人工智能的图像生成与视觉创新
评论
0/150
提交评论