数据库基础与应用 access2010 第三章 关系规范化.ppt
文本预览下载声明
第二范式 思 考 在按照2NF要求分解之后的关系模式中,确定学生表、班级表和选课表的主键和外键。 第三范式 第三范式定义 若关系R∈2NF,并且不存在非主属性对候选码的传递函数依赖,则称R满足第三范式,记为:R∈3NF 2NF转化为3NF: 将不只依赖于键的非主属性和所依赖的非主属性组成一个关系 原有关系中去掉那些不只依赖于键的非主属性,剩余部分组成一个关系 第一范式 第二范式 第三范式 BC范式 第三范式 实例分析 提出问题:满足2NF,不满足3NF stuNo stuName stuSex stuAge majorNo majorName majorLeader S001 白玉芬 女 19 M001 日语 王金宝 S002 唐嘉芝 女 18 M001 日语 王金宝 S003 刘健鹏 男 21 M001 日语 王金宝 S004 田 洋 男 19 M001 日语 王金宝 S005 申一雅 男 18 M001 日语 王金宝 S006 范 力 男 19 M002 英语 陈龙 S007 高 红 女 20 M002 英语 陈龙 S008 张埔涛 男 18 M002 英语 陈龙 S009 蒲惠妃 女 19 M003 阿拉伯语 何炅新 第三范式 实例分析 分析问题 插入异常:如果一个专业没有学生时不能插入该专业的信息 更新异常:对于给定的专业,专业名称和专业带头人姓名重复多次出现,产生了数据冗余,如果一个专业的专业带头人姓名发生变更,则与该专业相关的所有记录都要更新,否则将造成同一专业其带头人不一致,引发更新异常。 删除异常:当一个专业只有一个学生时,在删除该学生信息的时候会将该专业的信息全部删除,造成有效数据的丢失,引发删除异常。 第三范式 实例分析 问题求解 stuNo stuName stuSex stuAge majorNo S001 白玉芬 女 19 M001 S002 唐嘉芝 女 18 M001 S003 刘健鹏 男 21 M001 S004 田 洋 男 19 M001 S005 申一雅 男 18 M001 S006 范 力 男 19 M002 S007 高 红 女 20 M002 S008 张埔涛 男 18 M002 S009 蒲惠妃 女 19 M003 满足3NF majorNo majorName majorLeader M001 日语 王金宝 M002 英语 陈龙 M003 阿拉伯语 何炅新 第三范式 思 考 在按照3NF要求分解之后的关系模式中,确定学生表和专业表的主键和外键。 实例分析: 假设一个关系为R(A,B,C,D,E),它的最小函数依赖集为FD={ A→B,C→D, C→E },则该关系的候选码为什么?该关系属于第几范式,请简要地说明理由。若要规范化到高一级的范式,则将得到什么样的关系。 解答:该关系的候选码为(A,C)。 因为该关系中存在有非主属性对候选码的部分函数数依赖,即A→B,C→D,C→E ,其中B,D和E只依赖于候选码的部分A或C,所以该关系只属于第一范式。 若要规范化到高一级的范式,则需要将关系R根据属性对候选码的部分依赖拆分成两个关系,它们分别为: R1(A,B)和R2(C,D,E),这两个关系达到了3NF的要求。 BC范式 BC范式定义 若关系R∈1NF,并且它的决定因子都是候选键,则称R满足BC范式,记为:R∈BCNF 第一范式 第二范式 第三范式 BC范式 BC范式 实例分析 提出问题:满足3NF,不满足BCNF depNo depName productNo account D001 外语系 P001 100 D001 外语系 P002 120 D001 外语系 P003 2 D001 外语系 P004 6 D002 工商系 P001 80 D002 工商系 P002 100 D003 计算机系 P001 78 D003 计算机系 P002 160 D004 建筑系 P001 62 BC范式 实例分析 分析问题 该关系中存在如下函数依赖: (depNo, productNo) →account (depName, productNo ) →account depNo→depName depName→depNo 候选键包括:(depNo, productNo)和(depName,productNo) 主属性包括:depNo、depName和productNo 非主属性包括:account BC范式 实例分析 分析问题 ——BCNF转换方法 将产生函数依赖关系的主属性组成一个新关系 组合剩余的属性,合并相同的元组 BC范式 实例分析 问题求解 depNo productNo account D001 P001 1
显示全部