《数据库技术与应用》第10章 查询处理和优化习题答案

合集下载

数据库技术及应用教程课后答案

数据库技术及应用教程课后答案

数据库技术及应用教程课后答案数据库技术及应用教程课后答案是指对于数据库技术及应用教程课后习题的解答。

数据库技术及应用课程是计算机相关专业中的重要课程之一,涵盖了数据库的基本概念、设计原理、管理方法和应用开发等内容。

课后习题的答案有助于学生巩固所学知识并提升实践能力。

以下是一个关于数据库技术及应用教程课后答案的示例:1. 数据库的基本概念答:数据库是用于存储和管理数据的系统,它由数据、数据结构、数据组织、数据存储、数据检索、数据处理等组成。

数据库管理系统(DBMS)是用于管理数据库的软件。

2. 数据库的设计步骤答:数据库设计的步骤包括需求分析、概念设计、逻辑设计和物理设计。

需求分析阶段确定数据库的需求和用户需求,概念设计阶段将需求转化为数据库的概念模型,逻辑设计阶段将概念模型转化为关系模型,物理设计阶段确定存储和访问数据库的物理布局。

3. 数据库的完整性约束答:数据库的完整性约束用于保证数据的正确性和一致性。

包括实体完整性约束、参照完整性约束和用户定义的完整性约束。

实体完整性约束要求主键不能为空,参照完整性约束要求外键的值必须是被参照表的主键值,用户定义的完整性约束可以根据具体的业务需求定义。

4. 数据库查询语言答:数据库查询语言包括结构化查询语言(SQL)和面向数据库的编程语言。

SQL是用于访问和操作关系数据库的语言,包括数据定义语言(DDL)、数据操作语言(DML)和数据控制语言(DCL)。

面向数据库的编程语言例如PL/SQL、T-SQL等,可以在应用程序中直接调用数据库操作。

5. 数据库索引的作用答:数据库索引可以提高数据的检索效率。

索引是数据库表中一个或多个列的值排序的数据结构,可以加快对表的查询和排序操作。

常见的索引类型包括B+树索引、哈希索引和全文索引。

总结:数据库技术及应用教程课后答案是对于课后习题的解答,它有助于学生巩固所学知识并提升实践能力。

通过课后习题的答案,学生可以了解到数据库的基本概念、设计步骤、完整性约束、查询语言和索引的作用。

数据库技术及应用课后习题答案

数据库技术及应用课后习题答案

数据库技术及应用课后习题答案【篇一:《数据库技术及应用(第2版)》课后习题答案】>习题答案济南大学闫明霞等二〇〇七年十二月习题 11.1 选择题1、 a2、 c3、 c4、 b5、 c6、 a7、 c8、 b9、 d 10、 a 11、 d 12、 a 13、 a1.2 填空题1. 数据2. 数据的逻辑独立性3. 数据的物理独立性4. 层次数据模型,网状数据模型,关系数据模型5. 能按照人们的要求真实地表示和模拟现实世界、容易被人们理解、容易在计算机上实现6. 实体、记录7. 属性、字段8. 码9. 域10. 一对一、一对多、多对多 11. e-r模型 12. e-r模型13. 层次模型、网状模型、关系模型 14. 数据操作、完整性约束 15.矩形、菱形、椭圆形 16. 层次模型、一对多 17. 网状模型 18. 关系模型 19. 关系20. 外模式、模式、内模式 21. 三级模式、两级映像 22. 外模式、模式、内模式 23. 数据、程序24. 数据逻辑、数据物理25. dbms(数据库管理系统)、dba(数据库管理员)1.4 综合题2.(注:各实体的属性省略) 3.习题 22.1 单项选择题1、 c2、 a3、 b4、 c5、 c6、 d7、 a8、 b2.2 填空题1. 集合2. 能唯一标识一个实体的属性3. 系编号,学号,系编号4. 关系,元组,属性5. 关系模型,关系,实体,实体间的联系6. 投影2.4 综合题习题 44.1 单项选择题1、 b2、a3、c4、a5、a6、c7、c8、d9、b 10、a 11、b 12、a 13、c 14、c 15、c4.2 填空题1、 drop table2、 alter table add 列名或约束条件3、 with check option4、基本表基本表5、 distinct group byorder by6、数据定义数据操纵数据控制7、distinct8、 like % _9、自含式嵌入式 10、order byascdesc4.3 综合题1、select xh, xm, zym, bh, rxsj from stu_info, gfied wherestu_info.zyh = gfied.zyh and nl 23 and xbm = 男2、select zym 专业名, count(*) 人数 from stu_info, gfied where stu_info.xsh = 03 and stu_info.zyh = gfied.zyh group by zym3、select bh,count(*) as 人数 from stu_info group by bh4、select xh, xm, xbm, bh from stu_infowhere zyh in ( select zyh rom stu_info where xm = 李明 )order by xh5、select distinct kch, km from stu_info, xkwhere stu_info.xsh = 03 and stu_info.xh = xk.xh6、select count(distinct kch) as 选课门数, avg(kscj) as 平均成绩from stu_info, xkwhere stu_info.xh = xk.xh and xsh = 127、select distinct stu_info.xh, xm, bh, zym, kmfrom stu_info, xk, gfiedwhere kscj 85 and stu_info.xh = xk.xh and stu_info.zyh = gfied.zyh order by zym, bh, stu_info.xh8、select stu_info.xh, xm, xsm, zym, bh, pyccmfrom stu_info, xk, gdept, gfiedwhere kkny = 20011 and stu_info.xh = xk.xh and stu_info.xsh=gdept.xshandstu_info.zyh = gfied.zyhgroup by stu_info.xh, xm, xsm, zym, bh, pyccm having count(*) 10 9、select distinct bhfrom stu_infowhere xh like 2000% 或delete from stu_info where left(xh,4) = 2000 11、alter tablestu_infoadd bysj varchar(8) 12、update xkset kscj = 60where kscj between 55 and 59 and xh in (select xh fromstu_info where zyh = 0501)and km = 大学英语 ) 13、update xkset kcxf=6where kch = 090101 14、create table ccourse (kch char(6),km varchar(30),kcywm varchar(30))15、create view ise asselect *from stu_info where xsh=’03’【篇二:数据库技术与应用-复习题答案】在关系模型中,实体及实体之间的联系都用二维表来表示。

