函数依赖是关系数据库中属性之间的一种约束关系,表示当属性集合X的值确定时
函数依赖是关系数据库中属性之间的一种约束关系表示当属性集合X的值确定时属性集合Y的值也被唯一确定记作X→Y其中X称为决定因素。函数依赖的类型完全函数依赖若X→Y且X的任何真子集都不能决定Y则称Y完全函数依赖于X。例如在学生选课关系SC(Sno,Cno,G)中成绩G完全依赖于学号Sno和课程号Cno的组合单独的Sno或Cno都无法决定G。部分函数依赖若X→Y但Y不完全依赖于X即X的某个真子集也能决定Y则称Y部分函数依赖于X。例如在关系R(Sno,Sname,Cno,Grade)中学生姓名Sname只依赖于Sno而不依赖于Cno因此Sname部分依赖于(Sno,Cno)。传递函数依赖在关系R(U,F)中如果X→YY⊈XY→Z且Y不能决定X则称Z对X传递依赖。例如在关系R(Sno,Dept,Dean)中学号Sno决定所在系Dept系Dept决定系主任Dean因此Dean对Sno传递依赖。1.2 键的相关概念候选键候选码关系模式中能唯一标识每个元组的最小属性集合。候选键具有唯一性和最小性两个特性一个关系可以有多个候选键。主键主码从候选键中选定一个作为元组的唯一标识主键值不能为NULL一个关系只能有一个主键。主属性包含在任何一个候选键中的属性称为主属性。非主属性不包含在任何候选键中的属性称为非主属性。外键外码若关系R中的属性或属性组X不是R的键但X是另一个关系的键则称X为R的外键用于表示关系之间的引用。1.3 Armstrong公理系统Armstrong公理系统是函数依赖的推理规则集合用于从已知的函数依赖推导出隐含的函数依赖A1 自反律若Y⊆X⊆U则X→Y为F所蕴涵。A2 增广律若X→Y为F所蕴涵且Z⊆U则XZ→YZ为F所蕴涵。A3 传递律若X→YY→Z为F所蕴涵则X→Z为F所蕴涵。由上述三条基本规则可以推导出以下三条常用规则合并规则若X→YX→Z则X→YZ为F所蕴涵。伪传递规则若X→YWY→Z则XW→Z为F所蕴涵。分解规则若X→YZ⊆Y则X→Z为F所蕴涵。1.4 规范化与范式规范化是将低一级范式的关系模式转换为若干个高一级范式的关系模式的过程目的是减少数据冗余消除插入、删除和更新异常。常见的范式包括1NF第一范式关系模式的每个分量都是不可再分的数据项即属性具有原子性不能包含数组、集合等复合结构。1NF是关系模式的最基本要求。2NF第二范式在满足1NF的基础上消除非主属性对候选键的部分函数依赖即每个非主属性都完全依赖于候选键。3NF第三范式在满足2NF的基础上消除非主属性对候选键的传递函数依赖即非主属性不依赖于其他非主属性。BCNF巴斯-科德范式在3NF的基础上要求每个非平凡函数依赖的左边都是超键消除主属性对候选键的部分和传递依赖。4NF第四范式在BCNF的基础上消除非平凡且非函数依赖的多值依赖。5NF第五范式要求关系模式可以无损分解为多个更小的关系模式消除所有冗余的连接依赖。范式之间的包含关系为5NF⊂4NF⊂BCNF⊂3NF⊂2NF⊂1NF即高一级范式必然满足所有低一级范式的要求。二、典型试题及答案2.1 单项选择题函数依赖是数据库中表的属性之间的一种关系以下哪个选项不是函数依赖的基本性质A. 自反性 B. 传递性 C. 增广性 D. 唯一性答案D在关系数据库中如果属性X函数决定属性Y则称X是Y的A. 候选键 B. 主键 C. 外键 D. 决定因素答案D数据库中第一范式1NF要求A. 列不可再分 B. 行不可再分 C. 主键唯一 D. 无重复行答案A关系模式中满足2NF的模式A. 可能不满足1NF B. 必定满足1NF C. 必定满足3NF D. 必定满足BCNF答案B若关系模式R属于3NF则下面说法正确的是A. 一定属于BCNF B. 消除了插入异常 C. 消除了部分依赖 D. 消除了传递依赖答案D当关系模式R(A,B,C)中存在函数依赖A→BB→C时它最高属于A. 1NF B. 2NF C. 3NF D. BCNF答案B一个关系模式若存在部分函数依赖它违反了A. 1NF B. 2NF C. 3NF D. BCNF答案B关系模式的候选键可以有A. 0个 B. 1个 C. 1个或多个 D. 无数个答案C要达到BCNF必须消除A. 部分依赖 B. 传递依赖 C. 主属性对键的部分和传递依赖 D. 非主属性对键的部分和传递依赖答案C规范化过程主要为克服数据库逻辑结构中的插入异常、删除异常以及A. 数据不一致 B. 结构不合理 C. 冗余度大 D. 数据丢失答案C2.2 多项选择题以下属于数据库范式的有A. 1NF B. 2NF C. 3NF D. BCNF答案ABCD满足3NF的关系模式具有以下特点A. 每个非主属性完全依赖于候选键 B. 消除了部分依赖 C. 消除了传递依赖 D. 一定满足BCNF答案ABC关系模式中可能存在的问题有A. 插入异常 B. 删除异常 C. 数据冗余 D. 更新异常答案ABCD下列关于函数依赖说法正确的是A. 若X→YX是决定因素 B. 函数依赖是语义范畴的概念 C. 若X→YX可以为空 D. 平凡函数依赖不具有实际意义答案AB候选键的性质有A. 唯一性 B. 最小性 C. 可以有多个 D. 必须包含所有属性答案ABC以下哪些操作可以用于规范化数据库设计A. 分解关系模式 B. 合并关系模式 C. 消除部分依赖 D. 消除传递依赖答案ACD关于BCNF正确的是A. 每个非平凡函数依赖的左边都是超键 B. 是比3NF更高级的范式 C. 消除了所有依赖 D. 一定满足3NF答案ABD若关系模式R存在部分依赖可能导致的问题有A. 数据冗余 B. 插入异常 C. 删除异常 D. 更新异常答案ABCD下面关于1NF的描述正确的是A. 所有属性都不可再分 B. 满足1NF是关系模式规范化的基础 C. 它是最低级别的范式 D. 关系模式必须满足1NF才能继续优化答案ABCD规范化的目的是A. 消除数据冗余 B. 提高数据完整性 C. 增强数据一致性 D. 便于数据查询答案ABC2.3 判断题满足2NF的关系模式一定满足1NF。 答案√3NF消除了所有的函数依赖。 答案×一个关系模式只能有一个候选键。 答案×若关系模式R属于BCNF则一定属于3NF。 答案√部分依赖是指非主属性对候选键的部分依赖。 答案√关系模式只要满足1NF就可以正常使用。 答案×传递依赖是导致数据库出现问题的原因之一。 答案√消除部分依赖和传递依赖可以提高关系模式的范式级别。 答案√候选键中的属性都是主属性。 答案√所有关系模式都需要规范化到最高范式。 答案×2.4 简答题简述第一范式1NF、第二范式2NF和第三范式3NF的定义及相互关系。答案第一范式1NF要求关系中的每个属性都不可再分即表中不能有重复组每列都是原子值。1NF是关系模式的最基本要求。第二范式2NF在1NF的基础上要求每个非主属性完全依赖于候选键消除了非主属性对候选键的部分依赖。第三范式3NF在2NF的基础上要求每个非主属性既不部分依赖于候选键也不传递依赖于候选键消除了非主属性对候选键的传递依赖。三者的关系是3NF必然满足2NF2NF必然满足1NF即范式级别越高约束越严格。什么是候选键简述候选键的特性。答案候选键是关系模式中能唯一标识每个元组的最小属性集合。候选键具有两个核心特性唯一性候选键的值可以唯一确定关系中的每个元组任意两个元组的候选键值不能相同。最小性候选键是满足唯一性的最小属性集合去掉候选键中的任何一个属性就不再具有唯一性。一个关系模式可以有一个或多个候选键通常从中选择一个作为主键。简述数据库规范化的目的和可能带来的问题。答案规范化的目的消除数据冗余节省存储空间消除插入异常、删除异常和更新异常提高数据的完整性和一致性使数据库结构更合理便于维护规范化可能带来的问题过度规范化会增加表的数量导致查询时需要进行多表连接降低查询性能增加了数据库设计的复杂度对于某些复杂查询场景高范式可能会导致查询语句编写更加复杂因此在实际项目中需要在数据完整性和查询性能之间进行权衡根据业务需求选择合适的范式级别。2.5 综合应用题设有一个记录各个球队队员每场比赛进球数的关系模式R队员编号比赛场次进球数球队名队长名如果规定每个队员只能属于一个球队每个球队只有一个队长。1试写出关系模式R的基本函数依赖和主码。2说明R不是2NF模式的理由并把R分解成2NF。3进而将R分解成3NF并说明理由。答案1基本函数依赖队员编号→球队名每个队员只能属于一个球队球队名→队长名每个球队只有一个队长队员编号比赛场次→进球数每个队员每场比赛的进球数是确定的主码队员编号比赛场次因为该组合可以唯一确定每个元组且具有最小性。2R不是2NF模式的理由因为存在部分函数依赖队员编号→球队名即球队名只依赖于主码的一部分队员编号而不依赖于整个主码队员编号比赛场次违反了2NF的要求。分解为2NFR1队员编号球队名队长名主码队员编号R2队员编号比赛场次进球数主码队员编号比赛场次分解后R1和R2中的非主属性都完全依赖于各自的主码满足2NF的要求。3分解为3NFR11队员编号球队名主码队员编号R12球队名队长名主码球队名R2队员编号比赛场次进球数主码队员编号比赛场次理由原来的R1中存在传递依赖队员编号→球队名球队名→队长名即队长名传递依赖于主码队员编号违反了3NF的要求。分解为R11和R12后消除了传递依赖每个关系中的非主属性都既不部分依赖也不传递依赖于主码满足3NF的要求。设有关系模式R(A,B,C,D,E)与它的函数依赖集F{A→BC, CD→E, B→D, E→A}求R的所有候选键。答案通过闭包算法计算A的闭包A→BCB→DCD→E因此A⁺{A,B,C,D,E}包含所有属性且A是单个属性所以A是候选键。E的闭包E→AA→BCB→DCD→E因此E⁺{A,B,C,D,E}包含所有属性所以E是候选键。BC的闭包B→DCD→EE→A因此BC⁺{B,C,D,E,A}包含所有属性且B和C单独都不能决定所有属性所以BC是候选键。CD的闭包CD→EE→AA→BC因此CD⁺{C,D,E,A,B}包含所有属性且C和D单独都不能决定所有属性所以CD是候选键。综上R的候选键有4个A、E、BC、CD。三、学习总结函数依赖和规范化是关系数据库设计的核心理论基础掌握这些知识可以帮助我们设计出结构合理、冗余度低、一致性高的数据库模式。在实际应用中需要根据业务需求和性能要求灵活选择范式级别避免过度规范化导致的性能问题。对于大多数业务系统通常将关系模式规范化到3NF即可在数据完整性和查询性能之间取得较好的平衡。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2518266.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!