MySQL数据库原理及应用(第2版)(微课版)-习题答案 下载本文

内容发布更新时间 : 2024/12/23 0:11:14星期一 下面是文章的全部内容请认真阅读。

(11) (16) (21) B C B (12) (17) (22) A C C (13) (18) (23) D C B (14) (19) (24) A D A (15) (20) C B 2.填空题 (1)R.A=S.A

(2)WHERE GROUP BY HAVING ORDER BY ASC DESC Distinct LIKE % _(下划线) (3)嵌套子查询(不相关子查询) 相关子查询

(4)BETWEEN 20 AND 22(或:>=20 and age<=22) (5)πSname (σGrade<60(SC∞S) ) (6)sc.c#=c.c# (7)UPDATE SC SET (8)DROP

(9)DELETE FROM aa;

3.综合练习题

①SELECT COUNT(DISTINCT C#) FROM SC;

②SELECT AVG(AGE) FROM S WHERE S# IN (SELECT S# FROM SC WHERE C#=‘C4’); 或:SELECT AVG(AGE) FROM S,SC WHERE S.S#=SC.S# AND C#=‘C4’;

③SELECT AVG(GRADE) FROM SC WHERE C# IN (SELECT C# FROM C WHERE TEACHER=‘李文’) GROUP BY C#

或:SELECT AVG(GRADE) FROM SC,C WHERE C.C#=SC.C# AND TEACHER=‘李文’GROUP BY SC.C#

④SELECT SNAME,AGE FROM S WHERE SNAME LIKE ‘王%’

⑤INSERT INTO STUDENT SELECT S#,SNAME,SEX FROM S WHERE EXISTS (SELECT * FROM SC WHERE S.S#=SC.S# GROUP BY S# HAVING MIN(GRADE)>=80) 或:

INSERT INTO STUDENT SELECT S#,SNAME,SEX FROM S WHERE SNO IN (SELECT SNO FROM SC GROUP BY S# HAVING MIN(GRADE)>=80)

项目7 习题答案 1.选择题

题号 (1) (6) (11) 答案 题号 A A D (2) (7) (12) 答案 题号 A A A (3) (8) (13) 答案 题号 A D A (4) (9) (14) 答案 题号 C A A (5) (10) 答案 B B 2.填空题

(1)一个或多个基本表或已定义的视图 定义 数据 (2)WITH CHECK OPTION (3)视图 (4)基本表

(5)普通索引 唯一索引 (6)删除 3.简答题

(1)索引依赖于表建立,提供了数据库中编排表中数据的内部方法,使用索引可以从大量的数据中迅速找到所需要的数据,不再检索整个数据库,大大提高检索的效率。

(2)视图是从一个或多个基本表或视图中导出的虚拟表,数据库中只存放其定义,并不直接存储视图对应的数据,直到用户使用视图时才去查找对应的数据。

视图可以像基本表一样实现数据的查询操作,对视图的插入、修改、删除操作最终转换为对相应的基本表的操作,但有一定的限制。

(3)使用视图具有如下优点: 1)简化对数据的操作 2)自定义数据 3)数据集中显示 4)导入导出数据 5)合并分割数据 6)安全机制

(4)如果视图中有下面所述属性,则插入、更新或删除操作将失败。

1)视图定义中的FROM子句包含两个或多个表,且SELECT选择列表达式中的列包含来自多个表的列。

2)视图的列是从集合函数派生的。

3)视图中的SELECT语句包含GROUP BY子句或DISTINCT选项。 4)视图的列是从常量或表达式派生的。 (5)1)索引可以提高数据的访问速度。 2)索引可以确保数据的唯一性。 项目8 习题答案 1.选择题 题号 (1) 答案 题号 C (2) 答案 题号 A (3) 答案 题号 A (4) 答案 题号 D (5) 答案 题号 C (6) 答案 D 2.填空题

(1)routines triggers (2)before after 3.简答题

(1)存储过程的特点:增强了SQL语言的功能和灵活性、允许标准组件式编程、能实现较快的执行速度、能减少网络流量、可作为一种安全机制来充分利用。

触发器的特点:触发器自动执行、可通过数据库中的相关表进行层叠更改、可以强制限制。

(2)游标在MySQL中是一种数据访问机制,允许用户访问单独的数据行,而不是对整个行集进行操作。

(3)创建存储过程 1)利用CREATE PROCEDURE语句创建。用户可以使用CREATE PROCEDURE语句创建存储过程,其基本语法如下。

CREATE PROCEDURE procedure_name([proc_parameter[,…]]) [characteristic[,…]] Routine_body

2)利用Navicat图形工具创建。 创建存储函数

1)利用CREATE FUNCTION语句创建。在MySQL中,创建存储函数的基本语法如下。 CREATE FUNCTION func_name([func_parameter[,…]]) RETURNS type

[characteristic[,…]] Routine_body

2)利用Navicat图形工具创建。

(4)事务处理机制在程序开发过程中有着非常重要的作用,它可以使整个系统更加安全,能够保证数据库操作的一致性和完整性,可以确保同时发生的行为与数据的有效性不发生冲突。

事务的特性有:原子性、一致性、隔离性、持久性。 (5)INSERT触发器:将新行插入表时激活触发程序。 UPDATE触发器:更改某一行时激活触发程序。

DELETE触发器:从表中删除某一行时激活触发程序。 项目9 习题答案 1.选择题 题号 (1) (6) 答案 题号 D D (2) (7) 答案 题号 B C (3) 答案 题号 B (4) 答案 题号 A (5) 答案 D 2.填空题

(1) user db tables_priv columns_priv procs_priv (2) 连接核实阶段 请求核实阶段 (3)GRANT REVOKE 3.问答题(略) (1)(略)

(2)参考课本P236 图9.1

(3)全局层级:作用于一个给定服务器上的所有数据库。 数据库层级:作用于一个给定数据库的所有表。 表层级:作用于一个给定表的所有列。 列层级:作用于一个给定表的单个列。

子程序层级:权限可以授予全局层级和数据库级别。

(4)二进制日志:以二进制文件的形式记录了数据库中所有更改数据的语句。

错误日志:记录MySQL服务的启动、关闭和运行错误等信息。 通用查询日志:记录用户登录和记录查询的信息。

慢查询日志:记录执行时间超过指定时间的查询操作或不使用索引的查询。

(5)数据备份就是制作数据库结构、对象和数据的复制,以便在数据库遭到破坏时,或因需求改变而需要把数据还原到改变以前时能够恢复数据库。在系统发生错误或者因需求改变时,利用备份的数据可以恢复数据库中的数据。 (6)1.使用Navicat图形工具备份

2.使用mysqldump命令备份

1)备份数据库或表。mysqldump备份数据库或表的基本语法格式如下。 mysqldump –u user –h host –ppassword dbname[tbname,[tbname…]]>filename.sql; 2)备份多个数据库。

使用mysqldump备份多个数据库,需要使用--databases参数,其基本语法格式如下。 mysqldump –u user –h host –p --databases dbname[ dbname…]]>filename.sql; 3.直接复制整个数据库文件夹