对数据库范式分析与应用.docVIP

  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)、第二范式(2NF)、第三范式(3NF)、第四范式(4NF)以及BCNF范式做了详细分析,使用简明清晰的方法帮助大家理解范式的定义,并且通过实例?硭得鞲鞣妒叫枰?满足的函数依赖关系。   关键词:函数依赖;关系;数据库;范式   中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2018)08-0007-02   数据库有关系型数据库和非关系型数据库,现在应用广泛的流行的数据库就是关系型数据库。关系型数据库是建立在关系模型的基础上的,所以我们首先需要了解关系、关系模式以及关系模式里属性间的函数依赖关系。   关系用来表示现实世界的实体以及实体间的各种联系,它的逻辑结构其实就是一张二维表。在关系模式R(U,F)中R是关系名,U为一组属性,F为属性组U上的一组数据依赖。数据依赖是一个关系内部属性与属性之间的一种约束关系。数据依赖主要有两种类型:函数依赖(FD)和多值依赖(MVD)。那到底什么是函数依赖呢?它是这么定义的:设R(U)是一个属性集U上的关系模式,X和Y是U的子集。若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称“X函数确定Y”或“Y函数依赖于X”,记作X→Y。举个实际例子:教师信息表(员工编号,姓名,所在系别,教龄),其中X代表属性集(员工编号),它只有一个属性。Y代表属性集(姓名,所在系别,教龄)。当X的属性值相等时,Y值也是相等的,即若员工编号相同,则其他属性“姓名,所在系别,教龄”也都一定相同。故称此关系模式中x函数确定Y,X→Y,也就是:员工编号一姓名,所在系别,教龄。   1各范式概念剖析及实例分析   关系数据库一共有六种,按属性间依赖关系可以分为第一范式、第二范式、第三范式、BCNF范式、第四范式、第五范式。要想设计出好的数据库,需要遵循规范化理论,使数据库一步一步达到所需规范化的要求。本文主要剖析前面五种范式的相关概念,捋清各范式要求的属性间的依赖关系并结合实际的应用例子来说明。   1.1第一范式(1NF)   第一范式要求数据库表中的属性不可再分,这是关系数据库必须满足的条件。在平时的工作中,常常会见到如下表(表1)中这样的数据表。客户有一个手机号,还有一个办公电话,但放到数据库设计中,这就不满足第一范式,数据项“联系方式”这一项有两个数据项。要使其满足第一范式则应将联系方式分解为“手机”和“公司电话”两个数据项。   1.2第二范式(2NF)   第二范式的定义:若关系模式R∈1NF,并且每一个非主属性都完全函数依赖于任何一个候选码,则RE2NF。请注意这里的依赖关系是完全函数依赖,是不允许部分函数依赖,但是传递函数依赖是可以存在的。下面分情况讨论:   1.2.1关系模式中不存在组合候选键   关系模式中不存在组合候选键,即每个候选键只有一个属性,这时每个非主属性都完全函数依赖任何一个码。   例:关系模式用户表(用户号,身份证号,姓名,年龄,家庭住址,家庭成员数)。其中用户号,身份证号都能唯一标识用户,都是此数据库表的候选键,故两个属性也都是主属性,其他非主属性都完全函数依赖主属性用户号和身份证号。即   1)用户号→姓名,年龄,家庭住址,家庭成员数;   2)身份证号→姓名,年龄,家庭住址,家庭成员数。   故此数据库表满足第二范式。显然,只含单关键字的码的数据库表一定是满足第二范式的。   1.2.2关系模式表中有组合键作为候选键   下面给出两个成绩关系模式表来对照分析:   例:成绩表1(学号,课程号,成绩,)。其中(学号,课程号)为组合候选码,非主属性“成绩”完全函数依赖候选码(学号,课程号),即(学号,课程号)→成绩,此数据库表满足第二范式。   成绩表2(学号,姓名,课程号,成绩)。其中(学号,课程号)为组合候选键,存在如下决定关系:   1)(学号,课程号)→姓名、成绩   2)学号→姓名   可以看到非主属性“姓名”不完全函数依赖于候选键(学号,课程号),而是部分函数依赖候选键(学号,课程号),故此关系表不满足第二范式。如果要使其满足第二范式,则需要把上表(成绩表2)拆分为两张表:学生表(学号,姓名)和成绩表(学号,课程号,成绩),从而消除非主属性“姓名”对候选键的部分函数依赖。所以,第二范式其实就是需要消除表中非主属性对候选键的部分函数依赖。   1.3第三范式(3NF)   例:关系模式商户信息表(商户编号,姓名,年龄,商户单位,单位电话,单位地址),存在下列依赖关系:   1)商户编号→商户单位   2)商户单位→单

文档评论(0)

317960162 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档