10关系数据库设计理论汇总.ppt

  1. 1、本文档共78页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
第十章 关系数据库设计理论 本 章 要 点 问题的提出 函数依赖 规范化 数据依赖的公理系统 模式的分解 问题的提出 开发任何一种数据库应用系统,都会面临如何构造合适的数据模型的逻辑结构的问题 依据用户需求所建立的概念模型最终是要转换成数据模型的 概念模型?逻辑模型?物理模型 其中逻辑模型的建立即数据库的逻辑设计是整个数据库设计的核心,也是应用系统成功与否的关键 基于关系模型的关系数据库设计理论建立在严密理论和实用算法的基础上,把抽象的数学理论和具体的实际问题有机的结合起来 理论的基础:数据之间的依赖 回顾关系模式定义 关系模式------对关系“型”的描述,一般写作R(U, D, dom, F),本章只讨论R(U, F) 一个关系r在属性组U上满足数据依赖F时,r就称为R(U,F)上的一个关系--“为型赋值” 一个关系数据库的全局逻辑结构就是由所有的这些关系模式构成的集合 关系模式的设计:按照一定的原则从数量众多而又相互关联的数据中,构造出一组既能较好地反映现实世界,而又有良好的操作性能的关系模式。 关系规范化理论应用于:判断关系模式优劣,如何评价,如何改进 数据依赖的非形式化概念 数据依赖 通过一个关系中属性或属性组之间值的相等与否体现出来的数据间的相互依存、互相制约的关系,是现实世界属性间相互联系的抽象,是数据存在的性质,是语义的体现。 两类数据依赖: 函数依赖:Functional Dependency 多值依赖: Multivalued Dependency 数据依赖的非形式化概念 函数依赖——在某关系中,对于不同的元组来说,同一属性上给定一个值,那么与其他属性取值的关系如何,是否具有决定性,如何决定? 即属性之间的取值影响问题 如S表中一旦给定一个学号Sno值,那么该生所对应的姓名Sname、性别Ssex、系代号Sdept等等属性的取值就都可以确定了,且姓名、性别等对于这个sno取值是唯一的,这里就可以说学号Sno决定姓名Sname、性别Ssex、系代号Sdept,记为:Sno?Sname、Sno?Ssex、Sno?Dno 反过来取定了Sname或Ssex或Dno其中的一个,却不能决定Sno的唯一取值,即Sname?Sno, Ssex?Sno, Dno?Sno 一个实例 现要建立一数据库描述职工工资管理情况:每个职工有固定的工资级别,每个级别对应工资定额,请选择关系模式描述逻辑结构 方案1:ENLS(ENAME, ELEVEL, ESALARY) 该模式上的一个关系如下: 存在的问题 上面得到的一个关系模式可以描述该工资管理数据库,但是考察关系里面的数据就会发现很多麻烦的问题: 插入异常:如果没有职工具有8级工资,则8级工资的工资数额就难以插入。 删除异常:如果仅有职工赵明具有4级工资,如果将赵明辞职之后要删除其记录,则有关4级工资的工资数额信息也随之删除了。 数据冗余:职工很多,工资级别有限,每一级别的工资数额反复存储多次。 更新异常:如果将5级工资的工资数额调为1800,则需要找到每个具有5级工资的职工,逐一修改 解决办法 一个好的模式应该不能出现插入、删除和更新的异常,并尽可能地减少数据冗余 解决之道:分解!! 方案2: 分解为ENL(ENAME, ELEVEL)和ELS(ELEVEL, ESALARY),关系表如下: ER模型?关系模式 建立教学管理的关系模式 分解模式 两种分解方法: 解1: students(sno,sname) courses (cno,tno,cname) teachers(tno,cno,tname) enrolls (sno,cno,grade) 解2: students(sno,sname) courses (cno,cname) teachers(tno,tname) enrolls (sno,cno,grade) teaching(tno,cno) 分解后的关系 最佳分解方案: 函数依赖 定义 函数依赖:设R(U)是属性集U上的关系模式,X , Y ? U, r是R(U) 上的任意一个关系,如果成立对?t , s ? r,若t[X] = s[X],则t[Y]=s[Y],那么称“X函数决定Y”,或“Y函数依赖于X”,记作X?Y。称X为决定因素。 如Sno? Sname, (Sno,Cno)? Grade 平凡函数依赖:如果X ?Y,但Y?X,则称其为非平凡的函数依赖,否则称为平凡的函数依赖,这里一般讨论非平凡函数依赖 如(Sno,Sname)? Sname是平凡的函数依赖 函数依赖的内涵 内涵:数据依赖的一种,它反映属性或属性组之间相依存,互相制约的关系,即反映现实世界的约束关系 函数依赖是语义的范畴 语义:数据所反映的现实

文档评论(0)

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

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

认证主体徐**

1亿VIP精品文档

相关文档

相关课程推荐