第六章 关系系统及其优化

合集下载

数据库第4章 关系系统及其优化课后题答案

数据库第4章 关系系统及其优化课后题答案

第4章关系系统及其优化1.试述查询优化在关系数据库系统中的重要性和可能性。

答:查询优化在关系数据库系统中有着非常重要的地位。

关系数据库系统和非过程化的SQL语言能够取得巨大的成功,关键是得益于查询优化技术的发展。

关系查询优化是影响RDBMS性能的关键因素。

优化对关系系统来说既是挑战又是机遇。

所谓挑战是指关系系统为了达到用户可接受的性能必须进行查询优化。

由于关系表达式的语义级别很高,使关系系统可以从关系表达式中分析查询语义,提供了执行查询优化的可能性。

这就为关系系统在性能上接近甚至超过非关系系统提供了机遇。

2.对学生-课程数据库有如下的查询:查询信息系学生选修的所有课程名称:SELECT Cname FROM St,Course,SCWHERE St.Sno=SC.Sno AND o=o AND St.Sdept=’IS’试画出用关系代数表示的语法树,并用关系代数表达式优化算法对原始的语法树进行优化处理,画出优化后的标准语法树。

答:关系代数表达式如下:πcname(бSt.sdept=’IS’(бst.sno=sc.Sno(бo=o(ST×SC×COURSE))) 用关系代数表示的语法树如下左图:用关系代数表达式优化算法对原关系代数表达式进行优化,优化后的关系代数表达式如下:πcname(бo=o((бSt.sno=sc.sno(πsno(бSt.sdept=’IS’(ST))×πsno,cno(SC))) ×πcno,cname(Course))优化处理后的标准语法树如上右图。

3.简述查询优化的一般准则。

答:1)选择运算应尽可能先做。

2)在执行连接前对关系适当地预处理。

3)把投影运算和选择运算同时进行。

4)把投影同其前或其后的双目运算结合起来。

5)把某些选择同在它前面要执行的笛卡尔积结合起来成为一个连接运算。

6)找出公共子表达式。

4.试述查询优化的一般步骤。

制造业智能化生产管理系统设计方案

制造业智能化生产管理系统设计方案

制造业智能化生产管理系统设计方案第一章绪论 (3)1.1 研究背景与意义 (3)1.2 系统设计目标 (3)第二章制造业智能化生产管理概述 (4)2.1 智能化生产管理的概念 (4)2.2 智能化生产管理的关键技术 (4)2.3 智能化生产管理的优势 (4)第三章系统需求分析 (5)3.1 功能需求 (5)3.1.1 基本功能需求 (5)3.1.2 扩展功能需求 (6)3.2 功能需求 (6)3.2.1 响应时间 (6)3.2.2 数据处理能力 (6)3.2.3 系统稳定性 (6)3.2.4 系统兼容性 (6)3.3 可靠性需求 (6)3.3.1 数据安全性 (6)3.3.2 系统恢复能力 (6)3.3.3 系统抗干扰能力 (6)3.3.4 系统可维护性 (7)第四章系统设计总体方案 (7)4.1 系统架构设计 (7)4.2 系统模块划分 (7)4.3 系统集成与交互 (8)第五章数据采集与处理 (8)5.1 数据采集方式 (8)5.2 数据处理方法 (8)5.3 数据存储与管理 (9)第六章生产调度与优化 (9)6.1 生产计划制定 (9)6.2 生产调度策略 (10)6.3 生产过程优化 (10)第七章质量管理与追溯 (11)7.1 质量检测方法 (11)7.1.1 概述 (11)7.1.2 常用质量检测方法 (11)7.1.3 智能化生产管理系统中的质量检测 (11)7.2 质量追溯系统 (11)7.2.1 概述 (12)7.2.2 质量追溯系统的组成 (12)7.2.3 智能化生产管理系统中的质量追溯 (12)7.3 质量改进与优化 (12)7.3.1 概述 (12)7.3.2 质量改进方法 (12)7.3.3 智能化生产管理系统中的质量改进与优化 (13)第八章设备维护与管理 (13)8.1 设备运行监控 (13)8.1.1 数据采集 (13)8.1.2 状态监测 (13)8.1.3 故障诊断 (13)8.2 设备维护策略 (13)8.2.1 预防性维护 (13)8.2.2 反应性维护 (14)8.2.3 预测性维护 (14)8.3 设备功能优化 (14)8.3.1 设备选型 (14)8.3.2 参数调整 (14)8.3.3 智能控制 (14)8.3.4 节能减排 (14)第九章仓储物流管理 (14)9.1 仓库管理策略 (14)9.1.1 仓库布局优化 (14)9.1.2 仓库物料管理 (14)9.1.3 仓库安全管理 (15)9.2 物流配送优化 (15)9.2.1 物流配送路线优化 (15)9.2.2 配送车辆管理 (15)9.2.3 配送人员管理 (15)9.3 仓储物流信息化 (16)9.3.1 信息管理系统构建 (16)9.3.2 信息安全与数据保护 (16)9.3.3 信息共享与协同办公 (16)第十章系统实施与评估 (16)10.1 系统开发与实施 (16)10.1.1 确定开发团队与分工 (16)10.1.2 系统需求分析与设计 (16)10.1.3 系统开发与集成 (16)10.1.4 系统部署与培训 (17)10.2 系统测试与验收 (17)10.2.1 单元测试 (17)10.2.2 集成测试 (17)10.2.3 系统测试 (17)10.2.4 验收测试 (17)10.3 系统运行与维护评估 (17)10.3.1 系统运行监控 (17)10.3.2 系统维护与升级 (17)10.3.3 用户满意度调查 (18)10.3.4 成效评估 (18)第一章绪论1.1 研究背景与意义科技的快速发展,我国制造业正面临着转型升级的压力。

