详解数据库范式:第三范式与第五范式.docVIP

详解数据库范式:第三范式与第五范式.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
详解数据库范式:第三范式与第五范式 1NF:一个table中的列是不可再分的(即列的原子性) 2NF:一个table中的行是可以唯一标示的,(即table中的行是不可以有重复的) 3NF:一个table中列不依赖以另一个table中的非主键的列,还是不通俗!巨寒!! 举个例子吧:有一个部门的table,我们叫它tbl_department, 它有这么几列(dept_id(pk),dept_name,dept_memo...) 有一个员工table,我们叫它tbl_employee,在这个table中有一列dept_id(fk)描述关于部门的信息,若tbl_employee要满足3NF, 则在tbl_employee中就不得再有除dept_id列的其它有关部门信息的列! 一般数据库的设计满足3NF即可!(个人觉得应该尽可能的满足3NF,一家之言^_^) BCNF:通常认为BCNF是修正的第三范式,它比3NF又进一步! 4NF: 5NF:将一个table尽可能的分割成小的块,以排除在table中所有冗余的数据 范式简介 为了回答上述问题,了解3NF、BCNF、4NF和5NF之间的区别很重要。以下为每个范式的准确定义。 第一范式(1NF) 每个表必须有一个首要键,即最少的一组属性,它与每条记录一一对应。通过适当定义键属性和非键属性,删除重复的组(不同记录似乎需要不同次重复的数据种类)。注:每个属性必须包含单独一个值,而非一组值。 第二范式(2NF) 数据库必须满足1NF的所有要求。另外,如果一个表有一个复合键,所有属性必须与整个键相关联。而且,在表的多行之间多余重复的数据被移动一个单独的表中。 第三范式(3NF) 存储在表中的数据不得依赖表的任何域,必须唯一依赖于首要键。数据库必须满足2NF的所有要求。既依赖首要键,又依赖其它域的数据被移动到一个单独的表中。 Boyce-Codd范式(BCNF) 除对一个候选键扩展集(称作一个超级键)存在属性函数依赖外,不存在其它非平凡函数依赖。 第四范式(4NF) 除对一个候选键扩展集存在属性组函数依赖外,不存在其它非平凡多值函数依赖。如果且只有一个表符合BCNF,同时多值依赖为函数依赖,此表才符合第四范式。4NF删除了不必要的数据结构:多值依赖。 第五范式(5NF) 不得存在不遵循键约束的非平凡连接依赖。如果且只有一个表符合4NF,同时其中的每个连接依赖被候选键所包含,此表才符合第五依赖。 数据库范式 注: 表在定义中被称为关系,记作R 字段在定义中被称作属性 模式:数据库中有三种模式,外模式,内模式,模式 粗体是关键字的意思 斜体为外键 第一范式 定义:如果关系R 中所有属性的值域都是单纯域,那么关系模式R是第一范式的 那么符合第一模式的特点就有 1)有主关键字 2)主键不能为空, 3)主键不能重复, 4)字段不可以再分 例如: StudyNo | Name | Sex | Contact john Male Email:kkkk@ee.net,phone:222456 mary famale email:kkk@fff.net phone:123455 以上的表就不符合,第一范式:主键重复(实际中数据库不允许重复的),而且Contact字段可以再分 所以变更为正确的是 StudyNo | Name | Sex | Email | Phone john Male kkkk@ee.net 222456 mary famale kkk@fff.net 123455 第二范式: 定义:如果关系模式R是第一范式的,而且关系中每一个非主属性不部分依赖于主键,称R是第二范式的。 所以第二范式的主要任务就是 满足第一范式的前提下,消除部分函数依赖。 StudyNo | Name | Sex | Email | Phone | ClassNo| ClassAddress 01 john Male kkkk@ee.net 222456 200401 A楼2 01 mary famale kkk@fff.net 123455 200402 A楼3 这个表完全满足于第一范式, 主键由StudyNo和ClassNo组成,这样才能定位到指定行 但是,ClassAddress部分依赖于关键字(ClassN

文档评论(0)

中华书局 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档