收藏 分销(赏)

第二章-关系数据库.ppt

上传人:仙人****88 文档编号:14750227 上传时间:2026-11-13 格式:PPT 页数:49 大小:2.90MB 下载积分:10 金币
下载 相关
第二章-关系数据库.ppt_第1页
第1页 / 共49页
第二章-关系数据库.ppt_第2页
第2页 / 共49页


点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,*,*,单击此处编辑母版标题样式,*,*,单击此处编辑母版文本样式,第二级,单击此处编辑母版文本样式,第二级,*,*,单击此处编辑母版标题样式,关系数据库,1.,3,关系数据库,1.3.1 关系数据模型,1.3.2 关系运算,1.3.3 关系完整性,1.3.4 规范化理论,1.,3,.1 关系数据模型,1.,关系模型的组成:,关系数据结构,:用单一的二维表结构来表示实体及实体间的联系。,关系操作结合:,选择,投影,连接,并,交,差等,及查询和插入,更新等。,关系的完整性约束:,完整性规则是对关系的某种约束,以保证数据库中数据的完整性。,完整性是指数据库中数据的正确性,相容性和一致性。,1.,3,.1 关系数据模型,2.基本术语,1.关系:,二维表,2.元组:,记录,3.属性:,字段,4.域:,属性取值范围,1.,3,.1 关系数据模型,5.码:,实体间相互区别的唯一标识。一个实体中至少存在一个码,也可以存在两个或多个码。如:,实体中能作为码的属性可能是一个属性,也可能是一组属性。(联系实体),6.主属性:,在实体中能作为码的属性称为主属性,否则称为非主属性。,7.候选码:,若关系中的一个属性组的值能够唯一地标识一个元组,则称做候选码。,8.主码:,一个关系中往往有多个候选码,若选定其中一个用来唯一标识该关系的元组,则称这个被指定的候选码为主码。,6.外码:,在本表不是关键字,但是在另外表中是关键字或者候选关键字。,1.,3,.1 关系数据模型,3.关系中不能有完全相同的元组,2.同一个关系不能有相同的属性名,4.关系中元组和属性的排列次序无关紧要,教师编号,职称,应发工资,基本工资,奖金,津贴,职称,教师编号,教师信息表,教师工资表,津贴,奖金,基本工资,教师编号,1.关系必须规范化,二,.关系的特点,1.3.2,关,系运算,传统的集合运算,并(Union),交(Intersection),差(Difference),广义笛卡尔积(Extended Cartesian Product),专门的关系运算,选择(Select),投影(Project),连接(Join),除(Divide),有关的数据操作,查询(Query),插入(Insert),删除(Delete),修改(Update),1.,3,.2 关系运算,一.传统的集合运算,进行,并,、,差,、,交,集合运算的两个关系必须具有相同的关系模式,即相同结构,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,1.,并集:,1.,3,.2 关系运算,A,B,C,a1,b1,c1,a1,b2,c2,a2,b2,c1,A,B,C,a1,b2,c2,a1,b3,c2,a2,b2,c1,R,S,2.,差集:,1.,3,.2 关系运算,A,B,C,a1,b1,c1,R,-,S,A,B,C,a1,b1,c1,a1,b2,c2,a2,b2,c1,A,B,C,a1,b2,c2,a1,b3,c2,a2,b2,c1,R,S,3.,交集:,1.,3,.2 关系运算,A,B,C,a1,b2,c2,a2,b2,c1,R,S,1.3.2 关系运算,笛卡儿积定义:设,D,1,,,D,2,,,,,D,n,为任意集合,定义,D,1,,,D,2,,,,,D,n,的笛卡儿积为,:,其中每一个元素(,d,1,,d,2,,,,d,n,)叫作一个,n,元组,简称元组,元组中每一个,d,i,叫作元组的一个分量。,关系的形式定义:,笛卡儿积,D,1,D,2,D,n,的任意一个子集称为,D,1,D,2,D,n,上的一个,n,元关系。,4.笛卡尔积,集合的广义笛卡尔积运算,设,R,和,S,是两个关系,如果,R,是,m,元关系、有,k,个元组,,S,是,n,元关系、有,l,个元组,则广义笛卡尔积,R,S,是一个,m,+,n,元关系、有,k,l,个元组。广义笛卡儿积可以记作:,例如:,假设集合,R,=a,b,集合,S,=0,1,2,则两个集合的笛卡尔积为,:,(a,0),(a,1),(a,2),(b,0),(b,1),(b,2)。,1.,3,.2 关系运算,二.专门的关系运算,1.选择:,从,一个,关系中找出满足给定条件的,元组(记录),的操作成为选择,2.投影:,从,一个,关系中指定若干,属性,(,字段,),组成新的关系称为投影,3,.联接:,将,两个,关系拼接成一个更宽的关系,生成的新关系中包含满足联接条件的元组。,4,.自然联接:,去掉重复属性的等值联接。按照字段值对应相等为条件进行的联接操作称为,等值联接,。,1.,3,.2 关系运算,选择运算,是从行的角度进行的运算,即从指定的关系,R,中选取满足某个逻辑条件F的元组,这些元组再组成一个新的关系。,选择运算表示为,:,其中R是关系名,是选择运算符,F是逻辑表达式。,选择运算举例:,职工号=E3,(订购单),订购单关系,从订购单关系中选择职工号为,“,E3,”,的元组构成新的关系,1.,3,.2 关系运算,投影操作主要是从,列,的角度进行运算,,该关系分两步产生一个新关系,:,1)选择指定的属性,形成一个可能含有重复行的表格;,2)删除重复行,形成新的关系。,投影运算表示为,其中R是关系名,,是投影运算符,A是被投影的属性或属性集。,投影运算举例:,订购单关系,选取职工号和供应商号两列构成新的关系,职工号,供应商号,(订购单),选择和投影运算举例:,从订购单关系中,选取出职工号为E3的所经手的订购单号和与之相关的供应商号。,订购单关系,供应商号,订购单号,(,职工号=E3,(订购单),1.,3,.2 关系运算,连接运算,是两个表之间的运算,这两个表通常是具有一对多联系的父子关系。所以连接过程一般是由参照关系的外部关键字和被参照关系的主关键字来控制的,这样的属性通常也称为,连接属性,。,自然连接还需要取消重复列,所以是同时从行和列的角度进行运算,A,B,R,S,连接运算的概念,连接运算是将满足两个表之间运算关系的记录连接成一条记录,所有这样的记录构成新的表(连接运算的结果)。,连接运算可以表示为:,这里,A,i,是,R,中的属性,,B,j,是,S,中的属性,,是关系(比较)运算符,连接的结果是一个广义笛卡儿乘积的子集,其中的元组满足,A,i,和,B,j,间的,关系。当,为,“,=,”,时,称为等值连接;,为,“,”,时,称为大于连接等等。,自然连接,在连接运算中最常用的连接是自然连接。,自然连接运算一般表示为:,其中,A,i,和,B,j,要出自同一个值域,并且在实际应用中这两个属性往往具有相同的属性名。,自然连接做了三件事:,计算,广义笛卡尔积,R,S,;,选择满足条件,rA,i,=sB,j,的所有元组;,去掉重复的属性。,自然连接的例子,注意:,为了使一个关系中的任一元组都参加自然连接,该元组的连接属性(字段)值必须出现在另一个参加连接的关系中;,连接陷阱问题;,一般,在实际应用中可以父无子,而不可以子无父,否则将破坏参照数据完整性。,注意,自然连接和等值连接很相象,但它们不同,自然连接要去掉重复的属性,而等值连接却不需要去掉重复的属性。,综合运算实例,根据以上关系求出在上海工作的职工的工资值都有哪些?,仓库,职工,关系代数语句为:,查询过程示意,选择运算,自然连接运算,投影运算,1.3.3,关系模型的完整性约束,实体完整性规则,参照完整性规则,用户定义完整性,完整性约束的作用,关系的两个不变性,实体完整性规则,实体完整性规则的具体内容是:若属性A是关系R的主属性,则属性A不可以为空值。,实体完整性,是针对基本关系而言的,。,一个基本表通常对应现实世界的一个实体集。,现实世界的实体是可区分的,它们具有某种唯一性标识,。,关系模型中的以主码作为唯一标识。,主属性不能取空值。,参照完整性规则,参照完整性规则就是定义外码与主码之间的引用规则。,参照完整性也是关系模型必须满足的完整性约束条件,是关系的另一个不变性。,通过一个例子来说明什么是参照完整性,参照关系和被参照关系的定义,设F是关系R的一个属性或属性组,但不是关系R的关键字,另外有主关键字为K的关系S。如果关系R的属性或属性组F与关系S的主关键字K相对应,则称F是关系R的外部关键字,并称关系R是参照关系、S是被参照关系(或目标关系)。关系R和S可以是同一个关系。,例P4,参照完整性规则,如果属性(或属性组)F是关系R的外部关键字,它与关系S的主关键字K相对应,则对于关系R中每个元组在属性(或属性组)F上的值必须为:,或者取空值(F的每个属性均为空值);,或者等于S中某个元组的主关键字的值。,用户定义完整性,一种与应用密切相关的数据完整性约束,如,某个属性的值必须唯一,某个属性的取值必须在某个范围内,某些属性值之间应该满足一定的函数关系等,类似以上的约束不是关系数据模型本身所要求的,而是为了满足应用方面的语义要求而提出的,在用户定义完整性中最常见的是限定属性的取值范围,即对值域的约束,所以在用户定义完整性中最常见的是域完整性约束。,完整性约束的作用,执行插入操作时检查完整性,执行插入操作时需要分别检查实体完整性规则、参照完整性规则和用户定义完整性规则。,执行删除操作时检查完整性,执行删除操作时一般只需要检查参照完整性规则。,执行更新操作时检查完整性,执行更新操作可以看作是先删除旧的元组,然后再插入新的元组。所以执行更新操作时的完整性检查综合了上述两种情况。,1.3.4 规范化理论,范式的概念,:,规范化是数据库设计中的一个重要过程,:,一个低级范式的关系模式通过分解(投影)方法可以转换成多个高一级范式的关系模式的集合,。,E,.,F,.,Codd,在,1971,年,系统的,提出,了,规范化理论,他和后来的研究人员为数据库结构定义了五种规范化模式,简称范式。规范化的优点:,大大减少了数据冗余,改进了数据库整体组织,增强了数据的一致性,增加了数据库设计的灵活性,前面讲过的完整性约束主要对,域值,(关系表中列值)进行限制和规范,现在要讲的范式,主要是对,域(列)之间的关系,,特别是非主键与主键之间的依赖关系进行约束、规范。,本书中只介绍第一范式,(1NF),、第二范式,(2NF),、第三范式,(3NF),、第四范式,(4NF),。这,4,种范式,这对于绝大多数数据库来说已经足够了。,1.3.4 规范化理论,第一范式,(1NF),第一范式规定表的每个,列(属性),都是不可,再,分的,最小,数据,单位,。,这一属性是由基本数据类型构成的,包括整型,字符串,浮点型等。换句话说第一范式要求数据库中所有表都是二维表。,在任何一个数据库中,第一范式都是一个最基本的要求。,1.3.4 规范化理论,第二范式,(2NF)定义:数据库表中不存在非关键字段对任一候选字段部分函数依赖,部分函数依赖是指存在着组合关键字中的某一关键字决定非关键之段的情况,第二范式有两项要求:,(,1,)所有表必须符合第一范式;,(,2,)表中每一个非主键列都必须,完全函数,依赖于,任意一个候选码,。,1.3.4 规范化理论,1.3.4 规范化理论,1.3.4 规范化理论,1.3.4 规范化理论,第三范式,是在第二范式的基础之上定义的,如果数据表中不存在,非关键字段对任意候选关键字段的传递函数依赖,则符合第三范式。,第三范式有两项要求:,(,1,)所有表必须符合第二范式。,(,2,)表中每一个非主键列对主键都不存在传递依赖,而应是直接依赖。,传递依赖的存在与违背第二范式一样,也将会导致,插入,、删除、更新、冗余等问题。,表中出现上述问题的原因是对主键依赖的传递。解决的方法同样是在遵守无损分解的条件下,将表分解成多个表,从而消除传递依赖的情况。,1.3.4 规范化理论,1.3.4 规范化理论,1.3.4 规范化理论,1.3.4 规范化理论,1.3.4 规范化理论,总结,1.关系数据模型组成:关系 元组 属性 码 候选码 主码 外码,2.关系运算:合 并 差 笛卡儿积 选择 投影 除,3.关系完整性约束:实体完整性,参照完整性,用户定义完整性,4.关系数据库的规范化理论:1NF 2NF 3NF,
展开阅读全文

开通  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 

客服