网站大量收购闲置独家精品文档,联系QQ:2885784924

数据库技术与应用-8、数据库规范化与范式.ppt

数据库技术与应用-8、数据库规范化与范式.ppt

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

数据库关系规范化马登程Email:madch@163.comTEL:QQ:问题:仔细观察下面三张表,分析一下有啥问题?grade表student表course表问题总结1、三张表中的信息互相之间存在冗余;2、当单一表中的数据如studentname或者coursename发生改变时,其他表中对应的数据不会同步发生变化,因此存在信息不一致的隐患;3、维护比较麻烦,工作量大,特别是当数据表比较多时,让多个表之间信息同步比较麻烦。解决方法:范式理论!!将表结构设计成满足第二范式要求!范式的概念范式是符合某一种级别的关系模式的集合。关系数据库中的关系必须满足一定的要求,即满足不同的范式。目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、第四范式(4NF)、第五范式(5NF)和第六范式(6NF)。满足最低要求的范式是第一范式(1NF)。在第一范式的基础上进一步满足更多要求的称为第二范式(2NF),其余范式以次类推。一般说来,数据库只需满足第三范式(3NF)就行了。第一范式所谓第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。如果出现重复的属性,就可能需要定义一个新的实体,新的实体由重复的属性构成,新实体与原实体之间为一对多关系。在第一范式(1NF)中表的每一行只包含一个实例的信息。例如学生信息表、课程信息表。不满足第一范式的是什么情况呢?不满足第一范式的情况右图所示的表不满足第一范式,原因是student属性列里出现了重复属性,学生信息显然的可以分为学号跟姓名两个部分,不是最小数据项。说明:显然最小数据项的划分不是绝对的,可能再有的系统中,学号跟姓名可以放到一起,而在有的系统中,姓与名都会分开。第二范式第二范式(2NF)是数据库规范化中所使用的一种正规形式。它的规则是要求数据表里的所有数据都要和该数据表的主键有完全依赖关系;如果有哪些数据只和主键的一部份有关的话,它就不符合第二范式。同时可以得出:如果一个数据表的主键只有单一个字段的话,它就一定符合第二范式。什么叫依赖关系?下页图的grade表中,grade数据是否只与courseid有关呢?依赖关系右表中是否存在依赖关系?grade依赖于谁?事实上,grade不依赖于任何单一列,也就是说本表中不存在关键字。但是grade却依赖于studentID和courseID两个属性列,也就是说依赖于studentID与courseID共同组成的复合关键字。主关键字与复合关键字主关键字(primarykey)是表中的一个或多个字段也称为关键字,它的值用于唯一地标识表中的某一条记录。在两个表的关系中,外键:用来在一个表中引用来自于另一个表中的特定记录。主关键字是一种唯一关键字,表定义的一部分。一个表不能有多个主关键字,并且主关键字的列不能包含空值。复合关键字(compoundkey)是指表中不存在主关键字,但是某几个字段组合一起,则可以唯一的确定一条记录,例如上图中的studentID和courseID可以唯一的确定grade,则studentID与courseID一起作为复合关键字。依赖关系设关系模式R(U,F),U是属性全集,F是U上的函数依赖集,X和Y是U的子集,如果对于R(U)的任意一个可能的关系r,对于X的每一个具体值,Y都有唯一的具体值与之对应,则称X决定函数Y,或Y函数依赖于X,记作X→Y。我们称X为决定因子,Y为依赖因子。当Y函数依赖于X时,记作:X?Y。当X→Y且Y→X时,则记作:X??Y函数依赖比较简单的说法:X和Y是U的子集,对于X的每一个具体值,Y都有唯一的具体值与之对应,则称X决定函数Y,或Y函数依赖于X,记作X→Y。我们称X为决定因子,Y为依赖因子。或者说:对于对于X的每一个具体值,Y都有唯一的具体值与之对应”,这种说法会更容易理解。如:X是学号集合,Y是姓名集合,那么显然的Y依赖于X,X-YX是学号集合,Y是课程名称集合,那么显然两者不存在依赖关系X是学号集合,Y是身份证号集合,可以看出,两者相互依赖X--Y函数规范化举例判断下面的关系模式是否符合第一范式(1NF)?BOOK_ORDER(BookID,ISBN,BookName,Author,Price,DiscountPrice,PublishDate,PublisherName,PublisherTelOrderID,Quantity,OrderStatus,CustomerName,Custo

文档评论(0)

yzs890305 + 关注
实名认证
内容提供者

计算机二级持证人

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

领域认证该用户于2024年11月02日上传了计算机二级

1亿VIP精品文档

相关文档