数据库应用技术SQLServer2005..ppt

  1. 1、本文档共85页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2.1.2 函数依赖和多值依赖 相关概念 1.函数依赖 假设R(A1,A2,A3,…,An)是一个关系模型,U={A1,A2,A3,…,An}是R的所有属性集合,X、Y和Z分别表示R中的属性子集。 定义1:若对于R中的X的任何一个具体值,Y仅有唯一的具体值与之对应,则称R的属性子集Y函数依赖于属性子集X,记作X?Y,X称为决定因素(Determinant)。 定义2:在R中,如果属性集子Y函数依赖于属性子集X,且不函数依赖于X的任何真子集,则称Y完全函数依赖于X(Full Functional Dependency),记作X→Y, 否则Y部分函数依赖于X(Partial Functional Dependency ),记作 X→Y 定义3:在R中,对于属性子集X、Y、Z,若X → Y,Y X,Y?Z,则称Z对X传递函数依赖(Transitive Functional Dependency),记作X →Z。 t f p ∩ 2.关键字 (1)候选关键字(候选码) 定义4:在R中,设K是U的属性或属性集合。如果K→U,则称K是关系R的一个候选关键字。若R中有一个以上的关键字,则选定其中一个作为主关键字(主码),如果K是属性集合,则称为组合关键字或合成关键字 (2)外关键字(外码) 定义5:在关系R中,若属性或属性集合X不是R的关键字,但X是其他关系中的关键字,则称X是关系R的外关键字或外码。 4 关系范式 (1)第一范式(1NF) 如果关系R的每一个属性的值为不可分离的原子值,即每个属性都是不可再分的基本数据项,则R是第一范式,记作R?1NF. (2).第二范式(2NF) 如关系R?1NF,且R中每一非主属性完全函数依赖于主关键字,则R是第二范式,即R?2NF。 *通过分解来使非2NF的关系转化为2NF的关系:将部分函数依赖关系中的主属性(决定方)和非主属性从关系模式中提出,单独构成一个关系模式;将关系模式中的余下的属性,加上主关键字,构成另一个关系模式 (3).第三范式(3NF) 如R?2NF,且它的任何一个非主属性都不传递依赖于任何主关键字,则R是第三范式,记作R?3NF。 * 可以通过分解使非3NF的关系转换为3NF的关系:将起传递作用的函数依赖关系中的决定属性(方)和被决定属性(方)从关系模式中提出,单独构成一个关系模式,并将该关系中决定属性(方)和余下的属性加上主关键字构成另一个关系模式。 4.BCNF 如果关系R?3NF,X,Y?U,若X?Y,且Y?X时,X必含有码,则R是BCNF,即R?BCNF。 一个满足BCNF的关系模式: *非主属性对关键字完全函数依赖; *主属性对不包含它的关键字完全函数依赖; *没有属性完全函数依赖于一组非主属性。 5.第四范式 如果关系模式R?BCNF, 若X??Y(Y?X)是非平凡的多值依赖,且X含有码,则称R是第四范式,即R?4NF。 关系规范化的基本原则 一个低级范式的关系模式,通过关系模式的投影分解,可以转换成若干个高一级范式的关系模式的集合,这种过程就叫规范化。 在关系模式规范化时,一般要遵循以下原则: (1)关系模式进行无损连接分解。 (2)合理选择规范化程度。 (3)正确性和可实现性原则。 规范化的过程: 消去重复组项,将关系模式分解成若干个规范化的关系模式,并指定一个或若干个属性作为主关键字 非规范化的关系模式 1NF 2NF 消除非主属性对主关键字的部分函数依赖 3NF 消除非主属性对主关键字的传递函数依赖 BCNF 消除主属性对不包含它的主关键字的部分函数依赖/消除主属性对非主属性的函数依赖 规范化过程 “教师任课”关系模式 教师任课(学号,学生姓名,教师工号,姓名,职称,系号,系名称,教学情况(课程号,课程名,教学评价,学分),成绩)。 教师任课(学号,学生姓名,教师工号,姓名,职称,系号,系名称,课程号,课程名,教学评价,学分,成绩)。 2.2 数据库设计中的关系范式 数据库设计一般采用先得到现实环境的E-R模型,再由E-R模型转换得到关系模式的方法。 原因: 第一:找出所有的数据依赖关系并不是一件简单的事。 第二:即使能正确地找出所有的数据依赖关系,采用机械地分解模式的方法,而完全不考虑关系的具体大小,以及数据的动态特征,也是不适当的。 第三:采用先得到现实环境的E-R模型,再由E-R模型转换得到关系模式的方法所得到的关系模式较小。 如何将E-R模型转换成关系模型? 将E-R模型转换成关系数据模式的转换规则如下: (1)E-R 图中的每个实体集,都相应的转换成一个关系,实体集的名称就作为关系的名称,实体集的属性则作为关系的属性,实体集的实体标识符作为关系的关键字。 (2)对于E-R图中联系,一个联系转

文档评论(0)

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

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

1亿VIP精品文档

相关文档