第九章关系查询处理与查询优化
- 格式:pdf
- 大小:624.38 KB
- 文档页数:89
中国海洋大学数据库系统课程大纲(理论课程)英文名称(Database System)【开课单位】信息学院【课程模块】专业知识【课程编号】0711******** 【课程类别】必修【学时数】64 (理论48 实践16 )【学分数】 3.5一、课程描述本课程大纲根据2011年本科人才培养方案进行修订或制定。
(一)教学对象计算机科学与技术专业本科生(二)教学目标及修读要求1、教学目标(课程结束后学生在知识、技能和态度三个层面达到的目标)通过本课程的学习可以使学生了解数据库系统的基本理论和内容,了解数据库系统的核心技术及其实现,了解有关数据库系统研究的最新进展,能够设计和实现大型的数据库应用系统。
从而认识到数据库系统在大型应用系统中的地位和作用,尤其是认识到我们国家在数据库系统方面与世界的差距,为学生将来参与有关数据库系统方面的研究奠定必要的知识基础。
2、修读要求(简要说明课程的性质,与其他专业课程群的关系,学生应具备的基本专业素质和技能等)《数据库系统》是计算机科学与应用专业的专业课,是专业知识教育层面的必修课,其先修课为集合论与代数结构、数据结构与算法,是数据库系统课程设计的先修课。
(三)先修课程(参照2011版人才培养方案中的课程名称,课程名称要准确)先修课为集合论与代数结构、数据结构与算法。
二、教学内容(一)第一章绪论1、主要内容:阐述数据库的基本概念,介绍数据管理技术的进展情况、数据库技术产生和发展的背景,数据模型的基本概念、组成要素和主要的数据模型,概念模型的基本概念及ER方法,数据库系统的三级模式结构以及数据库系统的组成。
2、教学要求:(按照掌握、理解、了解三个层次对学生学习提出要求)本章讲解的数据库基本概念和基本知识是学习后续各个章节的基础。
学习本章的目的在于了解基本知识,掌握基本概念,为以后的学习打好扎实的基础。
3、重点、难点:重点:牢固掌握概念模型的基本概念及其主要建模方法ER方法;掌握关系数据模型的相关概念、数据库系统三级模式和两层映像的体系结构、数据库系统的逻辑独立性和物理独立性等;对于如何通过ER方法描述现实世界的概念模型要做到能够举一反三的程度。
《MySQL数据库实用教程》电子教案第一章:MySQL数据库简介1.1 课程目标了解MySQL数据库的历史和发展掌握MySQL数据库的特点和应用场景了解MySQL数据库的安装和配置1.2 教学内容MySQL数据库的历史和发展MySQL数据库的特点和优势MySQL数据库的应用场景MySQL数据库的安装和配置步骤1.3 教学方法讲授:讲解MySQL数据库的历史、特点和应用场景演示:展示MySQL数据库的安装和配置过程互动:回答学生提出的问题1.4 课后作业了解并总结其他数据库的特点和应用场景完成MySQL数据库的安装和配置第二章:MySQL数据库的基本操作2.1 课程目标掌握MySQL数据库的创建、删除和使用掌握MySQL数据库表的创建、删除和修改掌握MySQL数据库表中数据的插入、查询和修改2.2 教学内容MySQL数据库的创建、删除和使用MySQL数据库表的创建、删除和修改MySQL数据库表中数据的插入、查询和修改2.3 教学方法讲授:讲解MySQL数据库的创建、删除和使用方法演示:展示MySQL数据库表的创建、删除和修改过程互动:回答学生提出的问题2.4 课后作业练习创建、删除和使用MySQL数据库练习创建、删除和修改MySQL数据库表练习插入、查询和修改MySQL数据库表中的数据第三章:MySQL数据库的进阶操作3.1 课程目标掌握MySQL数据库的备份和恢复掌握MySQL数据库的安全管理掌握MySQL数据库的性能优化3.2 教学内容MySQL数据库的备份和恢复MySQL数据库的安全管理MySQL数据库的性能优化3.3 教学方法讲授:讲解MySQL数据库的备份和恢复方法演示:展示MySQL数据库的安全管理和性能优化技巧互动:回答学生提出的问题3.4 课后作业练习备份和恢复MySQL数据库学习并了解MySQL数据库的安全管理方法学习并了解MySQL数据库的性能优化技巧第四章:MySQL数据库的编程应用4.1 课程目标掌握MySQL数据库的存储过程和触发器掌握MySQL数据库的视图和索引掌握MySQL数据库的存储引擎4.2 教学内容MySQL数据库的存储过程和触发器MySQL数据库的视图和索引MySQL数据库的存储引擎4.3 教学方法讲授:讲解MySQL数据库的存储过程、触发器、视图、索引和存储引擎的概念和使用方法演示:展示MySQL数据库的存储过程、触发器、视图、索引和存储引擎的实际应用示例互动:回答学生提出的问题4.4 课后作业练习创建和调用MySQL数据库的存储过程和触发器练习创建和使用MySQL数据库的视图和索引学习并了解MySQL数据库的存储引擎的选择和配置方法第五章:MySQL数据库的实战应用5.1 课程目标掌握使用MySQL数据库进行网站数据管理的方法掌握使用MySQL数据库进行大数据处理的方法掌握MySQL数据库的分布式应用和集群管理5.2 教学内容使用MySQL数据库进行网站数据管理使用MySQL数据库进行大数据处理MySQL数据库的分布式应用和集群管理5.3 教学方法讲授:讲解使用MySQL数据库进行网站数据管理和大数据处理的方法演示:展示MySQL数据库的分布式应用和集群管理的实际应用示例互动:回答学生提出的问题5.4 课后作业练习使用MySQL数据库进行网站数据管理学习并了解使用MySQL数据库进行大数据处理的方法学习并了解MySQL数据库的分布式应用和集群管理的配置和部署方法第六章:使用SQL语句操作MySQL数据库6.1 课程目标掌握SQL语句的基本结构和使用方法掌握使用SQL语句创建、删除和修改数据库表掌握使用SQL语句插入、查询和修改数据6.2 教学内容SQL语句的基本结构使用SQL语句创建、删除和修改数据库表使用SQL语句插入、查询和修改数据6.3 教学方法讲授:讲解SQL语句的基本结构和使用方法演示:展示使用SQL语句创建、删除和修改数据库表以及插入、查询和修改数据的过程互动:回答学生提出的问题6.4 课后作业练习编写SQL语句创建、删除和修改数据库表练习编写SQL语句插入、查询和修改数据第七章:MySQL数据库的备份与恢复7.1 课程目标掌握MySQL数据库的备份方法掌握MySQL数据库的恢复方法掌握MySQL数据库的还原方法7.2 教学内容MySQL数据库的备份方法MySQL数据库的恢复方法MySQL数据库的还原方法7.3 教学方法讲授:讲解MySQL数据库的备份、恢复和还原方法演示:展示MySQL数据库的备份、恢复和还原的实际操作过程互动:回答学生提出的问题7.4 课后作业练习使用MySQL数据库的备份方法进行数据备份练习使用MySQL数据库的恢复方法进行数据恢复练习使用MySQL数据库的还原方法进行数据还原第八章:MySQL数据库的安全管理8.1 课程目标掌握MySQL数据库的安全管理概念掌握用户权限管理方法掌握SQL注入防护方法8.2 教学内容MySQL数据库的安全管理概念用户权限管理方法SQL注入防护方法8.3 教学方法讲授:讲解MySQL数据库的安全管理概念、用户权限管理方法和SQL注入防护方法演示:展示MySQL数据库的用户权限管理和SQL注入防护的实际操作过程互动:回答学生提出的问题8.4 课后作业练习使用用户权限管理方法设置用户权限学习并了解SQL注入防护方法第九章:MySQL数据库的性能优化9.1 课程目标掌握MySQL数据库的性能优化方法掌握索引优化方法掌握查询优化方法9.2 教学内容MySQL数据库的性能优化方法索引优化方法查询优化方法9.3 教学方法讲授:讲解MySQL数据库的性能优化方法、索引优化方法和查询优化方法演示:展示MySQL数据库的索引优化和查询优化的实际操作过程互动:回答学生提出的问题9.4 课后作业练习使用索引优化方法优化数据库索引练习使用查询优化方法优化数据库查询第十章:MySQL数据库的实战应用案例分析10.1 课程目标学习MySQL数据库在实际项目中的应用案例分析MySQL数据库在实战中的性能优化方法掌握MySQL数据库在实战中的安全防护措施10.2 教学内容MySQL数据库在实际项目中的应用案例MySQL数据库在实战中的性能优化方法MySQL数据库在实战中的安全防护措施10.3 教学方法讲授:讲解MySQL数据库在实际项目中的应用案例和实战中的性能优化方法、安全防护措施演示:展示MySQL数据库在实战中的应用案例和性能优化、安全防护的实际操作过程互动:回答学生提出的问题10.4 课后作业学习并分析MySQL数据库在实际项目中的应用案例学习并了解MySQL数据库在实战中的性能优化方法和安全防护措施重点解析本文主要介绍了《MySQL数据库实用教程》电子教案,共包含十个章节。
第一章数据库系统概述1.几个概念:数据、数据库、数据库管理系统(DBMS)、DDL(数据库模式定义语言)、DML(数据操纵语言)、数据库系统(DBS).2. 数据库系统的三级模式结构由外模式、模式、内模式三级构成模式(逻辑模式):是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
内模式(存储模式):对应于物理级,它是数据库中全体数据的内部表示或底层描述,是数据库最低一级的逻辑描述,它描述了数据在存储介质上的存储方式翱物理结构,对应着实际存储在外存储介质上的数据库。
外模式(子模式或用户模式):是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述.3.数据库的二级映象功能与数据独立性数据库管理系统在三级模式之间提供了两层映象:外模式/模式映象(体验逻辑)、模式/内模式映象(体现物理)这两层映象保证了数据库系统中数据的逻辑独立性和数据的物理独立性.4.构成数据模型的三要素:数据结构、数据操作和数据完整性约束。
5.数据模型的分类:第一类是概念模型,第二类是逻辑模型和物理模型。
概念模型按用户的观点来对数据和信息建模,主要用于数据库设计。
逻辑模型按计算机系统的观点对数据建模,主要用于DBMS的实现。
信息世界涉及的概念主要有:实体、属性、码、域、实体型、实体集、联系。
概念模型的表示方法:实体-联系表示法,即E-R模型(E-R图)。
第二章关系数据库1.几个概念:什么是码、候选码?什么是主码、外码、主属性、全码?码:唯一标识实体的属性集称为码。
候选码:若关系中的某一属性组的值能惟一地标识一个元组,则称该属性组为候选码。
主属性:候选码的诸属性称为主属性。
全码:关系模式的所有属性是这个关系模式的候选码,称为全码。
外部码(外码):设F是基本关系R的一个或一组属性,但不是关系R的码,Ks是基本关系S的主码。
若F与Ks相对应,则称F是R 的外码。
并称R为参照关系,F为被参照关系。
《控制科学与工程》专业同等学力加试考试大纲一、考试形式笔试。
二、考试科目《数据库基础》三、试卷满分及考试时间试卷满分100分,考试时间1.5小时。
四、试题题型结构名词解释题,简答题,综合题等。
五、主要参考书《数据库系统概论》,王珊、萨师煊编著,高等教育出版社,第五版。
六、试卷考查内容比例1.数据库绪论(8%)2.关系数据库(4%)3.关系数据库标准语言SQL(30%)4.数据安全性与完整性(2%)5.关系数据理论(14%)6.数据库设计与编程(30%)7.关系系统及其查询优化(8%)8.数据库恢复技术与并发控制技术(4%)七、课程考试内容及要求第一章数据库绪论考核要求:1、了解数据库系统的特点;2、掌握数据模型的基本概念;3、重点掌握数据库系统结构和组成;4、了解数据库技术的主要研究领域。
第二章关系数据库考核要求:1、了解关系模型的基本概念;2、重点掌握关系代数;3、重点掌握关系演算;4、重点掌握查询优化。
第三章关系数据库标准语言SQL考核要求:1、了解SQL的数据定义;2、重点掌握SQL的数据查询;3、重点掌握SQL的数据更新。
第四章数据库安全性考核要求:1、了解计算机系统安全性;2、掌握数据库安全性控制。
第五章数据库完整性考核要求:1、了解完整性约束条件;2、了解完整性控制。
第六章关系数据理论考核要求:1、掌握函数依赖;2、掌握范式的分解与应用。
第七章数据库设计考核要求:1、了解数据库设计的基本步骤;2、掌握数据库设计内容、设计描述、设计方法等;3、掌握E-R图向关系模型的转换。
第八章数据库编程考核要求:掌握嵌入式SQL的基本概念及简单应用,了解其应用;掌握存储过程的基本概念及简单应用,了解其应用;掌握ODBC的基本概念及原理、其编程基本方法和技巧,了解其应用。
第九章关系查询处理及其查询优化考核要求:1、了解关系系统的分类;2、重点掌握关系系统的查询优化;3、掌握查询的语法树以及优化后的语法树。
数据库系统原理福州大学计算机系郭红G u o h o n g @f z u .e d u .c n第10-11章习题课第三篇系统篇*第九章关系查询处理和查询优化第十章数据库恢复技术第十一章并发控制*第十二章数据库管理系统查询处理步骤查询优化是查询处理的核心,只在具有非过程性查询语言的D B M S 才具有此功能。
在这样系统中,用户使用数据库语言定义查询要求,而无需要说明怎样去查询,因此查询优化是完全必要而且非常重要的。
查询优化包括:1、代数优化——关系代数表达式优化改变表达式中操作的次序和组合,提高查询效率2、物理优化——存取路径和低层操作算法的选择。
选择的依据可以是基于规则,代价或语义。
关系查询处理与查询优化关系代数表达式优化的一般准则典型的启发式规则:1、选择运算应尽可能先做。
2、同时执行相同关系上的多个选择与投影操作,以免多次扫描关系。
3、把投影同其前或后的双目运算结合起来,以免多次扫描关系。
关系代数表达式优化的一般准则n4、某些选择运算+在其前面执行的笛卡尔积===>等值连接运算例:бS t u d e n t.S n o=S C.S n o(S t u d e n t×S C)S t u d e n t∞S CS t u d e n t.S n o=S C.S n on5、提取公共子表达式关系代数表达式的内部表示查询的内部表示形式——查询树∏A(σp=‘IS’AND N=‘User’((R1×R2) ×R3))×∏AσP=‘IS’AND N=‘User’×R3R2R1优化的关系代数表达式∏C,CN ((∏SC.C#(∏S#(σSD=’IS’(S))∞S.S#=SC.S#∏S#.C#(SC))∞SC.C#=C.C#∏C#,CN (C))∏∞SC.C#=C.C#∏SC.C# ∏C.C#,∞S.S#=SC.S# C∏S.S# ∏SC.S#, SC.C#σSD=’IS’SCD B M S 的数据控制功能数据库系统中的数据是由D B M S 统一管理和控制的。
第一章1.数据库管理系统(DBMS)数据定义语言(DDL)、数据操纵语言(DML)2.数据库系统(DBS)由数据库、数据库管理系统、应用程序和数据库管理员组成3.数据库管理技术的产生和发展(1)人工管理阶段(2)文件管理阶段(3)数据库管理阶段各区别见P7表(重)数据库系统与文件系统的本质区别:数据库系统实现整体数据的结构化4.物理独立性和逻辑独立性的概念P135.数据库系统的核心和基础:数据模型6.两类数据模型:第一类概念模型、第二类逻辑模型和物理模型逻辑模型-->物理模型,由数据库系统完成7.概念模型的表示方法:实体—联系方法(E-R方法)P168.数据模型的组成要素:数据结构、数据操作、完整性约束条件9.按数据结构的类型来命名数据模型:层次模型、网状模型、关系模型10.关系模型的数据结构:关系(表)、元组(一行)、码、域、分量(元组中的一个属性值)、关系模式(表示为关系名(属性1,属性2......))11.模式是相对稳定的,实例时相对变动的12.三级模式:模式、外模式、内模式模式:是数据库中全体数据的逻辑结构和特征的描述外模式(子模式或用户模式):数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述内模式(储存模式):是数据物理结构和存储方式的描述13.二级映像:(1)模式/外模式映像:保证数据和程序的逻辑独立性对于每一个外模式,都有一个。
(2)模式/内模式映像:保证数据和程序的物理独立性第二章1.域:具有相同数据类型的值的集合不同取值个数个数称为域的基数2.笛卡尔积:所有域的所有不同组合P383.关系:R(D1,D2,...,Dn) n是关系的目或度关系的候选码、主属性、主码、全码4.关系有三种类型:基本关系(基本表或基表)、查询表、视图(虚表)5.基本关系具有的性质:(1)列是同质的(2)不同的列可以出自同一个域(3)分量必须去原子值,即每一个分量都必须是不可分的数据项6.关系模式是型,关系是值7.关系操作包括两大部分:查询操作和更新操作(插入、删除、修改)查询操作分为选择、投影、并、差、笛卡尔积(5种基本操作)、连接、除、交操作的对象和结果都是集合该操作方式也称“一次一集合方式”非关系数据模型的数据操作方式称“一次一记录方式8.关系数据语言的分类关系代数语言关系演算语言:元组关系演算语言、域关系演算语言具有关系代数和关系演算双重特点的语言:结构化查询语言结构化查询语言是集查询、数据定义语言、数据操作语言和数据控制语言于一体的关系数据语言关系完备性:一个关系数据语言能够表示关系代数可以表示的查询9.外码:自身不是主码、取值会参照另外一张表(也可同一张表)的主码的取值外码不一定要与相应的主码同名10.关系的完整性(1)实体完整性:主属性不能取空值(2)参照完整性:关系中的外码或取空值或取等于它参照的关系的主码值(3)用户定义的完整性11.集合运算(1)传统的关系运算:并:RUS 差:- 交笛卡尔积:A×B关系A、B分别有k1、k2个元组,则A×B有k1×k2个元组(2)专门的关系运算:投影、选择、连接、除运算等A.投影后会取消相同的元组B.连接:等值连接(含自然连接,符号: ,查询常用到)、非等值连接自然连接中被舍弃的元组称为悬浮元组外连接、左外连接、右外连接P55C.除运算(待定)D.查询练习:P53、P56~57(重)第四章数据库安全性1.数据库安全性主要包括:用户身份鉴别、多层存取控制、审计、视图、数据加密等技术2.数据库管理系统提供的最外层安全保护措施:用户身份鉴别方法:静态口令鉴别、动态口令鉴别、生物特征鉴别、智能卡鉴别3.存取控制机制主要包括:定义用户权限、合法权限检查(组成数据库管理系统的存取控制子系统)定义用户权限:登记到数据字典中,这些定义称为安全规则(授权规则)4.自主存取控制(MAC)(1)通过SQL的GRANT和REVOKE语句来实现(2)用户权限由两个要素组成:数据库对象和操作类型(3)定义存取权限称为:授权(4)GRANT...ON...TO用户; 详见P141-P142若用户后面再加WITH GRANT OPTION,表示该用户可以将该权限授权给其他(5)REVOKE...ON...FROM 用户;详见P143-P14若用户后面再加CASCADE,表示级联回收了该用户之前对其他用户的授权(6)创建用户:CREATE USER<username> [WITH][3个权限]3个权限:CONNECT、RESOURCE、DBA其区别见P145表没有指定权限时,默认只是最低级权限(7)角色:是权限的集合角色的创建(CREATE)和收回(REVOKE)见P147 4.强制存取控制(DAC)(1)数据库全部实体分为:主体(用户、进程)、客体(文件、基本表、视图等)(2)给主体客体指派一个敏感度标记:绝密、机密、可信、公开(3)规则:不上读、不下写P1485.MAC和DAM共同构成数据库管理系统的安全机制。