数据库系统概念-第3章关系数据库

上传人:wuy****ng 文档编号:247436370 上传时间:2024-10-18 格式:PPT 页数:97 大小:1.56MB
返回 下载 相关 举报
数据库系统概念-第3章关系数据库_第1页
第1页 / 共97页
数据库系统概念-第3章关系数据库_第2页
第2页 / 共97页
数据库系统概念-第3章关系数据库_第3页
第3页 / 共97页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,数据库系统教程,第,3,章 关系数据库,1,第,3,章 关系数据库,3.1,关系数据模型,3.2,基本术语与形式化定义,3.3,完整性约束,3.4,关系代数,*,2,3.1,关系数据模型,关系数据模型源于数学,。,1970,年,IBM,研究员,博士,在美国计算机学会会刊(,Communication of the ACM,)上发表了题为“,A Relational Model of Data for Shared Data Banks,”的论文,开创了数据库系统的新纪元。,*,3,关系模型,关系模型由三部分组成,:,数据结构,操作集合,完整性约束,这三部分也称为,关系模型三要素,。,*,4,3.1.1,数据结构,关系数据模型用二维表来组织数据,。,这个二维表在关系数据库中就称为,关系,。,关系数据库就是表或者说是关系的集合。,表是逻辑结构,而不是物理结构,。,*,5,学生关系模型,*,6,学,号,姓,名,年,龄,性,别,所,在 系,0811101,李勇,21,男,计算机系,0811102,刘晨,20,男,计算机系,0811103,王敏,20,女,计算机系,0821101,张立,20,男,信息管理系,0821102,吴宾,19,女,信息管理系,学生,3.1.2,数据操作,关系数据模型中的操作包括:,传统的关系运算,:并、交、差、广义笛卡尔乘积;,专门的关系运算,:选择、投影、连接、除,;,有关的数据操作,:查询、插入、删除,、,更改。,*,7,操作特点,关系模型中操作的数据以及查询的结果都是完整的,集合,(或表),,这些集合可以只包含一行数据,也可以是不包含任何数据的空集合。,非关系模型数据库中典型的操作是一次一行或一次一个记录。,集合处理能力,是关系系统区别于其他系统的重要特征。,*,8,关系模型与非关系模型区别,在,非关系模型,中,各个数据记录之间是通过指针等方式连接的,当要定位到某条记录时,需要用户自己按指针的链接方向逐层查找,导航,。,在,关系模型,中,用户只需指定数据的定位条件,数据库管理系统就可以自动定位到该数据记录,非,导航,。,*,9,层次模型查找示例,*,10,关系模型查找示例,*,11,学,号,姓,名,年,龄,性,别,所,在 系,0811101,李勇,21,男,计算机系,0811102,刘晨,20,男,计算机系,0811103,王敏,20,女,计算机系,0821101,张立,20,男,信息管理系,0821102,吴宾,19,女,信息管理系,0821101,张立,20,男,信息管理系,关系操作,关系模型的,数据操作,主要包括:,查询,、,插入,、,删除,、,更改,关系数据库中的信息表示方式,:,表中的行列位置有明确的值,逻辑层。,*,12,关系数据库的物理层,关系数据库在物理层也使用指针,,但这些,物理层的存储细节对用户来说都是不可见的,,用户所看到的物理层实际上就是存放数据的数据库文件,:,文件名,存放位置,*,13,关系语言特点,关系操作是通过关系语言实现的,关系语言的特点是,高度非过程化,:,用户不必关心数据的存取路径和存取过程,只需要提出数据请求,,DBMS,会自动完成用户请求的操作;,用户没有必要编写程序代码来实现对数据的重复操作。,*,14,3.1.3,数据完整性约束,数据的完整性是指保证数据正确性的特征。,数据完整性,是一种,语义概念,,包括:,与现实世界中应用需求的数据的相容性和正确性;,数据库内,数据之间的,相容性和正确性,。,*,15,数据完整性,数据完整性由一组完整性规则定义,关系模型的完整性规则是对关系的某种约束条件。,在关系数据模型中将数据完整性分为三类,:,实体完整性,参照完整性,(引用完整性),用户定义的完整性,*,16,3.2,关系模型的基本术语与形式化定义,3.2.1,基本术语,3.2.2,形式化定义,*,17,3.2.1,基本术语,关系,:,关系就是二维表,二维表的名字就是关系的名字。,属性,:,二维表中的,每个列,就称为一个属性(或叫字段),,每个属性有一个名字,属性名,某一列的值,属性值,列的个数,关系的元数,。如果一个二维表有,n,个列,则称其为,n,元关系。,*,18,基本术语,(续),值域,:,二维表中属性的取值范围称为值域。,例如,:,“年龄”的取值为大于,0,的整数,“性别”列的取值为,男,女,*,19,基本术语,(续),元组,:,二维表中的一行数据称为一个元组(记录值),。,*,20,学,号,姓,名,年,龄,性,别,所,在 系,0811101,李勇,21,男,计算机系,0811102,刘晨,20,男,计算机系,0811103,王敏,20,女,计算机系,0821101,张立,20,男,信息管理系,0821102,吴宾,19,女,信息管理系,5,个,元组,基本术语,(续),分量,:元组中的每一个属性值称为元组的一个分量,。,n,元关系的每个元组有,n,个分量。,例:,(,0811101,,李勇,,21,,男,计算机系),,有,5,个分量,*,21,基本术语,(续),关系模式,:,二维表的结构称为关系模式,。,设有关系名为,R,,属性分别为,A,1,,,A,2,,,A,n,,则关系模式可以表示为:,R,(,A,1,,,A,2,,,A,n,),如果将关系模式理解为数据类型,则关系就是该数据类型的一个具体值。,*,22,基本术语,(续),关系数据库,:,对应于一个关系模型的所有关系的集合称为关系数据库。,候选键,:,如果一个属性或属性集的值能够惟一标识一个关系的元组而又不包含多余的属性,则称该属性或属性集为候选键。,*,23,基本术语,(续),主键,:,当一个关系中有多个候选键时,从中选择一个作为主键。,每个关系只能有一个主键。,主键也称为,主码,或,主关键字,,用于惟一地确定一个元组。,主键可以由一个属性组成,也可以由多个属性共同组成。,*,24,主键示例,学生(学号,姓名,性别,年龄,所在系),*,25,学号,选课,(学号,,课程号,,,成绩,),学号,,课程号,选课,(学号,课程号,考试次数,成绩,),学号,课程号,考试次数,基本术语,(续),主属性,:,包含在任一候选键中的属性称为主属性。,非主属性,:,不包含在任一候选键中的属性称为非主属性。,选课,(学号,,课程号,,,成绩,),*,26,学号,,课程号,成绩,术语对比,*,27,关系术语,一般的表格术语,关系名,表名,关系模式,表头(表所含列的描述),关系,(一张)二维表,元组,记录或行,属性,列,分量,一条记录中某个列的值,3.2.2,形式化定义,定义,笛卡尔积,:设,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,,,d,2,,,d,n,)称为一个,n,元组,,简称元组。,元组中每一个,d,i,称为是一个,分量,。,*,28,笛卡尔积示例,D,1,计算机系,信息管理系,D,2,李勇,刘晨,吴宾,D,3,男,女,则,D,1,D,2,D,3,笛卡尔积为:,(计算机系,李勇,男),(计算机系,李勇,女),,(计算机系,刘晨,男),(计算机系,刘晨,女),,(计算机系,吴宾,男),(计算机系,吴宾,女),,(信息管理系,李勇,男),(信息管理系,李勇,女),,(信息管理系,刘晨,男),(信息管理系,刘晨,女),,(信息管理系,吴宾,男),(信息管理系,吴宾,女),*,29,笛卡尔乘积实际就是二维表,*,30,关系的形式化定义,笛卡尔积,D,1,,,D,2,,,D,n,的任意一个子集称为,D,1,,,D,2,,,D,n,上的一个,n,元关系,。,形式化的关系定义同样可以把关系看成二维表,给表中的每个列取一个名字,称为,属性,。,n,元关系有,n,个属性,一个关系中的属性的名字必须是唯一的。,属性,D,i,的取值范围(,i,1,,,2,,,n,)称为该属性的,值域,。,*,31,示例,*,32,所在系,姓名,性别,计算机系,李勇,男,计算机系,刘晨,男,计算机系,吴宾,女,R,(,计算机系,李勇,男,),(,计算机系,刘晨,男,),(,计算机,系,吴宾,女,),对关系的限定,关系中的每个分量都是不可再分的最小属性,表中列的数据类型是固定的,即列中的每个分量都是同类型的数据,来自相同的值域。,不同列的数据可以取自相同的值域。,关系表中列的顺序不重要,。,关系表行的顺序也不重要,。,同一个关系中的元组不能重复,。,*,33,3.3,完整性约束,数据完整性是指数据库中存储的数据是有意义的或正确的,和现实世界相符。,3.3.1,实体完整性,3.3.2,参照完整性,3.3.3,用户定义的完整性,*,34,3.3.1,实体完整性,保证关系中的每个元组都是可识别的和惟一的。,指关系数据库中所有的表都,必须有主键,,而且表中不允许存在如下记录:,无主键值的记录。,主键值相同的记录。,*,35,无主键值的情况,*,36,学,号,姓,名,年,龄,性,别,所,在 系,李勇,21,男,计算机系,0811102,刘晨,20,男,计算机系,0811103,王敏,20,女,计算机系,李勇,21,男,计算机系,0821101,张立,20,男,信息管理系,0821102,吴宾,19,女,信息管理系,?,主键值重复情况,*,37,*,37,学,号,姓,名,年,龄,性,别,所,在 系,0811101,李勇,21,男,计算机系,0811102,刘晨,20,男,计算机系,0811103,王敏,20,女,计算机系,0811101,李勇,21,男,计算机系,0821101,张立,20,男,信息管理系,0821102,吴宾,19,女,信息管理系,?,主键作用,当在表中定义了主键时,数据库管理系统会自动保证数据的实体完整性,即保证不允许存在主键值为空的记录以及主键值重复的记录。,空值,是特殊的标量常数,它代表未定义的或者有意义但目前还处于未知状态的值。,*,38,3.3.2,参照完整性,也称为,引用完整性,。,现实世界中的实体之间往往存在着某种联系,在关系模型中,实体以及实体之间的联系都是用关系来表示的,这样就自然存在着关系与关系之间的引用。,参照完整性就是描述实体之间的联系的。,参照完整性一般是指多个实体或关系之间的关联关系,。,*,39,示例,1,学生,(,学号,,姓名,班号,性别,),班,(,班号,,所属专业,人数,),*,40,班号,班号,示例,2,学生(,学号,,姓名,性别,专业),选课(,学号,,,课程号,,成绩),课程(,课程号,,课程名,学分),*,41,学号,学号,课程号,课程号,示例,3,职工,(,职工号,,姓名,直接领导职工号,),*,42,直接领导,职工号,职工号,?,外键定义,设,F,是关系,R,的一个或一组属性,如果,F,与关系,S,的主键相对应,则称,F,是关系,R,的,外键,(,Foreign Key,),并称关系,R,为,参照关系,,关系,S,为,被参照关系,。关系,R,和关系,S,不一定是不同的关系。,*,43,关系的参照表示图,可以用图形化的方法形象地表达参照和被参照关系,。,*,44,示例,*,45,说明,参照完整性规则就是定义外键与被参照的主键之间的引用规则。,外键一般应符合如下要求:,或者值为空;,或者等于其所参照的关系中的某个元组的主键值。,*,46,3.3.3,用户定义的完整性,也称为,域完整性,或,语义完整性,。,是,针对某一具体应用领域定义的数据约束条件。,反映某一具体应用所涉及的数据必须满足应用语义的要求。,实际上就是指明关系中属性的取值范围,防止属性的值与应用语义矛盾,。,*,47,3.4,关系代数,关系代数是关系操作语言的一种传统表示方式,是一种,抽象的查询语言,。,是一种纯理论语言,它定义了一些操作,运用这些操作可以从一个或多个关系中得到另一个关系,而不改变源关系,。,关系代数的操作数和操作结果都是关系,而且一个操作的输出可以是另一个操作的输入。,*,48,关系代数的运算,关系代数的运算对象是关系,运算结果也是关系。,与一般的运算一样,运算对象、运算符和运算结果是关系代数的三大要素。,关系代数的运算可分为以下两大类:,传统的集合运算,:并、交、差、笛卡尔积,专门的关系运算,:,选择、投影、连接,、,除,*,49,运算符,*,50,运算符(续),*,51,3.4.1,传统的集合运算,并运算,(Union),交运算,(Intersection),差运算,(Except),广义笛卡尔积,(Cartesian Product),*,52,并、交、差运算示意图,*,53,并运算,并(,RS,):,设关系,R,与关系,S,均是,n,目关系,,关系,R,与关系,S,的并记为:,RS,t | tR tS ,其结果仍是,n,目关系,由属于,R,或属于,S,的元组组成。,元组在新关系中的顺序不重要。,*,54,并运算示例,顾客号,姓名,性别,年龄,S01,张宏,男,45,S02,李丽,女,34,S03,王敏,女,28,顾客号,姓名,性别,年龄,S02,李丽,女,34,S04,钱景,男,50,S06,王平,女,24,顾客号,姓名,性别,年龄,S01,张宏,男,45,S02,李丽,女,34,S03,王敏,女,28,S04,钱景,男,50,S06,王平,女,24,R,S,RS,*,55,交运算,交(,RS,):,设关系,R,与关系,S,均是,n,目关系,,关系,R,与关系,S,的交记为:,RS,t | tR tS ,其结果仍是,n,目关系,由属于,R,并且也属于,S,的元组组成。,*,56,差运算,差(,R,S,):,设关系,R,与关系,S,均是,n,目关系,,关系,R,与关系,S,的差记为:,R,S,t | tR tS ,其结果仍是,n,目关系,由属于,R,但不属于,S,的元组组成。,RS,R-(R,S ),*,57,交、差运算示例,顾客号,姓名,性别,年龄,S02,李丽,女,34,顾客号,姓名,性别,年龄,S01,张宏,男,45,S02,李丽,女,34,S03,王敏,女,28,顾客号,姓名,性别,年龄,S02,李丽,女,34,S04,钱景,男,50,S06,王平,女,24,RS,顾客号,姓名,性别,年龄,S01,张宏,男,45,S03,王敏,女,28,R,S,R,S,*,58,广义笛卡尔积,两个分别为,n,目和,m,目的关系,R,和关系,S,的笛卡尔积是一个(,m,n,)列的元组的集合。元组的前,n,个列是,R,的一个元组,后,m,个列是,S,的一个元组。,若,R,有,K1,个元组,,S,有,K2,个元组,则关系,R,和关系,S,的广义笛卡尔积有,K1K2,个元组,记做:,RS,trts | tr,R ts,S,trts,表示由元组,tr,和,ts,前后有序连接而成的一个元组。,任取元组,tr,和,ts,,当且仅当,tr,属于,R,且,ts,属于,S,时,,tr,和,ts,的有序连接即为,RS,的一个元组。,*,59,笛卡尔积示例,*,60,3.4.2,专门的关系运算,选择运算,(Select),投影运算,(Project),连接运算,(Join),除运算,(Division),*,61,选择运算,从指定的关系中选择满足给定条件(用逻辑表达式表达)的元组而组成一个新的关系。,F,(,R,), r | r,R F,(,r,)真,条件表达式,,取逻辑“真”值或“假”值,*,62,选择运算示意图,F,(,R,),*,63,选择运算示例,例,.,查询计算机系学生信息。,Sdept,计算机系,(,Student,),有,Student,关系:,Sno,Sname,Ssex,Sage,Sdept,0811101,李勇,男,21,计算机系,0811102,刘晨,男,20,计算机系,0811103,王敏,女,20,计算机系,0811104,张小红,女,19,计算机系,0821101,张立,男,20,信息管理系,0821102,吴宾,女,19,信息管理系,0821103,张海,男,20,信息管理系,0811101,李勇,男,21,计算机系,0811102,刘晨,男,20,计算机系,0811103,王敏,女,20,计算机系,0811104,张小红,女,19,计算机系,*,64,投影运算,从关系,R,中选择若干属性,并用这些属性组成一个新的关系。,A,(,R,) (,t,(,A,),| tR,),属性列序列,*,65,投影运算示意图,R,A,(,R,),投影,*,66,投影运算示例,例,2.,查询学生的姓名和所在系。,sname,,,sdept,(,Student,),有,Student,关系:,Sno,Sname,Ssex,Sage,Sdept,0811101,李勇,男,21,计算机系,0811102,刘晨,男,20,计算机系,0811103,王敏,女,20,计算机系,0811104,张小红,女,19,计算机系,0821101,张立,男,20,信息管理系,0821102,吴宾,女,19,信息管理系,0821103,张海,男,20,信息管理系,Sname,李勇,刘晨,王敏,张小红,张立,吴宾,张海,Sdept,计算机系,计算机系,计算机系,计算机系,信息管理系,信息管理系,信息管理系,*,67,连接运算,连接运算用来连接相互之间有联系的两个关系,从而产生一个新的关系。,连接运算具有如下几种形式:,连接,等值连接(连接的特例),自然连接,外部连接(或称外连接),半连接,*,68,连接,A,、,B,是关系,R,和,S,上语义相同的属性或属性组,,是比较运算符。,连接运算从,R,和,S,的广义笛卡尔积中选择,R,关系在,A,属性组上的值与,S,关系在,B,属性组上,的,值满足的元组。,*,69,等值连接,为“,=”,的连接成为等值连接。它是从关系,R,与,S,的笛卡尔积中选取,A,,,B,属性值相等的那些元组:,*,70,自然连接,是一种特殊的等值连接,它,去掉了等值连接结果中的重复的属性列,。,即若,R,与,S,具有相同的属性组,B,,则自然连接可记作:,*,71,原始数据,*,72,商品,销售,左外连接示例,半连接示例,等值连接与自然连接示例,数据,*,73,外连接,如果希望不满足连接条件的元组也出现在连接结果中,则可以通过外连接实现。,外连接有三种:,左外连接,:,右外连接,:,全外连接,:,*,74,外连接含义,左,(,右,),外连接,:,把连接符号左,(,右,),边的关系中不满足连接条件的元组也保留到连接后的结果中,并在连接结果中将该元组所对应的右,(,左,),边关系的各个属性均置成空值(,NULL,)。,全外连接,:,把连接符号两边的关系中不满足连接条件的元组均保留到连接后的结果中,并在连接结果中将不满足连接条件的各元组的相关属性均置成空值(,NULL,)。,*,75,左外连接示例,*,76,数据,全外连接示例,*,77,半连接,在两个关系之间执行连接操作,并将其,结果投影在第一个操作关系的所有属性上,。,半连接的一个优点是可以减少必须参与连接的元组的数目。,半连接操作的表达形式为:,上述半连接是一个半连接,其他还有半等值连接、半自然连接等。,*,78,半连接示例,查询销售价格高于,5000,的商品的全部信息。,(,仅仅是想查看商品的信息,),*,79,数据,除运算,设关系,S,的属性是关系,R,的属性的一部分,则,RS,为这样一个关系:,此关系的属性是由属于,R,但不属于,S,的所有属性组成;,RS,的任一元组都是,R,中某元组的一部分。但必须符合下列要求,即任取属于,RS,的一个元组,t,,则,t,与,S,的任一元组连接后,都为,R,中原有的一个元组。,*,80,除运算示意图,*,81,除运算的一般形式,设有关系,R,(,X,Y,)和,S,(,Y,Z,),其中,X,、,Y,、,Z,为关系的属性组,则:,R(X,Y) S(Y,Z),R(X,Y) ,Y,(S),*,82,象集定义,设有关系,R,(,X,,,Y,),其中,X,,,Y,为属性(组),,X=x,在,R,上的,象集,是:,Yx = tY | tR tX=x ,t,Y,和,t,X,分别表示,R,中的元组,t,在属性组,Y,和,X,上的分量的集合。,*,83,象集示例,1,Sno,Sname,Ssex,Sage,Sdept,0811101,李勇,男,21,计算机系,0811102,刘晨,男,20,计算机系,0811103,王敏,女,20,计算机系,0811104,张小红,女,19,计算机系,0821101,张立,男,20,信息管理系,0821102,吴宾,女,19,信息管理系,0821103,张海,男,20,信息管理系,*,84,有元组:,(,0821101,,张立,男,,20,,信息管理系),设,X,Sdept,,,Ssex,,,Y,Sno,,,Sname,,,Sage,,,tX,的一个值,:,x,(信息管理系,男),则,Y,x,为,t,X,x,(信息管理系,男)时所有,tY,的值:,Yx=,(,0821101,,张立,,20,),(,0821103,,张海,,20,),0821101,张立,20,0821103,张海,20,男,信息管理系,男,信息管理系,象集示例,2,Sno,Cno,Grade,0811101,C001,96,0811101,C002,80,0811101,C003,84,0811101,C005,62,0811102,C001,92,0811102,C002,90,0811102,C004,84,0821102,C001,76,0821102,C004,85,0821102,C005,73,0821102,C007,NULL,0821103,C001,50,0821103,C004,80,*,85,设,X,Sno,,,Y,Cno,,,Grade,,则当,X,取“,0811101,”时,,Y,的象集为:,Y,x,(,C001,,,96,),,(,C002,,,80,),(,C003,,,84,),(,C005,,,62,),0811101,0811101,0811101,0811101,C001,96,C002,80,C003,84,C005,62,再讨论除法的一般形式,设有关系,R,(,X,,,Y,)和,S,(,Y,,,Z,),其中,X,、,Y,、,Z,为关系的属性组,则:,R,S,t,r,X | t,r,R, ,Y,(,S,),Y,x,*,86,除运算示例,至少选了,“,C001,”和“,C005,”课程的学生,*,87,关系代数优先级,运算,投影,选择,乘积,连接、除,交,并、差,优先级,高,低,*,88,关系代数综合,示例,例,5.,查询选了,C002,号课程的学生的学号和成绩。,Sno, Grade,(,Cno=,C002,(,SC,),例,6.,查询信息管理系选了,C004,号课程的学生的姓名和,成绩。,*,89,或:,关系代数综合,示例,例,7,查询选了第,2,学期开设的课程的学生的姓名、所在系和所选的课程号,*,90,或:,关系代数综合,示例,例,8.,查询选了“高等数学”且成绩大于等于,90,分的学生的姓名、所在系和成绩,。,*,91,或:,关系代数综合,示例,例,9.,查询没选,VB,课程的学生的姓名和所在系,。,*,92,或:,关系代数综合,示例,例,10.,查询选了全部课程的学生的姓名和所在系,。,(,1,),选了全部课程的学生,学号,*,93,(,2,)这些,学生,的姓名和所在系,关系代数综合,示例,例,11.,查询计算机系选了第,1,学期开设的全部课程的学生的学号和姓名,。,*,94,关系代数操作总结,*,95,关系代数操作总结,(续),*,96,*,97,本章学习,顺利结束,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!