第3讲 关系数据库原理(关系的完整性和规范化)

上传人:dfg****19 文档编号:242862991 上传时间:2024-09-10 格式:PPT 页数:28 大小:249KB
返回 下载 相关 举报
第3讲 关系数据库原理(关系的完整性和规范化)_第1页
第1页 / 共28页
第3讲 关系数据库原理(关系的完整性和规范化)_第2页
第2页 / 共28页
第3讲 关系数据库原理(关系的完整性和规范化)_第3页
第3页 / 共28页
点击查看更多>>
资源描述
Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,28,第,1,章 关系数据库原理,关系的完整性规则、关系的规范化,单击此处编辑母版标题样式,第,3,讲,第,1,章 关系数据库原理,关系的完整性和关系的规范化,主讲人,:,栾志军(讲师、软件工程师),QQ:563475641,手机:,15063828826,第,3,讲,复习,什么是关键字,/,码,/,键?,什么是主关键字,/,主码,/,主键?,ER,图转化为关系模式的原则是什么?,答:是能用来惟一标识元组的属性或属性组合。,答:被指定为关键字的候选关键字,称为,。,答:(,1,),每个实体转换为一个关系。,(,2,)每个联系也转换成一个关系。,(,3,)有相同码的关系可以合并。,复习,关系应具备什么性质?,答:(,1,)关系中每一个属性值都是,不可分解,的。,(,2,)关系中不允许出现相同的行。,(,3,)关系中不允许出现相同的列。,(,4,)关系中没有行序、没有列序。,第,1,章 关系数据库原理,关系的完整性规则、规范化,教学内容,关系的完整性规则,实体完整性、参照完整性、域完整性,函数依赖,完全函数依赖、部分函数依赖、传递函数依赖,关系的规范化,第一范式、第二范式、第三范式,第,1,章 关系数据库原理,关系的完整性规则、规范化,学习目标,认知目标:,理解关系的完整性规则,了解函数依赖、关系规范化的含义,理解三种范式的定义,能力目标,:,能判别关系的范式类别,(,重点、难点,),能进行范式的分解(重点、难点),一、关系的完整性规则,定义,是对关系的某种约束条件。,目的,用于保证关系数据库中数据的正确性和可靠性。,类型,实体完整性规则,参照完整性规则(引用完整性规则 ),域完整性规则(用户自定义完整性规则),是关系模型必须满足的完整性约束条件。,是关系模型必须满足的完整性约束条件。,一、关系的完整性规则,1.,实体完整性规则,规则要求:,在任何关系的任何一个元组中,主键的值,不能为空值、也不能取重复的值,。,目的:用于保证数据库表中的每一个元组都是惟一的。,请思考:,下面的关系是否违反实体完整性规则?,学号,姓名,性别,年龄,系编号,03001,马力刚,男,21,01,03102,王萍华,女,20,02,03223,王平,男,21,03,张华,男,22,04,03001,李萍,女,19,05,一、关系的完整性规则,2.,域完整性规则,(,用户定义完整性规则,),规则要求,由用户根据实际情况,定义表中属性的取值范围,例如:性别只能是男和女、年龄不能为负值、成绩在,0,100,之间等。,目的,用于保证给定字段中数据的有效性,即保证数据的取值在有效的范围内。,一、关系的完整性规则,3.,参照完整性规则(引用完整性规则),规则要求:,“,不引用不存在的实体,”,。即:不允许在一个关系中引用另一个关系中不存在的元组。,目的,用于确保相关联的表间的数据保持一致。,一、关系的完整性规则,3.,参照完整性规则(引用完整性规则),请思考:,下面两个关系是否违反参照完整性规则?,系表(主表) 学生表(从表),说明,从表的,“,系编号(外键),”,的取值只能为两种情况:,若取非空值,则它必须是主表中,存在的值,。,取空值,(null),。表明尚未给学生分配专业。,Null,不等于,0,或空字符串。,学号,姓名,性别,年龄,系编号,03001,马力刚,男,21,01,03102,王萍华,女,20,03223,王平,男,21,05,系编号,系名,系主任,办公室,电话,01,计算机,龚小勇,205,6003,02,通信,谭中华,207,6025,03,电子,袁勇,210,6018,二、函数依赖,1.,概念、类型,函数依赖,是指关系中各属性或属性组之间的相互依赖关系。它是关系规范化的理论基础。,函数依赖的定义,给定一个关系模式,R,,,X,和,Y,都是,R,的属性或属性组,对于,X,的每个确定值在任何时刻,Y,只有一个确定的值与之对应,则称,“,X,函数决定,Y,”,,或称为,“,Y,函数依赖于,X,”,,,X,称为决定因素,记为:,XY,。,函数依赖的类型,完全函数依赖,部分函数依赖,传递函数依赖,二、函数依赖,2.,完全函数依赖,定义,如果属性,Y,函数依赖于,复合属性,X,,且不与,X,的任何子集函数相依赖,则称,“,Y,完全函数依赖于,X,”,。,示例,有如下的关系模式,:,生产,(,工厂编号,产品编号,计划数量,),“,工厂编号,+,产品编号,”,“,计划数量,”,,是完全函数依赖。,二、函数依赖,3.,部分函数依赖(局部依赖),定义,对于一个函数依赖:,XY,,如果存在,ZX,(,Z,属于,X,),且有,ZY,成立,则称,“,Y,部分函数依赖于,X,”,。,示例,有如下的关系模式,SCD(,学号,姓名,课程号,成绩,系名,系主任,),主码为复合码:学号,+,课程号,“,姓名、系名、系主任,”,与主码是部分函数依赖,二、函数依赖,4.,传递函数依赖,定义,在关系模式中,如果,XY(,不能,YX),,,YZ,,若存在,XZ,,则称“,Z,传递依赖于,X,”,。,示例,有如下的关系模式,SD,(,学号,,姓名,系名,系主任),“学号,系名,系名,系主任”,则系主任传递依赖于学号。,三、关系的规范化,引,在关系数据库的设计过程中,对于同一个问题,选用不同的关系模式,其性能的优劣是大不相同的,为了区分关系模式的优劣,人们常常把关系模式分为各种不同等级的范式。,三、关系的规范化,1.,概念和范式的类型,类型,第一范式,(1NF),第二范式,(2NF),第三范式,(3NF),关系规范化的概念,将低级范式转换为若干个高级范式过程。,低,高,三、关系的规范化,2.,第一范式,(1NF),定义,如果关系模式,R,的所有属性的值域中第一个值都是,不可再分解值,,则称,R,是属于,1NF,模式。,第一范式是对关系的最低要求。,示例,:,判断哪一张表是,1NF,?,三、关系的规范化,2.,第一范式,(1NF),第一范式可能存在的问题:,数据冗余:如各位老师的信息重复。,插入异常:如果要插入刘老师的个人信息,但刘老师未开课,会造成缺关键字,“,学号,”,、,“,课程号,”,。,删除异常:当要删除 课程号,=,“,C3,”,的元组,会丢失李老师的信息。,修改量大。,83,77,57,85,78,90,成绩,2-14,34,王,C1,04,1-01,45,周,C2,01,1-01,45,周,C2,03,3-15,27,李,C3,03,2-14,34,王,C1,02,2-14,34,王,C1,01,办公室,教师年龄,教师,课程号,学号,三、关系的规范化,3.,第二范式,(2NF),定义,如果关系模式,R,为第一范式,且,R,中,每个,非主属性,完全函数依赖,于,R,的主码,(,复合码,),,则称,R,为,2NF,模式。,示例,下列关系模式是,1NF,,是否是,2NF,?为什么?,SCD,(,学号,,姓名,,课程号,,成绩,系名,系主任),主码为复合码:学号,+,课程号,解决方法:消除部分函数依赖。,不是。因为:,“,姓名、系名、系主任,”,与主码是部分函数依赖(即:只依赖于学号),三、关系的规范化,3.,第二范式,(2NF),分解为,2NF,的方法:,把关系模式中对主码完全函数依赖的非主属性与决定它们的主码放在一个关系模式中。,把对主码部分函数依赖的非主属性和决定它们的主属性放在一个关系模式中。,检查分解后的新模式,如果仍不是,2NF,,则继续按照前面的方法进行分解,直到达到要求。,关系模式,SCD,的分解结果如下:,SC,(,学号,,,课程号,,成绩),SD,(,学号,,姓名,系名,系主任),三、关系的规范化,4.,第三范式,(3NF),定义,如果关系模式,R,为第二范式,且,R,中每个非主属性都,不,传递函数依赖于,R,的某个候选码,则称,R,为,3NF,模式。,示例,下列关系模式是,2NF,,是否为,3NF,?为什么?,SD,(,学号,,姓名,系名,系主任),解决方法:消除传递函数依赖。,不是。因为:学号,系名,系名,系主任,存在传递依赖关系。,三、关系的规范化,4.,第三范式,(3NF),分解为,3NF,的方法:,把直接对主码函数依赖的非主属性与决定它们的主码放在一个关系模式中。,把造成传递函数依赖的决定因素连同被它们决定的属性放在一个关系模式中。,检查分解后的新模式,如果不是,3NF,,则继续按照前面的方法进行分解,直到达到要求。,关系模式,SD,的分解结果如下:,SD,(,学号,,姓名,系名),SD,(,系名,,系主任),三、关系的规范化,5.,各范式间的关系,各范式之间的关系,四、综合应用,实例:,假设某商业集团数据库中有,1,个关系模式,R(,商店编号,商品编号,数量,部门编号,负责人,),。如果规定:,(1),每个商店的每种商品只在一个部门销售。,(2),每个商店的每个部门只有一个负责人。,(3),每个商店的每种商品只有一个库存数量。,写出关系模式,R,的基本函数依赖集,找出关系模式,R,的候选码。,关系模式,R,最高已经达到第几范式?为什么?,如果,R,不属于,3NF,,请将,R,分解成,3NF,。,四、综合应用,分析与解答:,基本的函数依赖有:,(,商店编号,+,商品编号,) ,部门编号,(,商店编号,+,部门编号,) ,负责人,(,商店编号,+,商品编号,) ,数量,由题意,上面的函数依赖可知“商店编号”是主属性,商品编号也是主属性,由这两个属性,可以确定关系元组的所有属性,所以,R,的候选码是:,商店编号,+,商品编号,。,四、综合应用,分析与解答:,R(,商店编号,商品编号,数量,部门编号,负责人,),最高已达到,2NF,。因为负责人是码的传递依赖。,要达到,3NF,,必须消除非主属性对码的传递依赖。对,R,分解后的两个模式如下:,R1(,商店编号,商品编号,,数量,部门编号,),R2(,部门编号,,负责人,),本课小结,关系的完整性规则,实体完整性,/,参照完整性,/,域完整性,范式的类型,1NF,、,2NF,、,3NF,各范式间的关系,:,1NF,中的每个属性值是不可再分的,它是关系模式的最低要求。,消除,1NF,中的部分函数依赖,可转换为,2NF,。,消除,2NF,中的传递函数依赖,可转换为,3NF,。,课余作业布置,课外练习,教材,P25,:,9,补充:设关系模式,SCT(,学号,课程号,成绩,教师名,教师地址,),。如果规定:,(1),每个学生每学一门课程只有一个成绩;,(2),每门课只有一个教师任教;,(3),每个教师只有一个地址(无同名教师)。,写出关系模式,SCT,的基本函数依赖集。,找出关系模式,SCT,的候选码。,试把,SCT,分解成,2NF,模式集,并说明理由。,试把,SCT,分解成,3NF,模式集,并说明理由。,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 方案规范


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

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


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