【软考总结】——数据库之范式 迷南。 2022-07-16 03:54 407阅读 0赞 设计关系数据库时,遵从不同的规范要求,设计出合理的关系型数据库,而这些不同的范式,各种范式呈递次规范,越高的范式数据库冗余越小。 在理解数据库范式之间,先理解几个概念更能帮助我们掌握和区分数据库的几个范式。 # 基础概念 # ** 函数依赖**:设R(U)是属性集U上的关系模式,X,Y是U的子集。若对R(U)的任何一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称为X函数决定Y,也可以称作Y函数依赖于X,记作X—>Y。 ** 一句话解释:**在Y上任何一个属性值,在X上对应一个唯一的值。即称作X—>Y。 ** 完全函数依赖:**在R(U)中,如果X—>Y,并且对于X的任何一个真子集X’都有X’不能决定Y,则称为Y对于X完成函数依赖,记为X—>Y。 **解释:**用X中全部的值才能决定Y。 ** ** ** 传递依赖:**在R(U,F)中,如果X—>Y,Y⊈X,Y—>Z,则Z对X传递依赖。 ** 非键属性**:不是构成主键的属性。 ** 候选码:**关系中的一个属性或者一组属性可以唯一的标识一个元组。 ** 非主属性:**不包含在各个候选键中。 # 范式 # 第一范式(1NF):所有的属性不可再分; 第二范式(2NF):非键属性完全依赖于主键; 第三范式(3NF):非主性属性没有传递依赖; BCNF:任何一个函数依赖中决定因素都是候选码; # **实例分析** # ## 先讲解1NF ## 关系中包含的属性不能再分,例如R(姓名,性别,年龄,家庭情况)其中家庭情况又包含(父亲,母亲)对于关系R来说,就不满足1NF,因为家庭情况这个属性可以继续分解,整理成符合1NF的关系R(姓名,性别,年龄,父亲,母亲) ## 分析2NF和3NF ## 关系FIRST:(Sno,Sname,Status,City,Pno,Qty) F=\{Sno—>Sname,Sno—>Status,Status—>City,(Sno,Pno)—>Qty\} **先判断是否符合2NF?** 2NF定义非键属性完全依赖于主键 主键有:Sno,Pno; 非键属性:Sname,Status,City,Qty 假如符合2NF,则(Sno,Pno)—>Sname,(Sno,Pno)—>Status,(Sno,Pno)—>city,(Sno,Pno)—>Qty根据题意显然前三个关系仅需要Sno就可以得到,不满足2NF。 转换为符合2NF的关系 FIRST1\{Sno,Sname,Status,City\}; FIRST2\{Sno,Pno,Qty\} **判断是否符合3NF?** 3NF定义非主属性对主键不存在传递依赖 非主属性:Sname,Status,City 看FIRST1中City是因为Sno—>Status,Status—>City,故City对Sno传递依赖,不符合三范式。 拆分成符合三范式的关系 F1(Sno,Sname,Status) F3(Status,City) ** 则符合3NF的FIRST被拆分为** F1(Sno,Sname,Status) F2(Sno,Pro,Qty) F3(Status,City) 根据BCNF的定义来看,上述分解已经符合BCNF范式了。 # 【总结】 # 通过这次软考复习,感觉自己终于弄懂这几个范式的关系,感觉自己萌萌哒!其实自己有反思一下为什么之前不能理解,得过且过的心态害死人啊。其中多重复几遍,对其中涉及到的基础概念耐心理解一下,这几个范式也就那么一回事! **如有理解偏颇之处,请各位大神不惜赐教,不胜感激!**
相关 软考总结 软考过去很长时间了,一直忙于总结软考中的知识。对于这次软考还没有过系统的总结。现在软考知识点总结算告一段落,将软考这段历程系统性地总结一下! 软考一段忙碌的历 Bertha 。/ 2022年08月01日 13:57/ 0 赞/ 191 阅读
相关 【软考总结】——数据库之范式 设计关系数据库时,遵从不同的规范要求,设计出合理的关系型数据库,而这些不同的范式,各种范式呈递次规范,越高的范式数据库冗余越小。 在理解数据库范式之间,先理解几个概念 迷南。/ 2022年07月16日 03:54/ 0 赞/ 408 阅读
相关 软考总结 软考总结 软考从开始准备到考试结束,历时两个多月,有整体的计划,我们小组有小组的计划,按着计划就这样准备了两个多月。在大学第一次为了准备这样的考试做了这么有条理的准备。 考 逃离我推掉我的手/ 2022年07月15日 10:39/ 0 赞/ 225 阅读
相关 软考总结 强烈推荐一个大神的人工智能的教程:[http://www.captainbed.net/zhanghan][http_www.captainbed.net_zhanghan] 川长思鸟来/ 2022年07月15日 10:19/ 0 赞/ 231 阅读
相关 软考总结 兜兜转转差不多三个月的时间进行软考的复习与考试,但是通过这次的考试还是觉得自己有很多欠缺的地方,就要自己私自的下功夫来补回了。 “书读 今天药忘吃喽~/ 2022年07月15日 10:18/ 0 赞/ 221 阅读
相关 软考总结 准备了两个月的软考结束了,也意为着新的学习要开始了,在学习新的东西之前也应该总结一下考试的感慨,在准备软考的这两个月以来有很多的收获。 通过考 古城微笑少年丶/ 2022年05月14日 23:13/ 0 赞/ 264 阅读
相关 软考总结 软件设计师中级考试,历时差不错两个半月(中间有自学考试学习),说实话,感觉自己并没有太努力,尤其是最后一周,总是打不起精神来。而且这半年,陷入了一个魔咒:每个月必生一病。前前个 小灰灰/ 2022年04月17日 06:21/ 0 赞/ 271 阅读
相关 软考总结 软考总结 这次算是第几次经历软考呢?上次软考,没有报名,但是一起参与了设计模式的学习。这次是报名参加了,并且几乎参与了所有的一起讨论题目,最大的感触有以下以下两点: 一、一 绝地灬酷狼/ 2022年04月17日 02:11/ 0 赞/ 282 阅读
相关 软考总结 前言 两个多月的软考准备时间终于告一段落,同样的来一篇总结送给过去两个月的自己。 正文 从去年开始了解软考,知道的就是软考涉及的内容很多,大部分都是自考的内容,认 缺乏、安全感/ 2022年04月17日 02:08/ 0 赞/ 247 阅读
相关 软考总结 已经记不清是什么时候开始的软考了,反正这三个月来,一眨眼就过去了,软考还是那个软考,我们已经不是三个月前的我们!准确的来说,我们都变强了,从“小菜”变成了“小鸟”,以后也将 深碍√TFBOYSˉ_/ 2022年04月17日 01:55/ 0 赞/ 306 阅读
还没有评论,来说两句吧...