数据库管理系统课件

上传人:我*** 文档编号:143748346 上传时间:2020-09-01 格式:PPT 页数:21 大小:358KB
返回 下载 相关 举报
数据库管理系统课件_第1页
第1页 / 共21页
数据库管理系统课件_第2页
第2页 / 共21页
数据库管理系统课件_第3页
第3页 / 共21页
数据库管理系统课件_第4页
第4页 / 共21页
数据库管理系统课件_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《数据库管理系统课件》由会员分享,可在线阅读,更多相关《数据库管理系统课件(21页珍藏版)》请在金锄头文库上搜索。

1、6.1 DBMS 简介,1.DBMS 是介于用户和OS之间的系统软件,它实现对共享数据的有效组织、管理和各种操作。 关系: DBMS建立在OS之上,需要OS的支持。 DBMS是用户操纵、管理DB的工具。,DBMS 简介,DBMS的功能: (1)数据定义 DDL(数据定义语言)-Data Definition Language (2) 数据操纵 DML(数据操纵语言)-Data Manipulation Language (3) 数据组织、存储和管理 (4) 数据库运行管理 (5) 数据库的建立和维护 (6) 数据接口,DBMS 简介,2.DBMS的组成 (1) 数据定义语言及其翻译处理程序 (

2、2) 数据操纵语言及其编译(或解释)程序 (3) 数据库运行控制程序 (4) 实用程序,日志,3. 用户访问数据库的工作过程,用户访问数据库的工作过程, 应用程序A向DBMS发出读一个记录的命令。程序给出记录类型名及欲读记录的码值。 DBMS分析命令,并调用A对应的子模式,检查A的存取权限,决定是否执行A的命令。 决定执行A的命令后,DBMS调用模式,根据子模式与模式变换的定义,确定所涉及的模式记录类型;通过模式与内模式的变换找到这些记录类型内模式名。 DBMS调用内模式,确定所读入的物理记录。 DBMS向OS发读该物理记录的命令。,用户访问数据库的工作过程, OS执行读命令并把数据从外存读到

3、内存的系统缓冲区。 DBMS按模式、子模式定义,导出用户程序需要的记录形式,并送到应用程序A的工作区。 DBMS向应用程序A送命令执行情况的状态信息。 记载日志 DBMS把对数据库更新操作的全部情况都记载下来,以便数据库的恢复。 应用程序检查状态信息,若成功,对工作区中的数据正常处理;若失败,决定下一步如何执行。,6.2 关系数据库的查询优化,1. 查询优化及其目标 查询优化:从查询的多个执行策略中进行合理选择的过程。 目标:选择有效的策略,求得关系式的值,以提高查询效率。 基本途径可以分为两种:用户处理和机器自动处理。 查询优化器:由DBMS自动生成并从中选取较优查询计划的程序。 查询的开销

4、主要包括: 在单机数据库中:总代价=I/O代价+CPU代价 在多用户环境下:总代价=I/O代价+CPU代价+内存代价 在网络环境下:总代价=I/O代价+CPU代价+内存代价+网络代价 查询的执行开销与多个因素有关: 软件环境、硬件环境、数据量、方法。,为什么要查询优化?,例:查询“王林”所选修课程的成绩在85分以上的课程号。 假定student表有l000个学生记录,每个学生平均选10门课程,sc表共有有l00010=10000个选课记录。 F1代表student.sno=sc.sno;F2代表student.sname=王林 F3代表sc.grade=85 等价的关系代数表达式: (1)cn

