[理学]CHAP03关系数据库模型.ppt

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

安全限制的方法(2) 8.一个元组演算表达式{t |?(t)}称为是安全的,如果它满足以下条件: ⑴ 如果元组t能使?(t)为真,则t的每个分量是DOM(?)中的元素。 (2)对于? 中的每一个形如(?t)ω(t)的子表达式,如果t使ω(t)为真,则t 的每一个分量是DOM(?)中的元素。 (3)对于? 中的每个形如(?t)ω(t)的子表达式,如果t使ω(t)为假,则t 的每个分量必属于DOM(?),也可以说,若t的某个分量不属于DOM(?),则ω(t)为真。 安全限制的方法(2) 设关系R如下,求元组演算表达式S={t | ┐R(t)} A B C a b 1 3 7 8 关系R 注意属性B和C的域是整数集,如不进行限制,S是一个无限关系。根据安全表达式的条件和DOM(?)的构造方法,令DOM(?)=∏A(R)∪∏B(R)∪∏C(R)={a, b, 1, 3, 7, 8},则结果关系: S={ t | ┐R(t)}=DOM(?)?DOM(?)?DOM(?)?R。 因此,由于有DOM(?)的安全限制,关系S中有214个元组,故是有限的。 安全限制的方法(3) 9.证明以下结论: (1)每一个关系代数表达式都有一个等价的安全的元组演算表达式 (2)每一个安全的元组演算都有一个等价的安全的域演算表达式 (3)每一个安全的域演算表达式都有一个等价的关系代数表达式 即关系代数、安全的元组关系演算和安全的域关系演算的表达能力是等价的,可以相互转换。 3.4.1 查询优化概述 3.4.2 查询优化的一般策略 3.4 查询优化 3.4.3 关系代数的等价公式 3.4.1 查询优化概述(1) 1.查询优化的含义:SQL语言是高度非过程化的语言,用户只要指出“做什么”,至于“怎么做”则由RDBMS自动优化实现。 好处:给用户带来极大的方便,使对数据库的操作变得简便易行。 问题:加重了系统的负担,系统需要自行选择存取路径,而存取路径选择的好坏是影响查询效率的关键所在。 解决:在RDBMS中使用查询优化技术,提高关系系统的查询效率。 3.4.1 查询优化概述(2) 2.什么叫查询优化器:RDBMS服务器的一个组成部分(程序),其基本任务是:通过产生多个可供选择的执行计划,找到最低估算成本的执行计划来优化一条SQL语句,以提高RDBMS的查询效率。 3.4.1 查询优化概述(3) 3.查询优化器的优点 ⑴ 优化器可以从数据字典中获取许多统计信息,如关系中的元组数、关系中每个属性值的分布情况等。优化器可以根据这些信息选择有效的执行计划,而用户程序则难以获得这些信息。 ⑵ 如果数据库的物理统计信息改变了,系统可以自动对查询进行重新优化以选择相适应的执行计划。 ⑶ 优化器可以考虑数百种不同的执行计划,而程序员—般只能考虑有限的几种可能。 ⑷ 优化器中包括了很多复杂的优化技术,这些优化技术往往只有最好的程序员才能掌握。系统的自动优化器相当于使得所有人都拥有这些优化技术。 3.4.1 查询优化概述(4) 4.DBMS实现查询优化的一般步骤: ⑴ 将查询需求转换成某种内部表示,通常是语法树。 ⑵ 根据一定的等价变换规则把语法树转换成标准(优化)形式。 ⑶ 选择低层的操作算法。对于语法树中的每一个操作需要,根据存取路径、数据的存储分布、存储数据的聚簇等信息来选择具体的执行算法。 ⑷ 生成查询计划(查询执行方案):查询计划由一系列有次序的内部操作构成的。DBMS生成多个执行方案,在计算每个执行方案的执行代价后,从中选择代价最小的一个执行。 3.4.1 查询优化概述(5) 4.在集中式数据库中,查询的执行代价为: 总代价=I/O代价+CPU代价 5.在多用户环境下查询的执行代价为: 总代价=I/O代价+CPU代价+内存代价 3.4.2 查询实例分析 例3.48 用户要查询选修了C02号课程的学生姓名,他输入的SQL语言表达为: SELECT Sname FROM Students S,Reports R WHERE S.Sno = R.Sno AND R .Cno=’C02’ RDBMS将以上要求转换成关系代数表示: 3.4.2 查询实例分析 RDBMS将以上要求转换成关系代数表示: Q1:∏Sname(σS.Sno=R.Sno∧R.Cno=C02(Students×Reports)) 先计算广义笛卡尔积,再做选择操作,最后执行投影操作。 Q2:∏Sname(σR.Cno=C02(Students Reports)) 先计算自然连接,再做选择操作,最后执行投影操作。 Q3:∏Sname(Students

文档评论(0)

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

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

1亿VIP精品文档

相关文档