收藏 分销(赏)

第2章关系模型及其数学基础.ppt

上传人:精*** 文档编号:13479444 上传时间:2026-03-23 格式:PPT 页数:106 大小:561KB 下载积分:20 金币
下载 相关 举报
第2章关系模型及其数学基础.ppt_第1页
第1页 / 共106页
第2章关系模型及其数学基础.ppt_第2页
第2页 / 共106页


点击查看更多>>
资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第二章 关系模型及其数据基础,2.1,关系数据库简介,2.2,关系数据结构,2.3,关系的完整性,2.4,关系操作的集合,2.5,关系代数,2.6,关系演算,关系模型三要素,关系模型的理论基础,2.1,关系数据库简介,系统而严格地提出关系模型的是美国,IBM,公司的,E.F.Codd,1970,年提出关系数据模型,E.F.Codd,“A Relational Model of Data for Large Shared Data Banks”,Communication of the ACM,1970,之后,提出了关系代数和关系演算的概念,1972,年提出了关系的第一、第二、第三范式,1974,年提出了关系的,BC,范式,关系模型在表达数据的物理结构和逻辑结构方面比早期的数据库模型更加直观。然而,该模型要求计算机的硬件性能更高。,以关系模型为基础的关系数据库系统出现在,70,年代末,,80,年代后,关系数据库系统成为最重要、最流行的数据库系统。,关系数据库简介(续),典型商用系统,ORACLE,SYBASE,INFORMIX,DB2,SQL Server,其它,Access,Visual,ForPro,关系数据库简介(续),关系数据模型包含三方面的含义:,关系数据结构(,2.2,节),关系完整性约束(,2.3,节),关系操作集合(,2.4,节),2.2,关系数据结构,现实世界的,实体,以及实体间的,各种联系,均用,关系,来表示,数据的逻辑结构,-,二维表,关系模型建立在集合代数的基础上,关系数据结构的基本概念,关系,关系模式,2.2.1,关系,域(,Domain,),2.,笛卡尔积(,Cartesian Product,),3.,关系(,Relation,),域(,Domain,),域,是一组具有相同数据类型的值的集合。例,:,整数,实数,介于某个取值范围的整数,长度指定长度的字符串集合,男,女,介于某个取值范围的日期,2.,笛卡尔积(,Cartesian Product,),1),笛卡尔积,给定一组域,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,也就是所有域的所有取值的一个组合。,例:,给出三个域:,D,1,=,SUPERVISOR,=,张清玫,刘逸,D,2,=,SPECIALITY,=,计算机专业,信息专业,D,3,=,POSTGRADUATE,=,李勇,刘晨,王敏,则,D,1,,,D,2,,,D,3,的笛卡尔积为:,D,1,D,2,D,3,(,张清玫,计算机专业,李勇,),,,(,张清玫,计算机专业,刘晨,),,,(,张清玫,计算机专业,王敏,),,,(,张清玫,信息专业,李勇,),,,.,(,刘逸,信息专业,刘晨,),,,(,刘逸,信息专业,王敏,),笛卡尔积(续,),2),元组,(,Tuple,),笛卡尔积中每一个元素(,d,1,,,d,2,,,,,d,n,),叫作一个,n,元组,(,n-tuple,),或简称,元组,,元组通常用,t,表示。,3),分量(,Component,),笛卡尔积元素(,d,1,,,d,2,,,,,d,n,),中的每一个成员,d,i,叫作一个,分量,。,笛卡尔积(续,),4),基数(,Cardinal number,),若,D,i,(,i,1,,,2,,,,,n,),为有限集,其基数为,m,i,(,i,1,,,2,,,,,n,),则,D,1,D,2,D,n,的基数,M,为:,在上例中,基数:,223,12,,即,D,1,D,2,D,3,共有,223,12,个元组,5),笛卡尔积的表示方法,笛卡尔积可表示为一个二维表。表中的每行对应一个元组,表中的每列对应一个域。,在上例中,,12,个元组可列成一张二维表,笛卡尔积(续,),3.,关系(,Relation,),1),关系,D,1,D,2,D,n,的,子集,叫作在域,D,1,,,D,2,,,,,D,n,上的,关系,,表示为,R,(,D,1,,,D,2,,,,,D,n,),R,:,关系名,n,:,关系的,目,或,度,(,Degree,),关系(续),注意:,关系是笛卡尔积的有限子集。无限关系在数据库系统中是无意义的。,由于笛卡尔积不满足交换律,即,(d1,,,d2,,,,,dn,)(d2,,,d1,,,,,dn,),但关系满足交换律,即,(d,1,,,d,2,,,,,d,i,,,d,j,,,,,d,n,),=,(,d,1,,,d,2,,,,,dj,,,di,,,,,d,n,)(,i,,,j,=1,,,2,,,,,n,),解决方法:为关系的每个列附加一个属性名以取消关系元组的有序性,关系(续),例如,在表,2.,1,的笛卡尔积中取出有,实际意义,的元组来构造关系,假设:导师与专业:,1:1,,导师与研究生:,1:n,于是:,SAP,关系可以包含三个元组,SAP(SUPERVISOR,,,SPECIALITY,,,POSTGRADUATE),张清玫,信息专业,李勇,张清玫,信息专业,刘晨,刘逸,信息专业,王敏,关系(续),3),单元关系与二元关系,当,n,=1,时,称该关系为,单元,关系(,Unary relation,)。,当,n,=2,时,称该关系为,二元,关系(,Binary relation,)。,2),关系的表示,关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域。,关系(续),4),属性,关系中不同列可以对应相同的域,为了加以区分,必须对每列起一个名字,称为属性(,Attribute,)。,n,元关系必有,n,个属性。,关系的规范化,能否把关系定义成如下形式:,导师,专业,研究生,研一,研二,.,.,.,.,不能。在关系数据库,要求每个分量是不可再分的数据,这是定义关系时的最基本要求,称为“第一范式”。,关系(续),5),码,候选码(,Candidate key,),若基本关系表中的某一属性(或属性组)的值能唯一地标识一个元组,则称该属性(或属性组)为,候选码,。,在最简单的情况下,候选码只包含一个属性,在最极端的情况下,关系模式的所有属性是这个关系模式的候选码,称为全码(,All-key,),主码,若一个关系有多个候选码,则选定其中一个为,主码,(,Primary key,),主码的诸属性称为,主属性,(,Prime attribute,)。不包含在任何侯选码中的属性称为,非码属性,(,Non-key attribute,),关系(续),6),三类关系,基本关系,(基本表),实际存在的表,是实际存储数据的逻辑表示,查询表,查询结果对应的表,视图表,由基本表或其他视图表导出的表,是虚表,不对,应实际存储的数据,关系(续),7),关系的性质,列是同质的(,Homogeneous,),每一列中的分量是同一类型的数据,来自同,一个域,不同的列可出自同一个域,其中的每一列称为一个属性,不同的属性要给予不同的属性名,关系(续),上例中也可以只给出两个域:,人(,PERSON,),=,张清玫,刘逸,李勇,刘晨,王敏,专业(,SPECIALITY,),=,计算机专业,信息专业,SAP,关系的导师属性和研究生属性都从,PERSON,域中取值,为了避免混淆,必须给这两个属性取不同的属性名,而不能直接使用域名。,例如定义,:,导师属性名为,SUPERVISOR,研究生属性名为,POSTGRADUATE,关系(续),列的顺序无所谓,列的次序可以任意交换。,遵循这一性质的数据库产品,(,如,ORACLE),,增加新属性时,永远是插至最后一列。,但也有许多关系数据库产品没有遵循这一性质,例如,FoxPro,仍然区分了属性顺序,关系(续),任意两个元组不能完全相同,由笛卡尔积的性质决定。但许多关系数据库产品没有遵循这一性质。,例如,:,Oracle,,,FoxPro,等都允许关系表中存在两个完全相同的元组,除非用户特别定义了相应的约束条件。,关系(续),行的顺序无所谓,行的次序可以任意交换。,遵循这一性质的数据库产品,(,如,ORACLE),,插入一个元组时永远插至最后一行。,但也有许多关系数据库产品没有遵循这一性质,例如,FoxPro,仍然区分了元组的顺序。,关系(续),分量必须取原子值,每一个分量都必须是不可分的数据项。,这是规范条件中最基本的一条,2.2.2,关系模式,1,什么是关系模式,2,定义关系模式,3.,关系模式与关系,1,什么是关系模式,关系模式(,Relation Schema,),是型,关系是值,关系模式是对关系的描述,:,元组集合的结构,有哪些属性,属性来自的域,属性与域之间的映象关系,(,属性的类型和长度),元组语义以及完整性约束条件,属性间的数据依赖关系集合,(见后续章节),2,定义关系模式,关系模式可以形式化地表示为:,R,(,U,,,D,,,dom,,,F,),R,关系名,U,组成该关系的属性名集合,D,属性组,U,中属性所来自的域,dom,属性向域的映象集合,F,属性间的数据依赖关系集合,定义关系模式,(,续,),关系模式通常可以简记为,R,(,U,),或,R,(,A,1,,,A,2,,,,,A,n,),R,关系名,A,1,,,A,2,,,,,A,n,属性名,注:域名及属性向域的映象常常直接说明为,属性的类型、长度,3.,关系模式与关系,关系模式,对关系的描述,静态的、稳定的,关系,关系模式在某一时刻的状态或内容,动态的、随时间不断变化的,关系模式和关系往往统称为关系。,2.3,关系的完整性约束,关系模型的完整性规则是对关系的某种约束条件。,关系模型中三类完整性约束:,实体完整性,参照完整性,用户定义的完整性,实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称作是关系的两个,不变性,,应该由关系系统自动支持。,而用户定义的完整性反映应用领域需要遵循的约束条件,体现了具体领域中的语义约束。用户定义后由系统支持。,2.3.1,实体完整性,实体完整性规则(,Entity Integrity,),实体完整性是针对基本关系而言的。实体完整性用“,主键,”约束。该规则规定:若属性,A,是基本关系,R,的主属性,则属性,A,不能取空值。,原因:,现实世界中的实体是可区分的(即具有唯一性标识),若实体的主属性为空,意味着它不可标识。例:,选修(学号,课程号,成绩),“学号、课程号”为主码,则两个属性都不能取空值。,2.3.2,参照完整性,1.,关系间的引用,2.,外码,3.,参照完整性规则,1.,关系间的引用,在关系模型中实体及实体间的联系都是用关系来描述的,因此可能存在着关系与关系间的引用。,例,1,学生、专业之间的一对多联系,学生(,学号,,姓名,性别,,专业号,,年龄),专业(,专业号,,专业名),专业(,专业号,,专业名),学生(,学号,,姓名,性别,专业号,年龄),关系间的引用,(,续,),例,2,学生、课程、学生与课程之间的多对,多联系,学生(,学号,,,姓名,性别,专业号,年龄),课程(,课程号,,课程名,学分),选修(,学号,,,课程号,,成绩),学生,学生选课,课程,关系间的引用,(,续,),例,3,学生实体及其内部的领导联系,(,一对多,),学生(,学号,,姓名,性别,专业号,年龄,,班长,),2,外码(,Foreign Key,),参照完整性用,“,外码,”,来约束。,设,F,是基本关系,R,的主属性,但不是关系,R,的码。如果,F,与基本关系,S,的主码,K,s,相对应,则称,F,是基本关系,R,的,外码,基本关系,R,称,为,参照关系,(,Referencing Relation,),基本关系,S,称,为,被参照关系,(,ReferencedRelation,),或,目标关系,(,Target Relation,)。,说明,关系,R,和,S,不一定是不同的关系,目标关系,S,的主码,K,s,和参照关系的外码,F,必须定义在同一个(或一组)域上。外码并不一定要与相应的主码同名。当外码与相应的主码属于不同关系时,往往取相同的名字,以便于识别。,例:学号,+,课程号 是选课关系的主码,学号 与 课程号 都是该关系的外码。,3.,参照完整性规则,若属性(或属性组),F,是基本关系,R,的外码,它与基本关系,S,的主码,K,s,相对应(基本关系,R,和,S,不一定是不同的关系),则对于,R,中每个元组在,F,上的值必须为:,或者取空值(,F,的每个属性值均为空值),或者等于,S,中某个元组的主码值。,学生关系中每个元组的,“,专业号,”,属性只取下面两类值:,(,1,),空值,,表示尚未给该学生分配专业,(,2,)非空值,这时该值必须,是专业关系中某个元组的,“,专业号,”,值,,表示该学生不可能分配到一个不存在的专业,2.3.3,用户定义的完整性,用户定义的完整性是针对某一具体关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求。,关系模型应提供定义和检验这类完整性的机制,以便用统一的系统的方法处理它们,而不要由应用程序承担这一功能。例,:,课程,(,课程号,,课程名,学分,),“,课程名”属性必须取唯一值,非主属性“课程名”也不能取空值,“学分”属性只能取值,1,,,2,,,3,,,4,2.4,关系操作集合,1),常用的关系操作,查询,更新,(,插入,、,删除、修改,),查询的表达能力是其中最主要的部分。,关系操作的特点,集合操作方式,即操作的对象和结果都是集合。,而其它数据模型的数据操作方式是一次一记录。,关系操作集合(续),2),关系数据语言的种类,关系代数语言,用关系代数中的“关系运算”来表达查询要求,典型代表:,ISBL,关系演算语言:用谓词来表达查询要求,元组关系演算语言,谓词变元的基本对象是元组变量。,典型代表:,APLHA,QUEL,域关系演算语言,谓词变元的基本对象是域变量,典型代表:,QBE,关系代数、元组关系演算和域关系演算三种语言在表达能力上完全等价。,关系操作集合(续),具有关系代数和关系演算双重特点的语言,典型代表:,SQL,关系数据语言的特点:,关系语言是一种高度非过程化的语言。,存取路径的选择由,DBMS,的优化机制来完成,用户不必用循环结构就可以完成数据操作。,能够嵌入高级语言中使用。,小结,关系数据结构,关系,域,笛卡尔积,关系,关系,属性,元组,候选码,主码,主属性,基本关系的性质,关系模式,小结,关系的完整性约束,实体完整性,参照完整性,外码,用户定义的完整性,关系操作集合,查询,数据更新,插入、删除、修改,2.5,关系代数,2.5.1,概述,2.5.2,传统的集合运算,2.5.3,专门的关系运算,2.5.1,概述,1.,关系代数,2.,运算的三要素,3.,涉及到的运算符,4.,两类关系代数运算,5.,表示记号,概述,1.,关系代数,一种抽象的查询语言,用对关系的运算来表达查询,2,关系代数运算的三个要素,运算对象:关系,运算结果:关系,运算符:四类,概述,(,续,),3.,涉及到的运算符,集合运算符,将关系看成元组的集合,运算是从关系的“水平”方向即行的角度来进行,专门的关系运算符,不仅涉及行而且涉及列,算术比较符,辅助专门的关系运算符进行操作,逻辑运算符,辅助专门的关系运算符进行操作,集合,运算,符,-,并,差,交,广义笛卡尔积,比较运算符,大于,大于等于,小于,小于等于,等于,不等于,运算符,含义,运算符,含义,表,2.4,关系代数运算符,概述,(,续,),专门的关系,运算符,选择,投影,连接,除,逻辑运算符,非,与,或,运算符,含义,运算符,含义,表,2.4,关系代数运算符(续),概述,(,续,),概述,(,续,),4,两类关系代数运算,传统的集合运算,并、差、交、广义笛卡尔积,专门的关系运算,选择、投影、连接、除,概述,(,续,),5,表示记号,(,1,),R,,,t,R,,,tA,i,设关系模式为,R,(,A,1,,,A,2,,,,,A,n,),它的一个关系设为,R,。,t,R,表示,t,是,R,的一个元组,t,A,i,则表示元组,t,中相应于属性,A,i,的一个分量,概述,(,续,),(,2,),A,,,tA,,,A,若,A,=,A,i,1,,,A,i,2,,,,,A,ik,,,其中,A,i,1,,,A,i,2,,,,,A,ik,是,A,1,,,A,2,,,,,A,n,中的一部分,则,A,称为属性列或域列。,tA,=(,t,A,i,1,,,t,A,i,2,,,,,t,A,ik,),表示元组,t,在属性列,A,上诸分量的集合。,A,则表示,A,1,,,A,2,,,,,A,n,中去掉,A,i,1,,,A,i,2,,,,,A,ik,后剩余的属性组。,概述,(,续,),(,3,),t,r,t,s,R,为,n,目关系,,S,为,m,目关系。,t,r,R,,,t,s,S,,,t,r,t,s,称为元组的连接,。,它是一个,n,+,m,列的元组,前,n,个分量为,R,中的一个,n,元组,后,m,个分量为,S,中的一个,m,元组。,概述,(,续,),4,)象集,Z,x,给定一个关系,R,(,X,,,Z,),,X,和,Z,为属性组。当,t,X,=,x,时,,x,在,R,中的,象集,(,Images Set,),为:,Z,x,=,t,Z,|,t,R,,,t,X,=,x,它表示,R,中属性组,X,上值为,x,的诸元组在,Z,上分量的集合。,2.5.2,传统的集合运算,并,差,交,广义笛卡尔积,1.,并(,Union,),R,,,S,具有相同的目,n,(,即两个关系都有,n,个属性),相应的属性取自同一个域,R,S,仍为,n,目关系,由属于,R,或属于,S,的元组组成,R,S,=,t,|,t,R,t,S,并(续),A,B,C,a1,b1,c1,a1,b2,c2,a2,b2,c1,A,B,C,a1,b1,c1,a1,b2,c2,a1,b3,c2,a2,b2,c1,A,B,C,a1,b2,c2,a1,b3,c2,a2,b2,c1,R,S,R,S,2.,差(,Difference,),R,,,S,具有相同的目,n,相应的属性取自同一个域,R-S,仍为,n,目关系,由属于,R,而不属于,S,的所有元组组成,R,-,S,=,t,|,t,R,t,S,差(续),A,B,C,a1,b1,c1,a1,b2,c2,a2,b2,c1,A,B,C,a1,b1,c1,A,B,C,a1,b2,c2,a1,b3,c2,a2,b2,c1,R,S,R,-,S,3.,交(,Intersection,),R,,,S,具有相同的目,n,相应的属性取自同一个域,R,S,仍为,n,目关系,由既属于,R,又属于,S,的元组组成,R,S,=,t,|,t,R,t,S,R,S,=,R,(,R,-,S,),交,(,续,),A,B,C,a1,b1,c1,a1,b2,c2,a2,b2,c1,A,B,C,a1,b2,c2,a2,b2,c1,A,B,C,a1,b2,c2,a1,b3,c2,a2,b2,c1,R,S,R,S,4.,广义笛卡尔积(,Extended Cartesian Product,),R,n,目关系,,k,1,个元组,S,m,目关系,,k,2,个元组,R,S,列:(,n,+,m,),列的元组的集合,元组的前,n,列是关系,R,的一个元组,后,m,列是关系,S,的一个元组,行:,k,1,k,2,个元组,R,S,=,t,r,t,s,|,t,r,R,t,s,S,广义笛卡尔积,(,续,),A,B,C,a1,b1,c1,a1,b2,c2,a2,b2,c1,A,B,C,a1,b1,c1,a1,b1,c1,a1,b1,c1,a1,b2,c2,a1,b2,c2,a1,b2,c2,a2,b2,c1,a2,b2,c1,a2,b2,c1,A,B,C,a1,b2,c2,a1,b3,c2,a2,b2,c1,R,S,R,S,A,B,C,a1,b2,c2,a1,b3,c2,a2,b2,c1,a1,b2,c2,a1,b3,c2,a2,b2,c1,a1,b2,c2,a1,b3,c2,a2,b2,c1,2.5.3,专门的关系运算,选择,投影,连接,除,1.,选择(,Selection,),1),选择又称为限制(,Restriction,),2),选择运算符的含义,在关系,R,中选择满足给定条件的诸元组,F,(,R,)=,t,|,t,R,F,(,t,)=,真,F,:,选择条件,是一个逻辑表达式,基本形式为:,(,X,1,Y,1,),(,X,2,Y,2,),:,比较运算符(,,,,,或,),X,1,,,Y,1,等:属性名、常量、简单函数;属性名也可以用它的序号来代替;,:,逻辑运算符(,或,),:表示任选项,:表示上述格式可以重复下去,选择,(,续),3),选择运算是从行的角度进行的运算,4),举例,设有一个学生,-,课程数据库,包括学生关系,Student,、,课程关系,Course,和选修关系,SC,。,选择,(,续),学 号,Sno,姓 名,Sname,性 别,Ssex,年 龄,Sage,所 在 系,Sdept,95001,李勇,男,20,CS,95002,刘晨,女,19,IS,95003,王敏,女,18,MA,95004,张立,男,19,IS,(a),Student,例1,例2,例4,例3,例9,选择,(,续),(b),Course,课程号,课程名,先行课,学分,Cno,Cname,Cpno,Ccredit,1,数据库,5,4,2,数学,2,3,信息系统,1,4,4,操作系统,6,3,5,数据结构,7,4,6,数据处理,2,7,PASCAL,语言,6,4,例9,选择,(,续),(c),SC,学 号,课 程 号,成 绩,Sno,Cno,Grade,95001,1,92,95001,2,85,95001,3,88,95002,2,90,95002,3,80,例7,例9,选择(续),例,1,查询信息系(,IS,系)全体学生,Sdept,=IS,(Student),或,5=IS,(Student),结果:,Sno,Sname,Ssex,Sage,Sdept,95002,刘晨,女,19,IS,95004,张立,男,19,IS,选择(续),例,2,查询年龄小于,20,岁的学生,Sage 20,(Student),或,4 2,R2=t|R,(,t,),S,(,t,),R3=t|,(,u,)(,S,(,t,),R,(,u,),t3u1,),R5=t|(,u)(,v)(R(u)S(v)u1v2,t1=u2t2=v3t3=u1),域关系演算,(1),原子公式有两种形式:,R,(,x1,xk,);,xy,。,其中,x,y,是域变量或常量。,公式中也可使用、等逻辑运算符,以及,(,x),和(,x,),,但变量,x,是域变量,不是元组变量。,域演算表达式是形为,t1,tkP,(,t1,,,,,tk,),的表达式,其中,P,(,t1,,,,,tk,),是关于自由域变量,t1,,,,,tk,的公式。,域关系演算,(2),例 下图,(,a,)、(,b,)、(,c,),是三个关系,R,、,S,、,W,,(,d,)、(,e,)、(,f,),分别表示下面三个域表达式的值。,(,a,),关系,R,(,b,),关系,S,(,c,),关系,W,(,d,),R1,(,e,),R2,(,f,),R3,图,域关系演算的例子,R1=xyz|R,(,xyz,),x3,R2=xyz|R,(,xyz,),(,S,(,xyz,),y=4,),R3=xyz|,(,u,)(,v,)(,R,(,zxu,),w,(,yv,),uv,),关系运算的等价性,并、差、笛尔卡积、投影和选择是关系代数最基本的操作,并构成了关系代数运算的最小完备集。已经证明,在这个基础上,关系代数、元组关系演算、域关系演算在关系的表达和操作能力上是完全等价的。,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 其他

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

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

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

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

gongan.png浙公网安备33021202000488号   

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

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

客服