- 1、本文档共32页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第五章 关系数据理论
5.1 问题的提出
回顾
讨论了关系数据库的基本概念、关系模型的三个部分以及关系数据库的标准语言。
问题
针对一个具体问题,应该如何构造一个适合于它的数据库模式,即应该构造几个关系模式,每个关系模式由哪些属性组成等。
这是数据库设计的问题,确切地讲是关系数据库逻辑设计问题。
一、关系模型的形式化定义
一个关系模式应当是一个五元组,即:R(U, D, DOM, F)。
其中:
R——关系名;
U——属性组;
D——属性组U中的属性所来自的域;
DOM——属性到域的映射;
F——属性组U上的一组数据依赖。
由于D和DOM对模式设计关系不大,因此在本章中把关系模式看作是一个三元组,即:RU,F。
当且仅当U上的一个关系r满足F时,r称为关系模式RU,F的一个关系。
二、数据依赖
接下来的任务就是研究:如何设计一个“好”的(没有“毛病”的)关系模式的办法。 要找到这样一个方法,需要了解数据依赖的概念。
数据依赖是通过一个关系中属性间值的相等与否体现出来的数据间的相互关系。它是现实世界属性间相互联系的抽象,是数据内在的性质,是语义的体现。
现在人们已经提出了许多种类型的数据依赖,其中最重要的是函数依赖(Functional Dependency简记为FD)和多值依赖(Multivalued Dependency简记为MVD)。
函数依赖极为普遍地存在于现实生活中。比如:描述一个学生的关系,可以有学号(Sno),姓名(Sname),系名(Sdept)等几个属性。
由于一个学号只对应一个学生,一个学生只在一个系学习。因而当“学号”值确定之后,姓名和该生所在系的值也就被唯一地确定了。就象自变量x确定之后,相应的函数值f(x)也就唯一地确定了一样,我们说Sno函数决定Sname和Sdept,或者说Sname,Sdept函数依赖于Sno,记作:Sno→Sname,Sno→Sdept。?
三、函数依赖与插入删除异常
建立一个数据库来描述学生的一些情况,面临的对象有:学生(用学号Sno描述),系(用系名Sdept描述),系负责人(用其姓名Manager描述),课程(用课程名Cname描述)和成绩(Grade)。
由现实世界的已知事实得知:
① 一个系有若干学生,但一个学生只属于一个系;
② 一个系只有一名(正职)负责人;
③ 一个学生可以选修多门课程,每门课程有若干学生选修;
④ 每个学生学习每一门课程有一个成绩。
根据上面的定义,我们建立一个学生关系模式SU, F,其中:
U={Sno, Sdept, Manager, Cname, Grade}
F={Sno→Sdept, Sdept→Manager, (Sno,Cname)→Grade}
其函数依赖F还可以表示成如图5.1。
图5.1 学生关系模式的函数依赖
?
图5.2 学生关系模式的一个关系
这个模式有下面三个“毛病”:
① 插入异常:如果一个系刚成立尚无学生,或者虽然有了学生但尚未安排课程。那么我们就无法把这个系及其负责人的信息存入数据库。
② 删除异常:反过来,如果某个系的学生全部毕业了,我们在删除该系学生选修课程的同时,把这个系及其负责人的信息也丢掉了。
③ 冗余太大:比如,每一个系负责人的姓名要与该系每一个学生的每一门功课的成绩出现的次数一样多。这样,一方面浪费存储,另一方面系统要付出很大的代价来维护数据库的完整性。比如某系负责人更换后,就必须逐一修改有关的每一个元组。?
四、有函数依赖的关系改造
把关系S分成三个关系模式,如下:
S(Sno,Sdept,Sno→Sdept)
SG(Sno,Cname,Grade,(Sno,Cname) →Grade)
Dept(Sdept,Manager,Sdept→Manager)
这三个模式就不会发生插入异常、删除异常的毛病,数据的冗余也得到了控制。?
5.2 规范化
为了使数据库设计的方法走向完备,人们研究了规范化理论,指导我们设计规范的数据库模式。
按属性间依赖情况来区分,关系规范化的程度为第一范式,第二范式,第三范式和第四范式等。?
5.2.1 函数依赖
一、函数依赖的定义
定义5.1 设R(U)是属性集U上的关系模式。X,Y是U的子集。若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称X函数确定Y或Y函数依赖于X,记作X→Y。
举例:如图5.2中,只要Sdept是“CS”,Manager就是“张军”,记作Sdept→Manager。
注意:函数依赖不是指关系模式R的某个或某些关系满足的约束条件,而是指R的一切关系均要满足的约束条件。也就是说这个约束是针对这个关系模式的所有关系。?
二、函数依赖的几个术语和记号
· X→Y
您可能关注的文档
- 移动银行应场用景.docx
- 信息系统工程第6章节.ppt
- 学习基金管理方案.doc
- 移动项目2013远程培训学员学习手则.doc
- 信息系统开发既览.ppt
- 学习孙国华老师迹事有感.doc
- 移情草木——中古国代花鸟画.docx
- 学习实践活动的简报模版1.doc
- 学习实践科学发观展活动动员大会会议记录.doc
- 程序动态切片的技术研究.doc
- 2025年金肯职业技术学院单招职业适应性测试题库带答案.docx
- 2025年钦州幼儿师范高等专科学校单招综合素质考试题库完美版.docx
- 2025年钟山职业技术学院单招职业适应性考试题库参考答案.docx
- 2025年金华职业技术学院单招职业技能测试题库附答案.docx
- 2025年闽南理工学院单招职业技能测试题库审定版.docx
- 2025年闽南理工学院单招综合素质考试题库审定版.docx
- 2025年闽南理工学院单招职业倾向性考试题库汇编.docx
- 2025年闽南理工学院单招职业倾向性考试题库推荐.docx
- 2025年闽北职业技术学院单招综合素质考试题库1套.docx
- 2025年长沙轨道交通职业学院单招职业技能考试题库一套.docx
最近下载
- 2017年山东省青岛市城阳七年级英语下册 Unit 1-2 复习练习题(无答案)(新版)人教新目标版.doc VIP
- 输变电工程标准工艺(变电工程土建分册)2022版.pdf VIP
- 个人防护用品培训.ppt VIP
- 启动仪式开业典礼模板《启动仪式全程安排及总结》PPT课件.pptx VIP
- 如何做一个出色的班组长.pptx VIP
- 2025年度卫生招聘考试(财务)新版真题卷(附详细解析).docx VIP
- 2025最新乡村医生考试试题库含答案.docx VIP
- 全国突发急性传染病防控技能竞赛笔试复习测试附答案(一).doc
- 如何做一个出色的班组长.pptx VIP
- 560期货交易技术策略系统.docx VIP
文档评论(0)