ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

从1NF到BCNF

2022-06-20 00:35:27  阅读:186  来源: 互联网

标签:3NF BCNF 学号 找到 候选 1NF


故作高深把简单的内容讲的谁都看不懂是愚蠢的。。。

NF是范式(normal form 正常形式)的缩写,这个是描述关系模式的。

学校就是一个关系模式,这个关系模式里有学号,姓名,性别。NF之一就是学校。

1NF就是关系模式里的值不能再细分下去了,学号,姓名,性别这种就不能再细分下去了,学生就是可以细分出来的东西,老师也是可以细分出来的东西,如果学校分成学生和老师,再分成学号,姓名之类的就不是1NF。

2NF是说根据学号能找到其他所有的不能直接找到学生这个人的值,这样就满足了2NF。例如根据身份证号不能找到学号,根据学号也不能找到身份证号,但是根据这两个东西都能找到这个人,学号和身份证号就叫码,这两个合在一起叫候选码,候选码中的任何一个叫主码,如果一个表,一个关系模式只包含主码这种现象就叫全码,码≈主码≈全码。然后,根据身份证不能找到学院,不能找到系,所以假如删掉学号这个属性,就变成身份证,姓名,性别,学院,系,这时候就不能叫2NF了。

3NF就是根据一个候选码不能找到另一个候选码,每个候选码都能找到所有非候选码,身份证和学院,系的组合体找不到学号,学号找得到身份证,学院,系的组合体就是非3NF,如果把身份证删了,只剩下学号,姓名,性别,学院,系就符合3NF了,同时也符合BCNF。

BCNF是Boyce和Codd提出的范式,假如身份证找得到学号,学号找不到身份证,就是BCNF了。

接下来是官方说法:

1NF是满足最低要求的叫第一范式。

2NF是R(关系模式)∈1NF,每一个非主属性完全函数依赖于任何一个候选码(某个主码能找到其它所有不能直接找到这个人的属性)。

3NF是R<U,F>∈1NF,若R中不存在这样的码X,属性组Y及非主属性Z(Z不含于Y)使得X->Y(Y函数依赖于X,也就是根据X能找到Y),Y->Z成立,X不函数依赖于Y(Y找不到X),则称R<U,F>∈3NF。

BCNF是R<U,F>∈1NF,若X->Y且Y不含于X时X必有码(X可以是属性组),则R<U,F>∈BCNF。

 

数据库学关系模式,但我觉得就这种东西完全没有实用性,反正我也瞧不起这种东西,写一份吐槽一下。

 

标签:3NF,BCNF,学号,找到,候选,1NF
来源: https://www.cnblogs.com/threecountrywar/p/16391904.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有