先从第一范式说起吧:
1NF就是每个属性(一般都指table中的字段)都具有原子性,例如:“月总收入”可以细分为若干的收入项目,因此存在这样属性的范式就不是1NF;2NF就是在1NF的基础上,每个非主属性(主属性一般指关键字)都完全依赖于主属性,例如范式 f{A->BC, X->C},其中的主关键字是{A,X},非主属性是C,C可由A推导出,也可又X推导出,因此它是部分以来于主属性的;而f{AC->B}中,主关键字是{A,C},非主属性是B,B需要A,C来共同推导出,因此是完全依赖于主属性的;3NF就是在2NF的基础上,不存在传递推导,例如f{A->B, B->C},就存在A->B->C的传递推导,因此就不是3NF;总的来说,范式越高,就越严格;但在实际的数据库设计中,并非越高越好,好要根据实际的应用情况具体分析,有些时候为了提高查询的速度,要牺牲一定的规范,还要产生一定的数据冗余。
1NF就是每个属性(一般都指table中的字段)都具有原子性,例如:“月总收入”可以细分为若干的收入项目,因此存在这样属性的范式就不是1NF;2NF就是在1NF的基础上,每个非主属性(主属性一般指关键字)都完全依赖于主属性,例如范式 f{A->BC, X->C},其中的主关键字是{A,X},非主属性是C,C可由A推导出,也可又X推导出,因此它是部分以来于主属性的;而f{AC->B}中,主关键字是{A,C},非主属性是B,B需要A,C来共同推导出,因此是完全依赖于主属性的;3NF就是在2NF的基础上,不存在传递推导,例如f{A->B, B->C},就存在A->B->C的传递推导,因此就不是3NF;总的来说,范式越高,就越严格;但在实际的数据库设计中,并非越高越好,好要根据实际的应用情况具体分析,有些时候为了提高查询的速度,要牺牲一定的规范,还要产生一定的数据冗余。
解决方案 »
- 高分求一个sql写的des加密算法存储过程,分不够再加。用于 sql server
- 怎么实现在fastreport下的票据连续打印,大虾请帮忙!!
- UDP同时问题
- 这是怎么回事?关于application.messagebox
- 谁能帮我生成这样一个TreeView?
- 怎样把参数传到自己写的dll里面呀
- 怎么在MDI父窗口中的子窗体显示区域加一个图片
- 关于excel导入access的问题"创建文件失败",急!在线等!谢谢
- 如何在程序中备份Sql Anywhere数据库?是直接Copy文件,还是....
- 我需要一个驱动程序,那位大侠有啊
- 如何閱讀以.rar為擴展名的文件?
- 发红包了,发红包了!再次进行大放分!!!
》》TableB(学生编号,班级,系别),由学生编号可知学生所在的班机,又班级可知所在
的系别,存在传递推导,因此不是3NF.我想知道,3NF的作用。就向上面所说,知道他不是3NF,那又有什么用呢?
要想试用,请汇10元到北京中南海传达室,张大爷或张大妈或张他妈收,预知后事请听<<大话东游8.0(R)>>续集!此工具可能今年上半年会全球发行价格为100000美金,不过我这里只收10RMB.
好了,要用这个超级编程工具VZ,就汇10RMB,只要10元,真的(记得留下您的EMAIL地址)...
5 分钟后即可收到这个大礼包!!!中国的程序员们,加油啊!有这么好的工具不用,哪里对得起你们的老娘!
你发什么神经!!
Nicrosoft(奈软)和songhtao(三十年孤独)说得很好了呀!要达到一定规范的范式,需要进行范式分解,我认为你可以找本数据库设计概论方面的书来好好看看,会对你的数据库设计有很大的帮助的。如果一个程序在需求分析阶段做得不好的话,以后的工作会让你很痛苦的!