掌握关系系统的有关概念、了解全关系系统的十二条基本课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《掌握关系系统的有关概念、了解全关系系统的十二条基本课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 掌握 关系 系统 有关 概念 了解 十二 基本 课件
- 资源描述:
-
1、第四章 关系系统及其查询优化2022-8-3数据库系统11、掌握关系系统的有关概念、掌握关系系统的有关概念2、了解全关系系统的十二条基本准则、了解全关系系统的十二条基本准则3、掌握查询优化的一般策略、掌握查询优化的一般策略4、掌握关系代数的等价变换规则、掌握关系代数的等价变换规则5、掌握关系代数表达式的优化算法和优化的一般步骤、掌握关系代数表达式的优化算法和优化的一般步骤本章要求:本章要求:本章内容:本章内容:请选择内容请选择内容返回返回1 关系系统关系系统2 关系系统的查询优化关系系统的查询优化第四章 关系系统及其查询优化2022-8-3数据库系统2一、关系系统的定义一、关系系统的定义1、关
2、系模型:、关系模型:数据结构:数据结构:关系(二维表)关系(二维表)数据操纵:数据操纵:关系代数(或关系演算)关系代数(或关系演算)完整性约束:实体完整性、参照完整性、用户定义的完整性完整性约束:实体完整性、参照完整性、用户定义的完整性2、关系系统的定义、关系系统的定义 关系系统是关系数据库系统的简称关系系统是关系数据库系统的简称 从概念上讲,支持关系模型的系统称为关系系统。从概念上讲,支持关系模型的系统称为关系系统。一个系统称为关系系统,当且仅当一个系统称为关系系统,当且仅当(1)支持关系数据结构;)支持关系数据结构;(2)支持选择、投影和连接运算。)支持选择、投影和连接运算。对运算不要求定
3、义任何物对运算不要求定义任何物理存取路径。理存取路径。1 1 关系系统关系系统要求过于严格要求过于严格 按最小要求定义关系系统:按最小要求定义关系系统:第四章 关系系统及其查询优化2022-8-3数据库系统3二、关系系统的分类二、关系系统的分类 按对按对关系模型关系模型的支持程度来分的支持程度来分SMI数据操纵数据操纵完整性完整性结构结构1、表式系统、表式系统 仅支持关系结构,仅支持关系结构,不支持集合级操作不支持集合级操作SMIS如:倒排表如:倒排表第四章 关系系统及其查询优化2022-8-3数据库系统4SMIS2、(最小)关系系统、(最小)关系系统 支持关系结构,支持关系结构,支持选择、投
4、影和连接运算支持选择、投影和连接运算M3、关系上完备的系统、关系上完备的系统 支持关系结构,支持关系结构,支持所有的关系代数操作支持所有的关系代数操作SMISMM如:如:SYBASE、ORACLE、DB2如:如:FoxBASE、FoxPro第四章 关系系统及其查询优化2022-8-3数据库系统54、全关系系统、全关系系统 支持关系模型的所有特征支持关系模型的所有特征 SYBASE、ORACLE、DB2等系统已接近这个目标等系统已接近这个目标SMISMSI三、全关系系统的十二条基本准则三、全关系系统的十二条基本准则基础(准则基础(准则 0 0):):关系型关系型DBMS必须能完全通过它的关系能必
5、须能完全通过它的关系能 力来管理数据库力来管理数据库在关系一级上支持数据的插入、删除、修改,在关系一级上支持数据的插入、删除、修改,没有任何操作必须通过非关系的能力才能实现没有任何操作必须通过非关系的能力才能实现第四章 关系系统及其查询优化2022-8-3数据库系统6准则准则1 1:信息准则:信息准则。逻辑上可用一种方法(表中的值)来表示。逻辑上可用一种方法(表中的值)来表示 所有信息。所有信息。用户数据、元数据、索引、应用元数据统一用表格来表示用户数据、元数据、索引、应用元数据统一用表格来表示好处:好处:提高用户生产率提高用户生产率 便于便于DBA维护数据库维护数据库 便于与其它软件接口便于
6、与其它软件接口准则准则2 2:保证访问准则:保证访问准则。依靠表名、主键、列名的组合,保证。依靠表名、主键、列名的组合,保证 能以逻辑方式(而不是物理方式)访能以逻辑方式(而不是物理方式)访 问到每一个数据项。问到每一个数据项。准则准则3 3:空值的系统化处理:空值的系统化处理。好处:好处:完善完整性约束完善完整性约束 对库函数计算的准确性极为重要对库函数计算的准确性极为重要第四章 关系系统及其查询优化2022-8-3数据库系统7准则准则5 5:统一的数据子语言准则:统一的数据子语言准则。一种语言全面支持以下功能:一种语言全面支持以下功能:数据定义、视图定义数据定义、视图定义 数据操作数据操作
7、 完整性约束完整性约束 授权授权 事务处理功能事务处理功能准则准则4 4:基于关系模型的动态的联机数据字典:基于关系模型的动态的联机数据字典。数据库自身的描述(元数据)也用关系,且授权用户数据库自身的描述(元数据)也用关系,且授权用户 也可以查询。也可以查询。好处:好处:学习简单学习简单 授权用户可扩充数据字典授权用户可扩充数据字典第四章 关系系统及其查询优化2022-8-3数据库系统8准则准则6 6:视图更新准则:视图更新准则。所有理论上可更新的视图也应该允许。所有理论上可更新的视图也应该允许 由系统更新。由系统更新。提高逻辑独立性提高逻辑独立性准则准则7 7:高级的插入、修改、删除操作:高
8、级的插入、修改、删除操作。把一个基本关系或导。把一个基本关系或导 出关系作为单一的操作对象进行处理。出关系作为单一的操作对象进行处理。好处:好处:简化用户操作简化用户操作 便于系统优化便于系统优化 便于分布式处理便于分布式处理准则准则8 8:数据物理独立性:数据物理独立性。准则准则9 9:数据逻辑独立性:数据逻辑独立性。准则准则1010:数据完整性的独立性:数据完整性的独立性。完整性约束条件必须是用数据子语言定义并存储在数完整性约束条件必须是用数据子语言定义并存储在数 据字典中。据字典中。第四章 关系系统及其查询优化2022-8-3数据库系统9准则准则1111:分布独立性:分布独立性。数据子语
9、言能使应用程序和终端活动在下列情况下保持数据子语言能使应用程序和终端活动在下列情况下保持 逻辑不变性:逻辑不变性:首次分布数据时;首次分布数据时;数据重新分布时。数据重新分布时。准则准则1212:无破坏准则:无破坏准则。如果一个关系系统具有一个低级(指一次一记录)语言,如果一个关系系统具有一个低级(指一次一记录)语言,则这个低级语言不能违背或绕过完整性准则。则这个低级语言不能违背或绕过完整性准则。E.F.Codd提出的提出的12条准则条准则本节开头本节开头下一节下一节本章开头本章开头第四章 关系系统及其查询优化2022-8-3数据库系统10 关系数据语言只需用户指出关系数据语言只需用户指出“干
10、什么干什么”,不必指出,不必指出“怎怎么干么干”,为什么能做到这一点?,为什么能做到这一点?一个重要原因就是一个重要原因就是系统能自动进行查询优化系统能自动进行查询优化。查询优化的总目标:查询优化的总目标:选择有效的策略,求得给定的关系表达式的值。选择有效的策略,求得给定的关系表达式的值。一、为什么要进行查询优化?一、为什么要进行查询优化?例:例:求选修了课程求选修了课程C2的学生姓名的学生姓名SELECT S.SNFROM S,SCWHERE S.S#=SC.S#AND SC.C#=C2;2 2 关系系统的查询优化关系系统的查询优化第四章 关系系统及其查询优化2022-8-3数据库系统11也
11、可用也可用SQL语言如下实现语言如下实现:SELECT SNFROM SWHERE S.S#IN (SELECT SC.S#FROM SC WHERE C#=C2);对于一个复杂的查询,不同的用户可能会写出许许多多不对于一个复杂的查询,不同的用户可能会写出许许多多不同的查询方法。这些方法有的简单,有的复杂。它们的执行结同的查询方法。这些方法有的简单,有的复杂。它们的执行结果是一样的,但执行效率可能是不一样的。系统能解决这一问果是一样的,但执行效率可能是不一样的。系统能解决这一问题吗?题吗?第四章 关系系统及其查询优化2022-8-3数据库系统12 对这一查询,可以考虑下面几种实现方式:对这一查
12、询,可以考虑下面几种实现方式:1、先求、先求S和和SC的笛卡尔积,然后从中选出两学号字段值相等、的笛卡尔积,然后从中选出两学号字段值相等、课程号为课程号为C2的元组:的元组:Q1=(S SC)SN S.S#=SC.S#SC.C#=C22、先做、先做S和和SC的自然连接,然后从中选出课程号为的自然连接,然后从中选出课程号为C2的元组:的元组:Q2=(S SC)SN SC.C#=C23、先从、先从SC中选出课程号为中选出课程号为C2的元组,然后将该结果与的元组,然后将该结果与S 连接:连接:Q3=(S (SC)SN SC.C#=C2第四章 关系系统及其查询优化2022-8-3数据库系统13 分析三
13、种实现策略的执行时间分析三种实现策略的执行时间:设有设有1000学生记录,学生记录,10000选课记录,选修选课记录,选修C2课程的学生有课程的学生有50名。名。1、第一种策略:、第一种策略:Q1=(S SC)SN S.S#=SC.S#SC.C#=C2(1)计算广义笛卡尔积)计算广义笛卡尔积 S SC:执行方式:执行方式:读读S表表读读SC表表S1 A CS 20S2 B CS 21S3 C MA 19S4 D CI 19S5 E MA 22S6 F CS 19S1 C1 AS1 C2 AS1 C3 A每次读每次读若干块若干块每次读每次读一块一块S SC存于临时文件中存于临时文件中S1 A C
14、S 20 S1 C1 AS1 A CS 20 S1 C2 AS1 A CS 20 S1 C3 AS2 B CS 21 S1 C1 AS2 B CS 21 S1 C2 AS2 B CS 21 S1 C3 A S6 F CS 19 S1 C1 AS6 F CS 19 S1 C2 AS6 F CS 19 S1 C3 A第四章 关系系统及其查询优化2022-8-3数据库系统14读读S表表读读SC表表S1 A CS 20S2 B CS 21S3 C MA 19S4 D CI 19S5 E MA 22S6 F CS 19S1 C1 AS1 C2 AS1 C3 AS SC存于临时文件中存于临时文件中S1 A
15、 CS 20 S1 C1 AS1 A CS 20 S1 C2 AS1 A CS 20 S1 C3 AS2 B CS 21 S1 C1 AS2 B CS 21 S1 C2 AS2 B CS 21 S1 C3 A S6 F CS 19 S1 C1 AS6 F CS 19 S1 C2 AS6 F CS 19 S1 C3 AS1 C5 BS2 C1 BS2 C2 C读下一块读下一块S1 A CS 20 S1 C5 BS1 A CS 20 S2 C1 BS1 A CS 20 S2 C2 C 相当于相当于外循环外循环相当于相当于内循环内循环第四章 关系系统及其查询优化2022-8-3数据库系统15 设一块
16、能装设一块能装10个学生记录或个学生记录或100个选课记录,每次在内存中个选课记录,每次在内存中存放存放5块块S的元组、的元组、1块块SC的元组,则的元组,则S表和表和SC表的总块数各为表的总块数各为100。外循环一次,内循环。外循环一次,内循环20次,要读取的总块数为次,要读取的总块数为 100+100 20=2100块块连接后的元组数为连接后的元组数为 1000 10000=1千万,设每块能装千万,设每块能装10个元组,个元组,则则 S SC的总块数为的总块数为1百万块百万块 设每秒能读写设每秒能读写20块,则块,则读的时间:读的时间:2100块块 20块块/秒秒=105秒秒写的时间:写的
17、时间:1000000块块 20块块/秒秒=50000秒秒(2)依次读入)依次读入S SC的元组,然后执行选择:的元组,然后执行选择:读的时间:读的时间:1000000块块 20块块/秒秒=50000秒秒满足条件的元组满足条件的元组50个,设全部放入内存(不再临时存储)个,设全部放入内存(不再临时存储)第四章 关系系统及其查询优化2022-8-3数据库系统16(3)在上步基础上执行投影得最终结果(此步时间不计)。)在上步基础上执行投影得最终结果(此步时间不计)。第一种策略的总时间为:第一种策略的总时间为:105+50000+50000 10万秒(近万秒(近28小时)小时)Q2=(S SC)SN
18、SC.C#=C22、第二种策略、第二种策略(1)计算自然连接)计算自然连接 读取读取S表和表和SC表的策略不变,执行时间还是表的策略不变,执行时间还是105秒。秒。因为因为SC表中的每一个学号都在表中的每一个学号都在S表中出现,而表中出现,而S表中无重复表中无重复学号,故连接后的表和学号,故连接后的表和SC表的行数一样,为表的行数一样,为10000行,将它们行,将它们临时存入盘中需临时存入盘中需 (10000 10)块)块 20块块/秒秒=50秒秒计算自然连接需时:计算自然连接需时:105+50=155秒秒第四章 关系系统及其查询优化2022-8-3数据库系统17(2)执行选择运算)执行选择运
19、算主要为读取中间文件的时间:为主要为读取中间文件的时间:为50秒秒(3)把上一步结果投影,时间忽略不计)把上一步结果投影,时间忽略不计第二种策略的总时间为:第二种策略的总时间为:155+50=205秒秒Q3=(S (SC)SN SC.C#=C23、第三种策略、第三种策略(1)先对)先对SC表作选择表作选择 只需读一遍只需读一遍SC表,需时表,需时 100块块 20块块/秒秒=5秒秒 中间结果只有中间结果只有50个记录,不需使用中间文件个记录,不需使用中间文件(2)作自然连接)作自然连接 只需读一遍只需读一遍S表,边读边和内存中的中间结果连接,结果表,边读边和内存中的中间结果连接,结果仍为仍为5
20、0个元组需时个元组需时 5秒秒第四章 关系系统及其查询优化2022-8-3数据库系统18(3)把上一步结果投影,时间忽略不计)把上一步结果投影,时间忽略不计第三种策略的总时间为:第三种策略的总时间为:5+5=10秒秒结论:不同的查询策略其执行时间可能差别很大结论:不同的查询策略其执行时间可能差别很大二、优化的一般策略二、优化的一般策略好处:减少下一步运算的数据量好处:减少下一步运算的数据量1、选择、投影运算应尽可能先做、选择、投影运算应尽可能先做2、把选择和投影运算同时进行、把选择和投影运算同时进行好处:减少扫描关系的次数好处:减少扫描关系的次数 (S)SN SD=CSS1 A CS 20S2
21、 B CS 21S3 C MA 19S4 D CI 22表表S S#SN SD SA 第四章 关系系统及其查询优化2022-8-3数据库系统193、在执行连接前对文件适当地预处理、在执行连接前对文件适当地预处理例如:计算例如:计算 S SCSC:S#C#GS4 C3 BS1 C2 AS1 C5 BS6 C4 AS2 C1 BS5 C3 BS2 C2 CS1 C1 AS2 C4 CS3 C2 BS1 C3 AS3 C3 CS4 C5 DS5 C2 CS3 C4 BS5 C5 BS6 C5 AS:S#SN SD SAS1 A CS 20S2 B CS 21S3 C MA 19S4 D CI 19S
22、5 E MA 20S6 F CS 22执行连接时,对执行连接时,对S 表表只需扫描一遍,但若只需扫描一遍,但若S的元组不能整个放入的元组不能整个放入内存,则内存,则S需多少次读需多少次读入内存,对入内存,对SC表就要扫描多少遍表就要扫描多少遍第四章 关系系统及其查询优化2022-8-3数据库系统20SC:S#C#GS1 C1 AS1 C2 AS1 C3 AS1 C5 BS2 C1 BS2 C2 CS2 C4 CS3 C2 BS3 C3 CS3 C4 BS4 C3 BS4 C5 DS5 C2 CS5 C3 BS5 C5 BS6 C4 AS6 C5 AS:S#SN SD SAS1 A CS 20S
23、2 B CS 21S3 C MA 19S4 D CI 19S5 E MA 20S6 F CS 22 若对若对S表和表和SC表表按连接字段先排序按连接字段先排序或索引,效果如何?或索引,效果如何?对对S表和表和SC表都表都只需一遍扫描只需一遍扫描第四章 关系系统及其查询优化2022-8-3数据库系统214、把投影同其前或其后的双目运算结合起来、把投影同其前或其后的双目运算结合起来 (S SC)S#,SN,C#,G 如:如:每形成一个连接后的元组,就立即取出投影字段。而不是先每形成一个连接后的元组,就立即取出投影字段。而不是先连接形成一个临时关系,然后在再此临时关系上投影。连接形成一个临时关系,然
展开阅读全文