MySQL数据库技术及应用 课后习题答案 (4)[3页]

MySQL数据库技术及应用 课后习题答案 (4)[3页]

项目4一、选择题1、D2、D3、B D4、C5、B6、C7、C8、D二、填空题1、逻辑排序查询效率(速度)2、删除3、基表4、WITH CHECK OPTION三、判断题1、对2、对3、对4、对5、对6、对四、简答题1、答:索引的优点:(1)提高数据查询的速度:索引能够以一列或多列的值为排序依据,实现快速查找数据行。

(2)优化查询:数据库系统的查询优化器是依赖于索引起作用的,索引能够加速连接、分组和排序等操作。

(3)确保数据的唯一性:通过给列创建唯一索引,可以保证表中的数据不重复。

索引的缺点:(1)创建索引和维护索引要耗费时间,这种时间随着数据量的增加而增加。

(2)索引需要占物理空间,如果要建立聚簇索引,则需要的空间就会更大。

(3)当对表中数据进行增加、修改和删除时,索引也要动态的进行维护,因而会降低数据的更新速度。

表中索引越多,则更新表的时间就越长。

2、答:(1)很少或从来不作为查询条件的列。

(2)在小表中通过索引查找行可能比简单地进行全表扫描还慢。

(3)只从很小的范围内取值的列,即字段重复值比较多的列。

(4)数据类型为Text、Blob和Bit的列上不宜创建索引。

(5)值需要经常修改的列不适合创建索引。

答:按照索引作用的机理分类,可分为普通索引(INDEX)、唯一索引(UNIQUE)、主键(PRIMARY KEY)、全文索引(FULLTEXT)和空间索引(SPATIAL)等类型。

4、答:在MySQL中,可通过CREATE OR REPLACE VIEW语句和ALTER VIEW语句两种方法来修改视图。

CREATE OR REPLACE VIEW语句基本语法格式为:CREATE OR REPLACE VIEW 视图名[(列名[,...n ])]AS SELECT语句;ALTER VIEW语句基本语法格式为:ALTER VIEW 视图名[(列名[, ...n])]AS SELECT语句;五、项目实践(训)题(1)ALTER TABLE bemployee ADD UNIQUE INDEX ix_i dentity(i dentity);或CREATE UNIQUE INDEX ix_i dentity ON bemployee(i dentity);查看是否创建成功:SHOW CREATE TABLE bemployee\G(2)ALTER TABLE bleave ADD INDEX mulix_date(employeeid,start_date);或CREATE INDEX mulix_date ON bleave(employeeid,start_date);查看是否创建成功:SHOW CREATE TABLE bleave\G(3)ALTER TABLE bsalary ADD INDEX ix_employeeid(employeeid), ADD INDEX ix_totalsalary(total_salary DESC);(4)创建视图:USE peopleCREATE VIEW dept_infoASSELECT deptid, deptname, deptnum FROM bdept;从该视图中查询出部门人数大于10人的部门记录:SELECT * FROM dept_info WHERE deptnum >10创建视图:USE peopleCREATE VIEW employee_infoASSELECT * FROM bemployee WHERE deptid= '2003';查看该视图的结构信息:DESC employee_info;(6)SELECT name, sex,politicalFROM employee_infoWHERE name LIKE '张%' AND sex= '女';。