5、o(F1F2 F3(StudentSC) (2)cno(F2F3(StudentSC) (3)cno(F2(Student) F3(SC),分析: 哪种效率高?,对执行基本运算(关系扫描与连接)的次数分析,(1)cno(F1F2 F3(StudentSC) (2)cno(F2F3(StudentSC) (3)cno(F2(Student) F3(SC) (1)先在两表上做,产生1000*10000=107个连接记录,再在其上进行先后操作。其基本运算次数为:107+107+10。 (2)先在两表上做 ,产生1000*10=104个连接记录,再在其上进行先后操作。其基本运算次数为:107+104+

6、10 。 (3)先分别在两表上做,再做 ,产生1*10=10个连接记录,再在其上进行操作。其基本运算次数为:103+104+10。,2. 查询优化的一般准则,1.选择运算应尽可能先做。 2.在执行连接前对关系适当地预处理(其方法有:索引连接方法、排序合并连接方法)。 3.把投影运算和选择运算同时进行。 例: sno(grade90(SC) 4.让投影运算与其前后的双目运算同时进行。 例: sno(S1-S2) 5.合并笛卡尔积与其后的选择为连接运算。 例: R.AS.C(RS)=R S AC 6.找出公共子表达式。将公共子表达式预先计算出结果保存起来,以免重复计算。,3. 关系代数表达式的等价

7、规则,关系代数表达式的优化是查询优化的基本课题。而研究关系代数表达式的优化最好从研究关系表达式的等价变换规则开始。 两个关系表达式El和E2是等价的,可记为E1E2。 常用等价变换规则: P.194,4. 关系代数表达式的优化算法,算法:关系表达式的优化。 输入:一个关系表达式的语法树。 输出:计算该表达式的程序。 (1)利用规则(4)把形如 F1F2.Fn(E)变换为 F1( F2(.( Fn(E).)。再利用规则(5)(8)把每一个选择运算尽可能移到树的叶端。 (2)对每一个投影利用规则(3),(5),(9),(l0),尽可能把它移向树的叶端。 (3)利用规则(3)(5)把选择和投影的串接

8、合并成单个选择、单个投影或一个选择后跟一个投影。使多个选择或投影能同时执行,或在一次扫描中全部完成, (4)使用规则(12)使选择运算与笛卡尔积结合成连接运算。 (5)对语法树中的内节点进行分组。 (6)找出查询树中的公共子树。 (7)输出由分组结果得到的优化语法树。,4. 关系代数表达式的优化算法,例:查询选修了“DB”课程的女学生的学号、姓名。 试写出该查询的关系代数表达式。 画出该查询初始的关系代数表达式的语法树。 使用优化算法,对语法树进行优化,并画出优化后的语法树。 解: 该查询语句的关系代数表达式如下: sno,sname(cname=DBsex=女(SCCS) 将式转换为用基本运

9、算表示: sno,sname( cname=DBsex=女 (L(SC.cno=C.cno SC.sno=S.sno(SCCS) 其中:L是 sno,sname,age,sex,dept,cno,cname,credit,pcno,grade,4. 关系代数表达式的优化算法, 初始的关系代数表达式的语法树为:,sno,sname,cname=DBsex=女,L,SC.cno=C.cnoSC.sno=S.sno,SC,C,S,4 . 关系代数表达式的优化算法,产生优化语法树的过程: (1)利用规则4,将每个选择运算分裂成两个选择运算。,规则4:F1(F2(E)F1F2(E),cname=DB s

10、ex=女 SC.cno=C.cno SC.sno=S.sno,(2)利用规则5、6,将选择运算尽可能向叶端靠拢。,规则5:F(A1,A2,An(E) A1,A2,An(F(E),规则6: F(E1E2) F(E1)E2 F涉及的属性都是E1中的,4. 关系代数表达式的优化算法,可以把cname=DB 和sex=女 移到投影和另外两个选择运算下面,直接放在笛卡尔积外面得到子表达式: sex=女 (cname=DB (SCC)S) 其中,内层选择仅涉及到关系C,外层选择仅涉及到关系S,所以上式可变换成: (SCcname=DB (C)sex=女 (S) SC.sno=S.sno不能再往叶端移动了。

11、 SC.cno=C.cno 还可向下移(因为与S无关)。 (3)利用规则3,将两个投影运算合并成一个。,规则3:L1(L2(E) L1(E) L1L2,(4)选择与笛卡尔积合成连接运算。,4. 关系代数表达式的优化算法,优化中的语法树为:,sno,sname,cname=DB,SC.cno=C.cno,SC,C,S,sex=女,SC.sno=S.sno,4. 关系代数表达式的优化算法, 优化的语法树为:,sno,sname,cname=DB,SC,C,S,sex=女,5. 查询优化的一般步骤,(1)将查询表示成关系代数语法树。 (2)根据变换规则将其转换成标准化形式。 (3)选择低层的操作算法

12、。 对语法树中的每一操作需要根据存取路径、数据的分布、聚簇等信息来选择具体的执行算法。 (4)生成、选择查询计划。,6.3 关系DBMS的发展,发展分为三个阶段: 第一阶段是关系数据库理论研究和原型开发的时代: 奠定了关系模型的理论基础。 研究了关系数据语言。 研制了大量的关系DBMS的原型。 第二阶段是关系DBMS的实用阶段: 攻克了查询优化、并发控制、完整性机制等一系列重大技术问题。从而使数据库走向商业化。 第三阶段是关系DBMS的成熟与发展阶段: 应用领域由集中到分布、由单机到网络、由信息管理、辅助决策到企业级的联机事务处理。,小结,1. DBMS的定义、特点及功能 2. 关系DBS的查询优化 目标、一般策略 关系代数等价变化规则及优化算法 优化的步骤,练习:P.202 4、6,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号