05第五讲 关系理论与数据库设计.doc

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

第五章 关系理论及数据库设计 5.1关系数据库设计中存在的问题 5.1.1 存在问题 考虑为管理职工的工资信息而设计一个关系模式。 职工 级别 工资 赵明 4 500 钱广 5 600 孙志 6 800 李开 5 700 周祥 6 800 (1)插入异常:如果没有职工具有8级工资,则8级工资的工资数额就难以插入。 (2)删除异常:如果仅有职工赵明具有4级工资,如果将赵明删除,则有关4级工资的工资数额信息也随之删除了。 (3)数据冗余:职工很多,工资级别有限,每一级别的工资数额反复存储多次。 (4)更新异常:如果将5级工资的工资数额调为620,则需要找到每个具有5级工资的职工,逐一修改。 解决方法:分解 职工 级别 赵明 4 钱广 5 孙志 6 李开 5 周祥 6 级别 工资 4 500 5 650 6 600 关系数据库设计中存在的问题(Ⅳ) 有关学生的关系模式S(S# , SN , D# , DEAN , C# ,CN, G),哪些数据存在冗余。 S# SN D# DEAN C# CN G S01 杨明 D01 思齐 C01 计算机 90 S02 李婉 D01 思齐 C01 计算机 87 S01 杨明 D01 思齐 C02 英语 92 S03 刘海 D02 述圣 C01 计算机 95 S04 安然 D02 述圣 C02 英语 78 S05 乐天 D03 省身 C01 计算机 82 5.2 函数依赖 5.2.1 定义 (1)函数依赖:设有关系模式R(A1,A2,…An)或简记为R(U),X、Y是U的子集,r是R的任何一具体关系,如果对r的任意两个元组t1、t2,由t1[X]=t2[X]导致t1[Y]=t2[Y],则称X函数决定Y,或Y函数依赖于X,记为X?Y。X称为决定因素。 X?Y为模式R的一个函数依赖。 函数依赖是对关系R的一切可能的当前值r定义的,不是针对某个特定关系,在关系R中,要判断函数依赖是否成立,唯一的办法是自己地考察属性含义。 例: S# ? SN, (S#,C#)? G 注意:函数依赖X?Y 的定义要求关系模式R的任何可能的r都满足上述条件,因此不能仅考察关系模式R在某一时刻的关系r,就断定某函数依赖成立。 例: R(S#,NAME,AGE) AGE?S# (2)非平凡函数依赖:如果X ? Y,但,则称其为非平凡的函数依赖,否则称为平凡的函数依赖。 例: S# ? SN是平凡的函数依赖。 若 X ? Y , Y? X ,则记为X ?? Y 若 Y 不函数依赖于 X,则记作 X ? Y (3)完全函数依赖:在R(U)中,如果X?Y,且对于任意X的真子集X′,都有X′ Y ,则称Y对X完全函数依赖,记作,否则称为Y对X部分函数依赖,记作。 例: SC(S#,C#,G),可以得到F={(S#,C#)? G},对于(S#,C#)中的任何一个真子集S#或C#都不能决定G,所以G完全依赖于S#和C#。 例: (4)传递函数依赖:在R(U)中,如果X?Y,Y ? Z,且Y X,Y X,则称Z对X传递函数依赖。X?Z 例: S(SNO,NAME,CNO,AGE,DNO,DEAN) SNO ? NAME SNO ? AGE SNO ? DNO , DNO? DEAN,DNOSNO,DNO SNO SNO ? DEAN 系主任传递函数依赖于学号 例: 找出职工工资表中的传递函数依赖。 例: 关系模式S(S# , SN , SD , DEAN , C# , G) 主码:(S#,C#) 函数依赖: S# ? SN, S# ? SD, SD ? DEAN 函数依赖集 5.3 函数依赖的逻辑蕴涵 (1)定义 设R(U,F)是一个关系模式,X、Y是U中属性组,若在R(U,F)的任何一个满足F中函数依赖的关系r上,都有函数依赖X?Y成立,则称F逻辑蕴涵X?Y。 在关系模式R(U,F)中为F所逻辑蕴涵的函数依赖的全体称做F闭包,记为F+。 例: 有关系模式S(SNO,CNO,AGE,DNO,DEAN),其属性组上的函数依赖集为: F={SNO?NAME,SNO?AGE,SNO?DNO, DNO?DEAN } DNO?DEAN F+={ } 5.4 5.4.1 定义 (1)超码:设K为R( U , F )的属性或属性组,若K? U,则称K为R的超码。 (2)候选码:设K为R( U , F )的超码,若,则称K为R的候选码。 另一种定义:设有关系模式R(A1,A2,…An),F是R上的函数依赖集,X是{A1,A2,…,An}的一个子集。如果满足条件: 条件1:X?A1A2…AnF+ 条件2:不存在X的真子集X’,使的X’?A1A2…An成立 则称X是R的一个侯选键。

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档