武汉大学数据库系统概论 第十五讲 规范化与函数依赖.pdf
上传人:qw****27 上传时间:2024-09-12 格式:PDF 页数:27 大小:1.9MB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

武汉大学数据库系统概论 第十五讲 规范化与函数依赖.pdf

武汉大学数据库系统概论第十五讲规范化与函数依赖.pdf

预览

免费试读已结束,剩余 17 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第十五讲规范化与函数依赖1本讲主要目标学完本讲后,你应该能够了解:1.规范化是关系数据库逻辑设计的一种方法;2.一个不好的数据库设计存在更新异常:插入异常、删除异常、数据冗余和修改复杂;3.导致更新异常的原因是:在一个关系模式中存在某些函数依赖。规范化方法就是将一个关系模式分解成多个模式,使得这些函数依赖不出现在同一个关系模式中的过程;4.函数依赖是一种语义上的概念,不能仅由表中的元组集合归纳出来;5.函数依赖、部分函数依赖、递归函数依赖的定义。2一.规范化的概念二.坏的数据库设计中的异常三.函数依赖四.部分函数依赖五.传递函数依赖3规范化的概念4规范化的概念规范化(Normalization)规范化是将属性分配给一个实体的过程,用以减少数据冗余和减少更新异常。这个过程实际上就是将一个低一级范式的关系模式,通过模式分解转换为若干个高一级范式的关系模式的集合的过程。一个手工处理的表可能存在数据冗余和导致更新异常吗?5坏的数据库设计中的异常6坏的数据库设计中的异常现在要建立一个数据库来描述学生的借书情况,有这样一些属性:借书证号(S#)姓名(SN)所在系(SD)电话(PHONE)借阅的图书号(B#)借阅图书名(BN)借阅日期(DATE)用一个关系模式S(S#,SN,SD,PHONE,B#,BN,DATE)表示。7坏的数据库设计中的异常假定有这样一个关系:S#SNSDPHONEB#BNDATE199813001王铭CS87654321B001数据结构20020403199813001王铭CS87654321B002数据库20020403199813001王铭CS87654321B003离散数学20020406199813001王铭CS87654321B004操作系统20020406199813001王铭CS87654321B005心理学20020420199813001王铭CS87654321B006人工智能20020420200112001李力MA12345678C001哲学20020508199812002张成MA12345678B001数据结构20020509设定主键为(S#,B#,DATE)该关系模式好吗??8坏的数据库设计中的异常S#SNSDPHONEB#BNDATE199813001王铭CS87654321B001数据结构20020403199813001王铭CS87654321B002数据库20020403199813001王铭CS87654321B003离散数学20020406199813001王铭CS87654321B004操作系统20020406199813001王铭CS87654321B005心理学20020420199813001王铭CS87654321B006人工智能20020420200112001李力MA12345678C001哲学20020508更新199812002张成MA12345678B001数据结构20020509操作:.一个学生借多本书冗余太大.“王铭”转系更新异常.新生注册但没借书插入异常.还掉了借的所有书删除异常9坏的数据库设计中的异常更新异常(UpdateAnomaly)——如果更改表所对应的某个实体实例或者关系实例的单个属性时,需要进行多行更新,那么就说这个表存在更新异常插入异常(InsertAnomaly)——无法插入某个实体实例(因为缺少某些属性的值)删除异常(DeleteAnomaly)——如果删除表的某一个实体实例或关系实例时,导致丢失另一个不同实体实例或关系实例的信息。10坏的数据库设计中的异常解决----将该模式分解下列成三个模式:S(S#,SN,SD,PHONE),B(B#,BN),SB(S#,B#,DATE)S#SNSDPHONEB#BNS#B#DATE199813001王铭CS87654321B001数据结构199813001B00120020403200112001李力MA12345678B002数据库199813001B00220020403199812002张成MA12345678B003离散数学199813001B00320020406解决前面B004操作系统199813001B00420020406的问题了B005心理学199813001B00520020420吗?B006人工智能199813001B00620020420?C001哲学200112001C00