网站大量收购闲置独家精品文档,联系QQ:2885784924

第六章数据库管理系统.ppt

  1. 1、本文档共30页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第六章 数据库管理系统 6.1 DBMS简介 1. DBMS位置 DBMS是DBS的核心软件,介于用户和OS之间的系统软件,它实现对共享数据的有效组织、管理和各种操作。 DBMS建立在OS之上, 需要OS的支持。 DBMS是用户操纵、管理 DB的工具。 说明:独立DBMS、OS扩充 6.1 DBMS简介 DBMS的特点 1. 完备高效 2. 界面友好 3. 事务处理 4. 结构清晰 5. 规范开放 DBMS的功能 (1) 数据定义 (用DDL) (2) 数据操纵 (用DML) (3) 数据组织、存储和管理 (4) 数据库运行管理 (5) 数据库的建立和维护 (6) 数据通信接口 6.1 DBMS简介 2.DBMS的组成 (1) 数据定义语言及其翻译处理程序 (2) 数据操纵语言及其编译(或解释)程序 (3) 数据库运行控制程序 (4) 实用程序 3.DBMS运行环境 (1)分布: 数据分布、功能分布、处理分布。 (2)开放:开放的硬件平台、支撑软件、网络支持、 异质数据库互连、用户界面。 6.1 DBMS简介 4.用户访问数据库的工作过程 ① 应用程序A向DBMS发出读一个记录的命令。程序给出记录类型名及欲读记录的码值。 ② DBMS分析命令,并调用A对应的子模式,检查A的存取权限,决定是否执行A的命令。 ③ 决定执行A的命令后,DBMS调用模式,根据子模式与模式变换的定义,确定所涉及的模式记录类型;通过模式与内模式的变换找到这些记录类型的内模式名。 ④ DBMS调用内模式,确定所读入的物理记录。 ⑤ DBMS向OS发读该物理记录的命令 ⑥ OS执行读命令并把数据从外存读到内存的系统缓冲区。 ⑦ DBMS按模式、子模式定义,导出用户程序需要的记录形式,并送到应用程序A的工作区。 ⑧ DBMS向应用程序A送命令执行情况的状态信息。 ⑨ 记载日志 DBMS把对数据库更新操作的全部情况都记载下来,以便数据库的恢复。 ⑩ 应用程序检查状态信息,若成功,对工作区中的数据正常处理;若失败,决定下一步如何执行。 6.2 关系DBS的查询优化 数据查询是DBS中最基本、最常用和最复杂的数据操作,查询优化是影响关系DBMS性能的关键因素。 关系数据理论基于关系代数,同一个查询要求可以对应多个不同形式却相互等价的表达式。 关系数据查询语言是非过程化的,由DBMS自动生成若干候选的查询计划并择优使用。 1.查询处理的过程 6.2 关系DBS的查询优化 查询处理包括三个基本步骤: 解析和翻译 优化 实现(求值) 6.3 关系DBS的查询处理 查询优化: 在所有等价的执行计划中选取代价最低的那个。 代价是利用从系统目录中获取的统计信息估算得到的。 e.g. 关系中的元组数目, 元组的大小等. 需要研究: 如何估量查询的代价 实现关系代数操作的算法 将单个操作算法结合起来形成一个对表达式的完整求值 如何实现查询优化,即如何寻求一个具有最低代价的执行计划。 6.3 关系DBS的查询处理-代价度量 代价通常是利用回答查询所需的时间来度量的。 很多因素会影响查询时间:磁盘存取, CPU, 网络连接等 通常磁盘存取是最耗时的部分, 并且容易估算, 主要考虑. Number of seeks * average-seek-cost Number of blocks read * average-block-read-cost Number of blocks written * average-block-write-cost 写的代价大于读的代价:写以后需要回读以确保正确的写 6.3 关系DBS的查询处理-代价度量 简化起见,仅使用 number of block 从磁盘传送块的数目作为代价的度量。 代价依赖于内存缓冲区的大小 更多内存降低磁盘存取次数 可用内存数与 OS 其它进程相关, 难以事先确定 一般使用最坏估计, 假设可用内存最小时的情况。 是实际模型的简化 忽略了顺序和随机读写的区别 忽略了CPU的代价 忽略了写到磁盘的代价。 为什么要查询优化? 例: Student表有l000个学生记录,每人平均选10门课程, SC表共有1000*10=l0000个选课记录。(统计信息)。要求: 查学生“王林”所选课程的成绩在85分以上的课程号。 SELECT Cno FROM S,SC WHERE S.Sno=

文档评论(0)

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

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

1亿VIP精品文档

相关文档