《MySQL数据库原理、设计与应用》第10章课后习题答案

《MySQL数据库原理、设计与应用》第10章课后习题答案

第十章一、填空题1.92. e3.@,变量名4.REPEAT5.DELIMITER二、判断题1.错2.错3.对4.对5.对三、选择题1. A2. D3. D4. C5. B四、简答题1.请简述存储过程和函数的区别。

答:(1)语法中实现的标识符不同,存储过程使用PROCEDURE,函数为FUNCTION。

(2)存储过程在创建时没有返回值,而函数在定义时必须设置返回值。

(3)存储过程没有返回值类型,且不能将结果直接赋值给变量;而函数定义时需要设置返回值类型,且在调用时除在SELECT中,必须将返回值赋给变量。

(4)存储过程必须通过CALL进行调用,不能使用SELECT调用;而函数则可在SELECT语句中直接使用。

2.请说一说触发器以及其作用。

答:概念:触发器可以看作是一种特殊类型的存储过程,在预先定义好的事件(如INSERT、DELETE等操作)发生时,才会被MySQL自动调用。

作用:①触发器可以通过数据库中的相关表实现级联无痕更改操作。

②保证数据安全,进行安全校验五、实训题11. 请在shop数据库中创建一个存储过程,以订单编号为参数,输出该订单的商品信息。

mysql> DELIMITER $$mysql> CREATE PROCEDURE shop.order_proc(IN order_id INT )-> BEGIN-> SELECT g.id, FROM sh_goods g-> LEFT JOIN sh_order_goods og ON g.id = og.goods_id-> WHERE og.order_id = order_id;-> END-> $$Query OK, 0 rows affected (0.01 sec)mysql> DELIMITER ;2. shop.sh_order_goods表上创建一个触发器,当添加订单-商品信息时,修改sh_goods表中对应商品的库存量。

数据库技术与应用第二版课后答案

数据库技术与应用第二版课后答案

数据库技术与应用第二版课后答案【篇一:数据库技术与应用sql习题答案】class=txt>4. 启动查询分析器,在查询分析器中使用transact-sql 语句create database创建studb数据库。

然后通过系统存储过程sp_helpdb查看系统中的数据库信息create database studbsp_helpdb5. 在查询分析器中使用transact-sql语句alter database修改studb数据库的设置,指定数据文件大小为5mb,最大文件大小为20mb,自动递增大小文1mb。

alter database studbmodify file(name=studb,size=5mb,maxsize=20mb,filegrowth=1mb)7. 使用企业管理器将studb数据库的名称更改为student_db。

alter database studbmodify name=student_db8. 使用transact-sql语句drop database删除student_db数据库。

drop database student_db实验3 sql server 数据表的管理5. 使用transact-sql语句create table在studentsdb数据库中创建grade表。

create table grade(学号 char(4),课程编号 char(4),分数 decimal(5))8. 使用transact_sql语句insert into...values向studentsdb数据库的grade表插入以下数据:学号课程编号分数0004 0001 80use studentsdbgoinsert into gradevalues(0004,0001,80)9. 使用transact_sql语句alter table修改curriculum表的“课程编号”列,使之为非空。

数据库技术与应用课后答案

数据库技术与应用课后答案

<<数据库技术与应用——Visual FoxPro 6.0篇>>练习题答案第1章练习题答案一、选择题题号 1 2 3 4 5 6 7 8 9 10答案 B A A D C B B B A A二、填空题1、数据定义、数据操纵2、文件系统阶段、数据库系统阶段3、属性、字段、元组、记录4、关键字5、域6、属性、属性到域的映象7、关系、关系8、投影9、选择运算、投影运算10、连接运算、自然连接三、简答题1、答:数据库(DataBase)是被长期存放在计算机内、有组织的、可以表现为多种形式的可共享的数据集合。

数据库管理系统(DataBase Management System,简称DBMS)是计算机系统软件,它的职能是有效地组织和存储数据、获取和管理数据,接受和完成用户提出的访问数据的各种请求。

