数据库与知识库原理 DBKB5.ppt

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

第五章 关系数据库设计理论 5.1 引论 5.2 依赖理论 5.3 规范化理论 5.4 模式设计方法学 5.5 多值依赖 5.6 一般依赖 第五章 关系数据库设计理论 5.1 引论 5.2 依赖理论 5.3 规范化理论 5.4 模式设计方法学 5.5 多值依赖 5.6 一般依赖 例:图书管理系统:学生姓名、住址、其所借阅的书籍名称及借书时间等 BORROWERS(NAME,NO,ADDR,TITLE,DATE) 模式分解 如何判断分解后的模式比旧模式更为有利? 新的关系模式就肯定不会导致各种异常现象和数据冗余吗? 该怎样设计出好的关系模式来替换不好的关系模式呢? 依赖和冗余 依赖:在所有可能的关系中,只有其中的一个子集是合法的,这个子集中的关系反映了现实世界一种可能的状态 在并非所有关系都是合法关系的情况下,依赖说明在合法关系中可能会存在某种形式的冗余 如果给定一个合法的关系R(这里的合法是指R满足特定的依赖),以及R当前值的相关信息,就可以根据R的当前值推导出另外的信息 第五章 关系数据库设计理论 5.1 引论 5.2 依赖理论 5.3 规范化理论 5.4 模式设计方法学 5.5 多值依赖 5.6 一般依赖 依赖理论 并非任何元组的有限集都能成为某一关系的当前值,即使这些元组具有正确的目数,并且它们的分量值取自正确的域 关系中的元组可能要受到某些约束 对元组属性取值的约束。这些约束取决于元组分量的语义 只依赖于属性之间取值是否相等的约束。这种约束不对元组在给定分量上的具体取值进行限制,它限制的是两个元组在特定分量上的取值必须相等 依赖理论 相关概念 函数依赖的形式化定义 函数依赖的意义 函数依赖的满足 函数依赖的逻辑蕴涵 依赖集的闭包 关键字 函数依赖的公理系统 阿姆斯特朗公理(Armstrong’s Axioms) 阿姆斯特朗公理的有效性 附加推理规则 属性集闭包 阿姆斯特朗公理的完备性 闭包计算 依赖集的等价 极小覆盖 定义5.1 设R(A1, …, An)是关系模式,X和Y是{A1, …, An}的子集。如果对关系模式R在任意时刻的所有实例r来说,r中不可能有两个元组在属性集X的所有属性上的值都相等、而在属性集Y上的某些属性值却不相等,那么就称“X函数决定Y”或“Y函数依赖于X”,记为X→Y Eg. BORROWERS(NAME,NO,ADDR,TITLE,DATE) {NO}→{ADDR} 符号约定 排在字母表前面的大写字母表示单个的属性 排在字母表后面的大写字母表示属性的集合 R用来代表关系模式,有时也用相应的模式来给关系命名,如把具有属性A,B,C的关系叫做ABC r用来代表关系,它是关系模式R的当前实例 Prolog语法:R代表的是关系的实例,r代表的是谓词,也即关系的名字 串联表示并 A1…An可用来表示属性集{A1, …, An} XY则是X∪Y的缩写 如果X代表属性集合而A代表单个属性,那么XA或AX就表示X∪{A} 依赖理论 相关概念 函数依赖的形式化定义 函数依赖的意义 函数依赖的满足 函数依赖的逻辑蕴涵 依赖集的闭包 关键字 函数依赖的公理系统 阿姆斯特朗公理(Armstrong’s Axioms) 阿姆斯特朗公理的有效性 附加推理规则 属性集闭包 阿姆斯特朗公理的完备性 闭包计算 依赖集的等价 极小覆盖 函数依赖的出现形式 如果R代表其属性集为U={A1, …, An}的实体集,属性集X是这个实体集的关键字,那么可以断言对U的任何子集Y,都有X→Y成立 如果关系R代表从实体集E1到实体集E2之间的多对一联系,并设在R的属性中,X构成E1的关键字,Y构成E2的关键字,那么X→Y在R中成立 注意 函数依赖是针对关系模式R的所有可能的关系而言的 不能仅通过考察R的一个特定的关系r来推出某个依赖在R中是否成立 通过考察R的一个特定关系r,可以发现哪些依赖在R中是不成立的 识别函数依赖是理解数据语义的一个基本组成部分 依赖是关于现实世界的断言 依赖不能被证明,但可以由数据库设计者提出,由DBMS实施 决定关系模式R中函数依赖成立的惟一方法是仔细考察属性的含义 例 Emps(Eno, Ename, Salary, DeptNo) Depts(DeptNo, Dname, Mgr) Suppliers(Sno, Sname, Saddr) Items(ItemNo, Iname, DeptNo) Orders(OrderNo, Date, Cno) Customers(Cno, Cname, Caddr, Balance) Supplies(Sno,

文档评论(0)

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

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

1亿VIP精品文档

相关文档