第6章的关系数据理论.ppt

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

* * 第6章 关系数据库规范化理论 6.1 函数依赖 6.1.1函数依赖基本概念 6.1.2一些术语和符号 6.1.3 为什么要讨论函数依赖 6.2 关系规范化 6.2.1 关系模式中的码 6.2.2 范式 6.1 函数依赖 设计一个关系数据库首先要做的是如何构造一个合适的关系模式,包括: 构造几个关系模式; 每个关系模式由哪些属性组成; 关系模式是否符合范式要求。 以上的步骤是构造一个合理的关系数据库的方法,这些方法必须要依靠函数依赖分析实现。 6.1.1函数依赖基本概念 函数依赖可以表达为:Y=f(X):Y依赖于X 如:省=f(城市):只要给出一个具体的城市值(X),就会有唯一的省值(Y)与之对应(“武汉市”,“湖北省”) 。 把Y函数依赖于X (或X函数决定Y)表示为:     X→Y X称为决定因子。 如果X→Y,并且Y→X,则记作 X←→Y。 例1:对学生关系模式 Student(Sno, Sname, Sdept, Sage) 有以下依赖关系: Sno→Sname, Sno→Sdept, Sno→Sage 例2: SC(Sno, Cno, Grade)有依赖关系: (Sno, Cno)→Grade 如果X→Y,并且对于X的一个任意真子集X’ 都有X’—/→Y,则称Y完全函数依赖于X,并记作: 如果X→Y成立,并且对于X的某个真子集X’ 有X’→Y成立,则称Y部分函数依赖于X,并记作: 如果X→Y,并且Y—/→X、Y→Z,则称Z传递函数依赖于X,记作: 6.1.2 一些术语和符号 例1:有关系模式SC(Sno, Cno, Sname, Credit,Grade),主码为(Sno, Cno),则有函数依赖关系: 因为: 所以: 例2:假设有关系模式 S( Sno,Sname,Dept,Dept_master),各属性分别为:学号、姓名、所在系和系主任(假设一个系只有一个主任),主码为Sno,则函数依赖关系有: 6.1.3 为什么要讨论函数依赖? 关系: S-L-C(Sno,Sdept,SLOC,Cno,Grade) Sno Sname Ssex Sdept Sloc Cno Grade 9512101 李勇 男 计算机系 2公寓 c01 90 9512101 李勇 男 计算机系 2公寓 c02 86 9512101 李勇 男 计算机系 2公寓 c06 NULL 9512102 刘晨 男 计算机系 2公寓 c02 78 9512102 刘晨 男 计算机系 2公寓 c04 66 9521102 吴宾 女 信息系 1公寓 c01 82 9521102 吴宾 女 信息系 1公寓 c02 75 9521102 吴宾 女 信息系 1公寓 c04 92 9521102 吴宾 女 信息系 1公寓 c05 50 9521103 张海 男 信息系 1公寓 c02 68 9521103 张海 男 信息系 1公寓 c06 NULL 9531101 钱小平 女 数学系 1公寓 c01 80 9531101 钱小平 女 数学系 1公寓 c05 95 存在问题 数据冗余问题:存在很多冗余数据; 数据更新问题 :如果学生转系,则宿舍也得调整; 数据插入问题:如果新招生的系,系名及宿舍已定,但无法插入,因为还没有学生; 数据删除问题:如果一学生只选了一门课,但又放弃了,则删除该记录,该学生就失去了其它信息。 结论 Student关系模式不是一个好的模式,存在很多冗余数据。 “好”的模式: 不会发生插入异常、删除异常、更新异常, 数据冗余应尽可能少。 原因:由存在于模式中的某些数据依赖引起 解决方法:通过分解关系模式来消除其中不合适的数据依赖 6.2 关系规范化 关系规范化:是指将有“不良”函数依赖的关系模式转换为良好的关系模式的理论。涉及到范式的概念。 6.2.1 关系模式中的码 候选码:设K为R (U,F)(其中U为属性集合,F为函数依赖集合)中的属性或属性组,若K完全决定U,则K为R的候选码。 主码:关系R (U,F)中可能有多个候选码,被选中的一个叫做主码。 全码:候选码为整个属性组。 包含在任一候选码中的属性称为主属性,不包含在任一候选码中的属性称为非主属性。 例1:学生(学号,姓名,性别,身份证号,年龄,所在系) 候选码:学号,身份证号。 主码:“学号”或 “身份证号”。 主属性:学号,身份证号。 非主属性:姓名,性别,年龄,所在系。 例2.有关系模式: 选课(学号,课程号,考试次数,成绩) 设一个学生对一门课程可以有多次考试,每一次考试有一个考试成绩。 候选码:(学号,课程号,考试次数),也为主码。 主属性:学号,课程号,考

文档评论(0)

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

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

1亿VIP精品文档

相关文档