数据库原理第8章 数据库设计理论 V2.1.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一个好的模式设计方法应符合3条原则:表达性、分离性和最小冗余性。 表达性涉及两个数据库模式的等价问题,即数据等价和语义等价,分别用无损分解和保持依赖集来衡量。 分离性是指在关系中只存储有直接联系的属性值,而不要把有间接联系的属性值放在不同的表中。实际上“分离”就是清除冗余和异常现象。分离的基准是一系列范式。在分解成BCNF模式集时,分离与依赖等价有时是不兼容的。 最小冗余性要求分解后的模式个数和模式中属性总数应最少。目的是节省存储空间,提高操作效率,消除不必要的冗余。但要注意,实际使用时并不一定要达到最小冗余。因为有时带点冗余对提高查询速度是有好处的。尤其对于那些更新频度不高,查询频度极高的数据库系统更是如此。 Click to add Title 1 关系模式设计问题 1 Click to add Title 2 函数依赖 2 Click to add Title 2 模式分解 3 Click to add Title 1 规范化 4 Click to add Title 1 *多值依赖 5 Click to add Title 2 *连接依赖 6 多值依赖例子 就诊关系模式R(Dno,Pno,Ptel)的属性分别表示医生编号、患者编号、患者电话号码。该模式描述了患者就诊的医生和患者的电话号码两种独立的信息。 在模式R中,不存在非平凡的函数依赖,关键码由3个属性组成。模式R已经是BCNF,因此模式R不能根据函数依赖得到进一步的分解。 但是模式R的关系中存在着数据冗余。例如,患者p1看过两位医生d1和d2,而患者p1具有两个不同的电话号码t1和t2,因此需要在表中存储4个元组,即每位患者去看一次医生,系统就需要存储多个元组(元组个数为该患者的电话号码个数) 多值依赖例子 就诊关系模式R(Dno,Pno,Ptel)的属性分别表示医生编号、患者编号、患者电话号码。该模式描述了患者就诊的医生和患者的电话号码两种独立的信息。 如果将模式R分解为:R1(Dno,Pno)和R2(Pno,Ptel),则上述冗余就可以得到消除。 产生这个问题的原因就是Dno与Ptel之间的联系不是直接的联系,而是间接的联系。把有间接联系的属性放在一个模式中就会产生数据冗余和异常现象。 在模式R中,一位医生可以为多位患者看病(一对多的联系),一位患者可以有多个电话号码(一对多的联系),但是医生与患者电话之间没有直接的联系。 这种属性间的一对多联系称为多值依赖。 定义:设U是关系模式R的属性集,X和Y是U的子集,Z=U-X-Y,xyz表示属性集XYZ的值。对于R的关系r,在r中存在元组(x,y1,z1)和(x,y2,z2)时,也存在元组(x,y2,z1)和(x,y1,z2),那么称多值依赖(Multivalued Dependency,简记MVD)X→→Y在模式R上成立。 例如:模式R(Dno,Pno,Ptel)的属性值之间的一对多的联系可以用下列MVD表示: Pno→→Dno Pno→→Ptel 定义:设D是关系模式R上成立的FD和MVD集合。如果D中的每个非平凡的MVD X→→Y的左部X都是R的超码,那么R是4NF的模式。 举例:在就诊模式R(Dno,Pno,Ptel)中,码是(Dno,Pno,Ptel),在MVD Pno→→Dno和Pno→→Ptel的左部都未包含码,因此R不是4NF的模式。若将R分解为R1(Dno,Pno)和R2(Pno,Ptel),则R1和R2都是4NF。 关系模式R是4NF的模式,则R肯定是BCNF的模式。4NF是BCNF的直接推广。 Click to add Title 1 关系模式设计问题 1 Click to add Title 2 函数依赖 2 Click to add Title 2 模式分解 3 Click to add Title 1 规范化 4 Click to add Title 1 *多值依赖 5 Click to add Title 2 *连接依赖 6 函数多值依赖定义为一个模式无损分解为两个模式,类似地,对于一个模式无损分解成n个模式的数据依赖,称为连接依赖。 定义: 举例:设关系模式R(DPM)的属性分别表示医生、患者和药品,表示医生给患者开具的处方关系。如果规定模式R的关系是三个二元投影(DP,PM,MD)的连接,而不是其中任何两个的连接。那么模式R中存在一个连接依赖 。 5NF定义:如果关系模式R的每个JD均由R的候选码蕴涵,那么称R是5NF的模式,有时也称投影连接范式(Project-Join NF,PJNF)。 连接依赖也是现实世界属性间联系的一种抽象,是语义的体现。但是它并不像FD和MV

文档评论(0)

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

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

1亿VIP精品文档

相关文档