数据库 4关系系统及其查询优化

数据库 4关系系统及其查询优化

4.6关系代数表达式的优化算法
我们可以应用前面讨论的变换法则来优化关系表达式。 使优化后的表达式能遵循4.2.3中的一般原则。例如把 选择和投影尽可能地早做(即把它们移到表达式语法树 的下部)。以下给出查询关系表达式的优化算法。 算法:关系表达式的优化。 输入:一个关系表达式的语法树。 输出:计算该表达式的程序。 方法: 1. 利用规则(4)把形如F1∧F2...∧Fn(E)变换为 F1(F2(...(Fn(E))...)) 2. 对每一个选择,利用规则(4)~(8)尽可能把它移到 树的叶端。
一个例子
例如STUDENTSC这样的自然连接,用索引连接方法的 步骤是: 1) 在SC上建立Sno的索引 2) 对STUDENT中每一个元组,由Sno值通过SC的索引 查找相应的SC元组 3) 把这些SC元组和STUDENT元组连接起来 这样Student表和SC表均只要扫描一遍。处理时间只是 两个关系大小的线性函数。
几点解释 · 为什么关系系统除了要支持关系数据结构外,还必 须支持选择、投影、连接运算呢?因为不支持这三种 关系运算的系统,用户使用仍不方便,不能提高用户 的生产率,而提高用户生产率正是关系系统主要目标 之一。 为什么要求这三种运算不能依赖于物理存取路径呢? 因为依赖物理存取路径来实现关系运算就降低或丧失 了数据的物理独立性。不依赖物理存取路径来实现关 系运算就要求关系系统自动地选择路径。为此,系统 要进行查询优化以获得较好的性能。这正是关系系统 实施的关键技术。 要求关系系统支持这三种最主要的运算而不是关系代 数的全部运算功能,是因为它们是最有用的运算功能, 能解决绝大部分的实际回题。
(6)找出公共子表达式。 如果重复出现的子表达式的查询结果不是很大的 关系,并且从外存中读入这个关系比计算该子表达式 的时间少得多,则先计算一次公共子表达式并把结果 写入中间文件是合算的。 当查询的是视图时,定义视图的表达式就是公共子 表达式的情况。

第六章 产业结构理论发展