数据库系统是指拥有数据库技术支持的计算机系统,它可以实现有组织地、动态地存储大量相关数据,提供数据处理和信息资源共享服务。

数据库系统是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。

2、答:关系是一张二维表,每个关系有一个关系名。

在计算机中,一个关系可以存储为一个文件。

在Visual FoxPro中,一个关系就是一个表文件。

元组是二维表中水平方向的行,有时也叫做一条记录。

属性是二维表中垂直方向的列,有时也叫做一个字段。

3、答:数据库系统由四部分组成:硬件系统、系统软件、数据库应用系统和各类人员。

4、答:常用的数据模型有层次模型、网状模型和关系模型。

层次模型的特点是:形状象一棵倒立的树,有且仅有一个结点无父结点,这个结点称为根结点,其他结点有且仅有一个父结点。

网状模型的特点是:形状象一张网,允许一个以上的结点无父结点,一个结点可以有多于一个的父结点。

关系模型的特点是:在关系中,数据的逻辑结构是一张二维表。

该表满足每一列中的分量是类型相同的数据;列的顺序可以是任意的;行的顺序可以是任意的;表中的分量是不可再分割的最小数据项,即表中不允许有子表;表中的任意两行不能完全相同。

MySQL数据库技术与应用(慕课版)课后习题答案

MySQL数据库技术与应用(慕课版)课后习题答案

第1章数据库概述1.填空题(1)Oracle(2)U 1U 2U 4U(3)体积小、安装成本低、速度快、源码开放(4)Memcached、Redis、mongoDB(5)大、中、小型网站中2.选择题(1)A(2)B(3)A(4)A(5)D3.简答题(1)常见的关系型数据库有MySQL、Oracle、SQL Server和Access数据库。

MySQL数据库主要应用在广泛地应用到互联网上的大、中、小型网站中;Oracle数据库主要应用在传统大企业、政府机构、金融机构、证券机构等;SQL Server数据库主要应用在部分电商和使用Windows 服务器平台的企业;Access数据库早期应用于小型程序系统ASP + Access、系统留言板、校友录等。

(2)关系型数据库按照结构化的方法存储数据,具备纵向扩展能力,采用结构化查询语言,强调ACID规则,强调数据的强一致性,可以控制事务原子性细粒度,并且一旦操作有误或者有需要,可以回滚事务。

非关系型数据库不需要固定的表结构,一般情况下也不存在对数据的连续操作。

不同点:关系型数据库使用表结构,非关系型的数据库格式灵活。

关系型数据库支持SQL语言,支持事务,非关系型数据库不提供SQL语言,无事务处理。

相对于关系型数据库,非关系型数据库在大数据存取上具备无法比拟的性能优势。

(3)应该注意MySQL的版本和开发人员使用的版本。

第2章环境的安装与基本配置1.填空题(1)Ubuntu CentOS Red Hat(2)RPM包二进制包源码包(3)仅主机模式NAT模式桥接模式(4)数据库语言(5)Mysqladmin、mysqldump等命令2.选择题(1)A(2)B(3)B(4)D(5)D3.简答题(1)在企业中应该使用源码编译方式安装MySQL,使用源码安装在编译安装过程可以设定参数,按照需求,进行安装,并且安装的版本,可以自己选择,灵活性比较大。

(2)VMware虚拟平台提供3种网络模式。

(完整版)《数据库原理及应用》课后习题参考答案解析

(完整版)《数据库原理及应用》课后习题参考答案解析

《数据库原理与应用》课后习题参考答案第一章作业参考答案1. 单选题 C C D B C2. 判断题对错错错对3填空题网状模型用户商业智能数据挖掘系统设计4简答题1)数据模型是指描述事物对象的数据组成、数据关系、数据约束的抽象结构及其说明。

数据模型是指描述事物对象的数据组成、数据关系、数据约束的抽象结构及其说明。

数据模型是指描述事物对象的数据组成、数据关系、数据约束的抽象结构及其说明。

3)数据约束:用于描述数据结构中数据之间的语义联系、数据之间的制约和依存关系,以及数据动态变化的规则。

主流数据库采用关系图模型。

数据库典型数据模型:层次数据模型网状数据模型关系数据模型其它数据模型(如对象数据模型、键值对数据模型、列式数据模型。

)2)数据库——是一种依照特定数据模型组织、存储和管理数据的文件,数据库文件一般存放在辅助存储器以便长久保存。