第六章 产业结构理论发展
Chapter6 - 21/55
第六章 理论发展
(二)产业结构理论的基本体系
•产业结构形成理论 •主导产业选择理论 •产业关联理论 •产业结构演变理论 •产业结构影响因素理论 •产业结构效应理论 •产业结构优化理论 •产业结构分析理论 •产业结构政策理论 •产业结构研究方法论等
Chapter6 - 22/55
Chapter6 - 18/55
第六章 理论发展
邓宁对产业结构的研究成果:《20世纪英国工业的变化与 发展》及其他关于工业经济、区域经济和城市经济的著作。 拉尼斯与费景汉(又称约翰· 对刘易斯的二元经济发展 费) 学说作了进一步的补充和发展。二元结构演变分为三个阶段: 第一阶段,农业部门存在隐性失业,劳动的边际生产率为0, 劳动力供给弹性无限大;第二三阶段,农业中产生剩余,可满 足非农部门消费,农业剩余劳动力开始向工业转移;工业开始 为农业提供装备,二部门共同发展。
霍夫曼对在工业化进程中产业结构的演进问题进行了开创 性的研究。主要成果有《发展中国家的进口替代和经济增长— —以阿根廷、巴西、智利和哥伦比亚为重点》和《马来西亚半 岛的工业增长、就业与外国投资》等。
Chapter6 - 19/55
第六章 理论发展
丁伯根(NP19**)的关于制定经济政策的理论包含有丰富 的产业结构理论。 他把政策分为三种:数量政策、性质政策 和改革,其中性质政策就是要改变结构(投入产出表)中的一 些元素。 希金斯描绘了不发达国家的二元经济结构的特征。认为先 进部门和原有部门的生产函数完全不同。原有部门的生产函数 是可替代型的,因资本不足而选择劳动密集型的技术;而先进 部门采取资本密集型技术,具有固定投入系数的生产函数。主 要论著包括《印度尼西亚的经济稳定与发展》、《经济发展: 原则、问题与政策》。 在日本,对产业结构理论有比较深入研究的学者还有:筱 原三代平、马场正雄、宫泽健一、小宫隆太郎、池田胜彦、佐 贯利雄、筑井甚吉等人。

第六章__行政领导

第六章__行政领导

三、行政领导的方法、方式和艺术
行政领导方法是指行政领导者在行政活动中, 为实现行政领导目标而采取的各种手段、办 法和程序的总和。
◦ 根本方法 ◦ 行政领导方式和艺术
(一)根本的行政领导方法
实事求是的方法 群众路线的方法 矛盾分析的方法
(二)行政领导方式
依据行政领导的不同侧重点 依据行政领导者作用于下属的行为方式 依据行政领导者的权力控制程度
◦ ◦ ◦ ◦ 选任制 委任制 考任制 聘任制
(一)行政领导者的职位、职权与责 (一)行政领导者的职位、职权与责 任
行政领导者的职位是指根据法律、法规, 按规范化程序选择或任命行政领导者担 任的职务并赋予其应履行的责任的统一 体。 特点
◦ 以“事”为中心 ◦ 数量有限 ◦ 相对稳定
(一)行政领导者的职位、职权与责 (一)行政领导者的职位、职权与责 任
领导、管理工作的专业化
在西方,领导、管理工作专业化经历了 两次转型。
◦ “硬专家”转行 ◦ 职业“软专家”
领导、管理工作和特殊领域的工作的区别
领导、管理工作 具体业务工作 工作对象 工作方式 工作范围 思维方式 人 组织指挥 总揽全局 定性判断 人、财、物 躬行实践 微观探密 定量计算
领导、管理专业化的意义
在广义或外延层次上二者具有相等性 在狭义上两者具有本质差异性 二者广义和狭义的混合关系
◦ 领导就是管理 ◦ 管理就是领导
领导与管理
领导具有全局性,管理具有局部性。也就是说,领导侧 重于战略,管理侧重于战术。领导活动注重对组织内部 各个组成部分进行整体性的计划、协调和控制,而管理 则是一种技术性较强的工作,其目的在于提高某项工作 的效率。 领导具有超前性,管理具有当前性。领导活动致力于整 个组织发展方向的规定,这主要体现在决策和目标的制 定等方面,而管理则侧重于当前活动的落实。 领导具有超脱性,管理具有操作性。领导要从根本上、 宏观上把握活动过程,而管理却必须注意细节问题,要 通揽对人、财、物、时间、信息(现代管理五要素)的安 排与配置,使诸因素得到合理运用。

第六章项目进度管理_知识点思维导图

第六章项目进度管理_知识点思维导图

定义:是创建进度模型的一种技术,用节点表示活动,用一种或多种逻辑关系连接活动,以显示活动的实施顺序。
开始到完成(SF)
只有紧前活动开始,紧后活动才能完成的逻辑关系。 例如,只有启动新的应付账款系统(紧前活动),才能关闭旧的应付账款系统(紧后活动)
开始到开始(SS)
只有紧前活动开始,紧后活动才能开始的逻辑关系。 例如,开始地基浇灌(紧后活动)之后,才能开始混凝土的找平(紧前活动)。
工具与技术
输出
强制性依赖关系
是法律或合同要求的或工作的内在性质决定的依赖关系,强制性依赖关系往往与客观限制有关。
确定和整合依赖关系
选择性依赖关系 外部依赖关系
选择性依赖关系有时又称首选逻辑关系、优先逻辑关系或软逻辑关系。即便还有其他依赖关系可用,选择性依赖关系应基于具体应用领域的最佳实践或项目的某些特殊性质对活动顺序的要求来创建。 是项目活动与非项目活动之间的依赖关系,这些依赖关系往往不在项目团队的控制范围内。
报告格式
定义:识别和记录为完成项目可交付成果而需采取的具体行动的过程 作用:将工作包分解为进度活动,作为对项目工作进行进度估算、规划、执行、监督和控制的基础。
需要在整个项目期间开展
项目管理计划
进度管理计划 范围基准
输入
事业环境因素
6.2 定义活动
组织过程资产
专家判断
工具与技术
分解
是一种把项目范围和项目可交付成果逐步划分为更小、更便于管理的组成部分的技术 详见5.4 创建WBS
输入
资源日历 资源需求
风险登记册ຫໍສະໝຸດ 事业环境因素第六章 项目进度管理
6.4 估算活动持续时间
工具与技术
组织过程资产
专家判断

第六章课程结构

第六章课程结构

第六章课程结构第六章课程结构与课程类型课程从理论上可以被分析为课程⽬标、课程内容和学习活动⽅式等诸种课程成分,但在现实中,学校课程总是作为⼀个整体⽽存在的。

课程设计⾸先要考虑的问题不是具体课程内容的选样与组织,或某种学习活动⽅式的设计,⽽是各类课程以及课程内部各成分的结合⽅式问题,即课程结构问题。

只有树⽴科学的课程结构观,才能从整体上把握课程的内部构成,为优化课程设计,增强课程的整体功能提供理论保证。

第⼀节课程结构的概念和属性⼀、课程结构及其相关概念探讨在课程论中,课程结构本⾝还不是像课程⽬标、课程评价等等名词那样有着相对确切含义,能够⽐较⼴泛和规范运⽤的概念。

在《简明国际教育百科全书·课程》中,与课程结构关系较为密切的词条有两个,具体的内容就反映这样的特点。

⼀条的英⽂是“Curriculum Organization”,中⽂译⽂为课程组织,“课程组织是指将构成教育系统或学校课程的要素,加以安排、联系和排列的⽅式。

这些要素包括这样⼀些⼀般因素:教学计划与⽅案,学习材料,学校器材与学校设备,教学⼒量的职业知识以及评价与检查体系的要求等。

学校或学院的⽓氛,社会、社区、家庭对学校的⽀持,学⽣的能⼒和兴趣以及教师的风格于策略,这些因素虽不很明显,但也是同样重要的。

准备加以组织的课程⽐各学科或领域的⼤纲内容要丰富得多:它是学习的环境,教师的⽬标与价值观,和学⽣的学习经验。

组织课程是⼀项关键⽽⼜复杂的任务,教育系统的全部⼯作都建⽴在它的上⾯。

”西⽅教育家⼀般都⽐较重视课程组织。

⼤多数国家的课程组织呈现三种⽔平:学校⽔平、地⽅⽔平、国家⽔平。

在课程研制过程中,课程组织的作⽤有两个层⾯,⼀是处理内容或学习经验的选择问题,建构⽆限的⽂化与有限的课程之间的关系;⼆是处理内容或学习经验的结构问题,建构课程内在的各种要素和各个部分之间的关系。