数据库具有如下特点:数据不重复存放;提供给多种应用程序访问;数据结构独立于使用它的应用程序;对数据增、删、改、检索由统一软件进行管理和控制。

3)数据库(Database)是一种依照特定模型组织、存储和管理数据的数据结构。

在数据库中,不仅存放了数据,而且还存放了数据与数据之间的关系。

数据库内部元素:用户表:用户在数据库中创建的数据库表;系统表:数据库中系统自带的数据库表;视图:数据库中用于对数据进行查询的虚拟表;索引:数据库中用于加快数据查询的索引项;约束:数据库中对数据、数据关系施加的规则;存储过程:数据库内部完成特定功能处理的程序;触发器:数据库内部因数据变化自动执行的一类存储过程等等4)数据库系统包括:用户、数据库应用程序、数据库管理系统和数据库四个组成要素。

5)数据库管理系统(Database Manage System,DBMS )——是一种专门用来创建数据库、管理数据库、维护数据库,并提供对数据库访问的系统软件。

数据库管理系统(DBMS)主要功能:创建数据库和表; 创建支持结构,如索引等; 读取数据库数据 ; 修改数据库数据; 维护数据库结构; 执行规则; 并发控制; 提供安全性;执行备份和恢复等等第二章作业参考答案1 单选题 C B D A A2. 判断题对对错对错3填空题全外连接数据约束候选键用户定义完整性4简答题外码键1)在关系模型中,使用“关系”来存储“实体”中的数据。

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

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

解:
重要性:关系系统的查询优化既是RDBMS 实现的关键技术又是关系系统的优点所在。

它减轻了用户选择存取路径的负担。

用户只要提出“干什么”,不必指出“怎么干”。

查询优化的优点不仅在于用户不必考虑如何最好地表达查询以获得较好的效率,而且在于系统可以比用户程序的“优化’做得更好。

可能性:这是因为:①优化器可以从数据字典中获取许多统计信息,例如关系中的元组数、关系中每个属性值的分布情况、这些属性上是否有索引、是什么索引(B +树索引还是HASH 索引或惟一索引或组合索引)等。

优化器可以根据这些信息选择有效的执行计划,而用户程序则难以获得这些信息。

②如果数据库的物理统计信息改变了,系统可以自动对查询进行重新优化以选择相适应的执行计划。

在非关系系统中必须重写程序,而重写程序在实际应用中往往是不太可能的。

③优化器可以考虑数十甚至数百种不同的执行计划,从中选出较优的一个,而程序员一般只能考虑有限的几种可能性。

④优化器中包括了很多复杂的优化技术,这些优化技术往往只有最好的程序员才能掌握。

系统的自动优化相当于使得所有人都拥有这些优化技术。

2. 试述查询优化的一般准则。

解:
查询优化的一般准则:
①选择运算优先原则
②投影运算优先原则
③笛卡尔积合并规则
④提取公共表达式规则
⑤必要的预处理
3. 试述查询优化的一般步骤。

解:
各个关系系统的优化方法不尽相同,大致的步骤可以归纳如下:①把查询转换成某种内部表示,通常用的内部表示是语法树。

②把语法树转换成标准(优化)形式。

即利用优化算法,把原始的语法树转换成优化的形式。

③选择低层的存取路径。

④生成查询计划,选择代价最小的。

4. 对学生—课程数据库有如下的查询:
SELECT Cname
FROM Student, Course, SC
WHERE Student.Sno=SC.Sno AND
o=o AND
Student.Sdept=’IS’ ;
此查询要求信息系学生选修了的所有课程名称。

试画出用关系代数标识的语法树,并用关系代数表达式优化算法对原始的语法树进行优化处理,画出优化后的标准语法树。

解:
其关系代数表达式为:
πCname (σsdept=′IS ′(σStudent.Sno=SC.Sno ( σo=o (Student)×SC)×Course))
用关系代数表达式优化算法对原关系代数表达式进行优化,优化后的关系代数表达式如下:πCname (σo=o ((σ
Student.Sno=SC.Sno (πsno (σsdept=′IS ′(Student )×πSno,Cno (SC)))×
πCno ,Cname (Course)
用关系代数表示的语法树如左图所示,优化处理后的标准语法树如右图所示。

Cname
π'
'IS Sdept =σ⨯
⨯Student SC Course
Cno
SC Cno Course ..=σSno
SC Sno Student ..=σ
Cname π''
IS Sdept
=σ⨯⨯Student SC Course Cno SC Cno Course ..=σSno SC Sno Student ..=σSno πCno Sno ,πCname Cno ,π。

相关文档
最新文档