所以课程组织的实质是,⼈们在课程研制实践中针对课程结构,探讨解决课程的外部和内部平衡问题、探讨解决不同类型的课程之间的关系问题。

第六章 线性规划及其解的实现

第六章 线性规划及其解的实现

第六章 线性规划及其解的实现线性规划是目前应用最广泛的一种系统优化方法,它的理论和方法已十分成熟,可以应用于生产计划、物质调运、资源优化配置、地区经济规划等许多实际问题.线性规划最早由前苏联学者L V Kantorovich 于1939年提出,但他的工作当时并未为人所熟知.直到1947年,美国学者G B Danzing 提出求解线性规划最有效的算法-----单纯性算法后,才引起数学家、经济学家和计算机工作者的重视,并迅速发展成为一门完整的学科而得到广泛的应用.利用线性规划建立数学模型也是中国大学生数学建模竞赛中最常用的方法之一.优化模型的一般形式为T n Xx x x X X f z ),,,(),(min 21 == (1)m i X g t s i ,,2,1,0)(.. =≤ (2)其中)(x f 称为目标函数,)(X g i 称为约束条件.只满足式(2)的X 称为可行解;同时满足式(1)、式(2)两式的解*X X =称为最优解.由式(1)、式(2)组成的模型属于约束优化,若只有式(1)就是无约束优化.一般情况下,优化问题都是有约束的,但是如果最优解不是在可行域的边界上,而是在可行域的内部,那么就可以用无约束优化作比较简单的处理.若f ,i g 均为线性函数,优化模型式(1)、式(2)称为线性规划,否则称为非线性规划. 本章主要对线性规划问题及其解的实现作简要介绍.§6.1 线性规划模型形式及其性质线性规划是运筹学的一个重要分支,应用很广.线性规划问题可以描述为求一组非负变量,这些非负变量在一定线性约束的条件下,使一个线性目标函数取得极小(或极大)值的问题.1、线性规划的标准形式目标函数 n n x c x c x c z +++= 2211m in约束条件 ⎪⎪⎪⎩⎪⎪⎪⎨⎧≥=+++=+++=+++0,,,2122112222212111212111n mn mn m m n n n n x x x bx a x a x a b x a x a x a b x a x a x a这里n x x x ,,,21 是变量,i ij i b a c ,,都是已知常数,且0≥i b ,约束条件常用..t s 表示.线性规划用矩阵表示就是T n x x x X cX z ),,,(,min 21 ==T n n m ij b b b b n m a A x b AX t s ),,,(),()(,0,..21 =≤=≥=⨯.2、线性规划的一般形式 目标函数 n n x c x c x c z +++= 2211m in约束条件 ⎪⎪⎩⎪⎪⎨⎧+++++++++mn mn m m n n n n b x a x a x a b x a x a x a b x a x a x a )()()(22112222212*********式中的( )可以是关系符号:≤≥=<>,,,,中的任意一个.3、线性规划化为标准形的方法 把线性规划化为标准形:(1)目标函数一律化为求极小(如果是求极大,则利用)m in(m ax z z -⇔化为求极小).(2)对约束条件中b Ax ≤的不等式,利用加入松弛变量的方法化为等式.如果原约束条件中有""b ≥形式的约束,可以在不等式两边同时加负号化为""b -≤的形式.(3)标准形中一般要求0≥i x .如果某个i x 无此约束,可以引入两个新变量''',i i x x ,令'''i i i x x x -=,0,'''≥i i x x ;如果原来的约束为i i l x ≥,可以令i i i l x x -=',0'≥i x .4、线性规划的基本性质 线性规划有以下基本性质:1)若存在可行域,可行域必为凸集; 2)基可行解对应于可行域的顶点;3)若有最优解,必在可行域的顶点取得.§6.2 线性规划问题的数学模型及其解的基本概念1、线性规划问题的数学模型例1 (生产计划问题)某工厂生产甲、乙两种产品,甲产品每生产一件需耗黄铜2kg 、3个工作日、两个外协件,每件可获利润60元;乙产品每生产一件需耗黄铜4kg 、1个工作日、不需外协件,每件可获利润30元,该厂每月可供生产用的黄铜320kg ,总工作日180个,外协件100个.问应怎样安排生产才能使工厂的利润最高?分析问题,建立数学模型.问题:怎样安排生产,即甲、乙两种产品各生产多少才能使工厂的利润最高?用1x ,2x 分别表示甲、乙两种产品生产的件数,该厂追求的目标是获取最高利润,用数学表达式表示为:213060m axx x f +=.由于生产甲、乙产品的件数要受到生产能力的约束,即 黄铜约束:3204221≤+x x ,工作日约束:180321≤+x x , 外协件约束:10021≤x , 非负约束:0,21≥x x .这样,该厂生产计划问题就归结为如下数学模型:⎪⎪⎩⎪⎪⎨⎧≥≤≤+≤++=.0,,1002,1803,32042..,3060max 211212121x x x x x x x t s x x f例2 (运输问题)计划由三个粮站1A ,2A ,3A 运输某种粮食至三个加工厂1B ,2B ,3B ,三个粮站的供应量和三个加工厂的需求量以及各供应地至需求地的单位运输价(元/t)如表1所示,试作出运费最省的调运计划方案.表 1问题:如何调运,才能使运费最省?设ij x 表示第i 个粮站到第j 个加工厂的粮食数量(单位:3,2,1,,=j i t ),则总运费3332312322211312112050603040709080120x x x x x x x x x f ++++++++=.从各粮站运出的粮食数量不能超过供应量,20131211=++x x x ,30232221=++x x x ,50333231=++x x x ,同时还要保证各加工厂的需要,25312111=++x x x ,50322212=++x x x ,25332313=++x x x ,而运输量应满足0≥ij x .则上述运输问题的数学模型为⎪⎪⎪⎪⎩⎪⎪⎪⎪⎨⎧≥=++=++=++=++=++=++++++++++=.0255025503020..2050603040709080120min 332313322212312111333231232221131211333231232221131211ij x x x x x x x x x x x x x x x x x x x t s x x x x x x x x x f从上述两个例子可以看出,虽然两个问题的具体内容和性质不同,但它们都属于优化问题,它们的数学模型都有相同的数学形式,即在一定的线性等式或不等式的条件下,使某一线性函数达到最大(或最小).所谓线性规划问题的数学模型是将实际问题转化为一组线性不等式获等式约束下求线性目标函数的最小(大)值问题.2、解的基本概念对于线性规划问题的标准形式..min ≥==x b Ax t s cx z 其中系数矩阵A 是行满秩的,即)()(n m m A R ≤=,并引入列向量),,2,1(n j P j =表示系数矩阵的列向量.满秩约束条件的解称为线性规划问题的可行解,可行解的全体}0,|{≥==x b Ax x D 称为线性规划问题的可行域.满足目标函数的可行解称为线性规划问题的最优解.系数矩阵A 的任意一个m 阶的可逆方阵B 称为线性规划问题的一个基.显然,A 最多有mn C 个基.基B 中的任意一列向量j P 称为基向量.系数矩阵A 中除基B 外的其余m n -个列向量称为非基向量.显然,选择的基不同,与基对应的非基向量也不尽相同.与基向量j P 对应的变量j x 称为基变量.与非基向量j P 对应的变量j x 称为非基变量.为叙述方便,不妨假设基B 是阵A 的前m 列构成的,即),,,(21m P P P B =,如若不然,则可通过调整变量顺序达到此目的.按上述定义,),,2,1(m j x j =为基变量,),,2,1(n m m j x j ++=为非基变量,记T m B x x x X ),,,(21 =,T n m m N x x x X ),,,(21 ++=,),,,(21n m m P P P N ++=那么约束条件可用分块矩阵表示为b X X N B N B =⎪⎪⎭⎫ ⎝⎛),(令0=N X ,由b BX B =得b B X B 1-= (3) 称⎪⎪⎭⎫⎝⎛=⎪⎪⎭⎫ ⎝⎛=-01b B X X X N B为对应于基B 的基解.很显然,由于m B R =)(,即0||≠B ,所以式(3)的解是惟一的.即对应于某个基的基解是惟一的,从而一个线性规划问题最多有mn C 个基解.若基解满足0≥x ,则称基解为基可行解。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
规则11: 投影与并的分配律

A1,A2,...,An (E1 E2) A1,A2,...,An(E1) A1,A2,...,An(E2)
代数优化

关系代数表达式的优化算法: 应用关系代数等价变换规则来优化关系代数 表达式, 使优化后的表达式能遵循查询优化的 一般准则, 在语法树上进行优化
Q1= sname(Students.Sno=SC.Sno and Cno=‘2’(StudentsSC))
Students 10 SC 100
代价计算 5块 Q1代价计算(仅考虑I/O代价) 计算广义笛卡尔积代价 假定: 在内存中, 存放5块Students元组和 一块SC元组, 一块可以装10个Students元 组或100个SC元组. 假定: Students有1000个元组,SC有10000 个元组, 其中选2号课程的有50个元组 数据只有读到内存才能进行连接
为什么需要查询优化?

一个查询实例: 求选修2号课程的学生姓名 SQL表示: select Sname from Students, SC where Students.Sno=SC.Sno and Cno=‘2’; 关系代数表示: Q1= sname(Students.Sno=SC.Sno and Cno=‘2’(StudentsSC)) Q2= sname(Cno=‘2’(Students SC)) Q3= sname( Students Cno=‘2’(SC))
代数优化
查询优化的一般准则(启发式规则): 下面的优 化策略一般能提高查询效率, 但不一定是最优的 选择运算尽可能先做, 降低中间结果大小 把投影运算和选择运算同时进行 sno (cno=‘2’(SC)) 把投影和其前或后的双目运算结合起来 Cname(Course SC)

把某些选择同在它前面要执行的笛卡尔积结合起 来成为一个连接运算 Students.Sno=SC.Sno and Cno=‘2’(StudentsSC) 找出公共子表达式
Students 10
SC 100
1000 1000 10000 100 20 100 2100 10 10 5 100 若每秒读写20块, 则花费: 2100 105s 20
Q1= sname(Students.Sno=SC.Sno and Cno=‘2’(StudentsSC))
第六章: 关系系统及其查询优化
关系系统的定义和分类 查询处理 关系系统中的查询优化

关系系统的定义
关系系统: 支持关系数据模型的数据库管理系 统(粗略) 关系系统(确切定义): 一个系统可以定义为一 个关系系统, 当且仅当它: 支持关系数据库 支持选择、投影和连接运算(自然连接), 对 这些运算不要求定义任何物理存取路径
SC 50
关系系统的查询优化:
关系系统的查询优化由系统完成, 而不是由用户完 成 优化器可以从数据字典获取许多统计信息 如果数据库的物理统计信息改变了,优化器可 以对查询进行重新优化以选择适应的执行计划 优化器可以考虑数百种不同的执行计划 优化器包括了许多复杂的技术 优化目标: 寻求最优的执行计划, 使查询执行开销 尽量小
代数优化

规则4: 选择的串接定律 F1(F2(E)) F1F2(E) 规则5: 选择和投影的交换律 F(A1,A2,...,An(E)) = A1,A2,...,An(F(E)) 特殊情况

A1,A2,...,An(F(E))
A1,A2,...,An(F(A1,A2,...,An, B1,B2,...,Bm (E)))
P SP
s
S
S
SP
c’: S.Snum=SP.Snum and SP.Pnum=P.Pnum s: S.City=‘NANJING’ p: P.Pname=‘Bolt’ sp: SP.Quan>1000

代数优化

规则8: 选择与差的分配律 F(E1- E2) F(E1)- F(E2) 规则9: 选择对自然连接的分配律 F(E1 E2) F(E1) F(E2)

代数优化

规则10: 投影与笛卡尔积的分配律 A1,A2,...,An, B1,B2,...,Bm(E1 E2) A1,A2,...,An(E1) B1,B2,...,Bm(E2)

关系系统的查询优化:
查询执行开销主要包括: 总代价=I/O代价+CPU代价 多用户数据库执行开销: 总代价=I/O代价+CPU代价+内存代价 查询优化的途径 代数优化 物理优化

代数优化

查询优化的一般步骤 将查询转化成内部表示--语法树 根据等价变化规则, 将语法树转化成优化形式 选择底层操作算法 生成查询计划
条件:Students 1000个元组, SC 10000个元组 迪卡尔集后后的元组个数为: 103 104=107 连接后的中间结果内存放不下, 需暂时写到外存 若每块可装10个完成迪卡尔集后的元组, 则写这 些元组需: (107 /10)/20=5 104s 选择操作: 读回需5 104s, 假设选择后剩50个元组, Students 均可放在内存 每秒读20块 SC 10 100 投影操作: 只需CPU时间 5块 查询共花费: 105+2 5 104 105 s 28小时
Q3= sname( Students
Cno=‘2’(SC))
计算和Students自然连接的 代价 Students 10 需读Students到内存进行连 接运算 5块 读Students块数为: 1000/10=100 花费为: 100/20=5s 连接结果为50个元组, 均可放在内存 投影运算:只需CPU时间 总花费: 5+5=10s
Q2= sname(Cno=‘2’(Students

SC))
Q2代价计算(仅考虑I/O代价) 计算自然连接代价 也要把数据读到内存进行连接, 但连接结果比笛 卡尔积要小得多 读取块数依然为: 1000 1000 10000 100 20 100 2100 10 10 5 100 花费为2100/20105s 假设连接结果大小为104个元组, 写到外存需: (104 /10)/20=50s

代数优化
关系代数等价变换规则: 给定 sname(Students.Sno=SC.Sno and Cno=‘2’(StudentsSC))

如何将上述提到的运算先做, 即得到:
sname( Students

Cno=‘2’(SC))
规则1: 连接、笛卡尔积的交换律 E1 E2 E2 E1 E1 F E2= E2 F E1 E1 E2= E2 E1 E: 关系代数表达式 F: 连接条件

代数优化
select Sname from S, SP, P where S.Snum=SP.Snum and SP.Pnum=P.Pnum and S.City=‘NANJING’ and P.Pname=‘Bolt’ and SP.Quan>1000; 原始语法树: select--投影 from--笛卡尔积 where--选择


S SP
不能结 合成等 值连接
S.Sno=SC.Sno S

P
SC
能结合 成等值 连接
代数优化
优化的一般步骤: 因DBMS而不同 把查询转换成某种内部表示(例如关系代数语法树) 把语法树转化成标准(优化)形式 选择底层的存取路径 生成查询计划, 选择代价最小的 例子: 设有供应商S, 零件P和供应关系SP三个关系, 其关系模式: S(Snum, Sname, City) P(Pnum, Pname, Weight, Size) SP(Snum, Pnum, Dept, Quan)
代数优化
关系代数表达式的优化算法 输入: 语法树 输出: 计算关系代数表达式的程序 1 利用规则4把形如F1F2…Fn(E) 变换成 F1(F2(… (Fn(E))...)) 2 对每一个选择, 利用规则4~9尽可能移到树的叶端 3 对于每个投影, 利用规则3, 5, 10, 11尽可能移到 树的叶端 4 利用规则3~5把选择和投影的串接合并成单个选 择, 单个投影, 或一个选择后跟一个投影
关系系统的查询处理:

查询处理的步骤:
Parser & translator
query
Relational algebra expression
Optimizer
Query output D B M S
Evaluation engine
Execution plan
data
Statistics about data

P SP
S
c: S.Snum=SP.Snum and SP.Pnum=P.Pnum and S.City=‘NANJING’ and P.Pname=‘Bolt’ and SP.Quan>1000
代数优化
优化:
Sname Sname
Sname
c

c’

c

SP P S

p
sp P
代数优化

规则6: 选择与笛卡尔积的交换律 F(E1 E2) F(E1) E2 F仅和E1有关 F(E1 E2) F1(E1) F2( E2 ) F= F1F2 F(E1 E2) F2(F1(E1)E2 ) F1--E1 F2--E1E2 规则7: 选择与并的分配律 F(E1 E2) F(E1) F(E2)
代数优化
优化:
Sname
c

SP P c: S.Snum=SP.Snum and SP.Pnum=P.Pnum and S.City=‘NANJING’ and P.Pname=‘Bolt’ and SP.Quan>1000
相关文档
最新文档