mysql数据库武洪萍版第五章习题与答案
第五章
1.选择题
1.下列关于SQL语言索引(Index)的叙述中,哪一条是不正确的(C)。
A. 索引是外模式
B. 一个基本表上可以创建多个索引
什么是关系数据库C. 索引可以加快查询的执行速度
D. 系统在存取数据时会自动选择合适的索引作为存取路径
2.为了提高特定查询的速度,对SC(S#,C#,DEGREE)关系创建唯一性索引,应该创建在哪一个属性(组)上?(A
A. (S#,C#)                B. (S#,DEGREE)
C.  (C#,DEGREE)            D. DEGREE
3.设 S_AVG(SNO,AVG_GRADE)是一个基于关系SC 定义的学号和他的平均成绩的视图。下面对该视图的操作语句中,(A)是不能正确执行的。
Ⅰ. UODATE S_AVG SET AVG_GRADE=90 WHERE SNO=’2004010601’
Ⅱ. SELECT SNO,AVG_GRADE FROM S_AVG WHERE SNO=’2004010601’
A . 仅Ⅰ  B. 仅 Ⅱ      C. 都能  D.都不能
4.在视图上不能完成的操作是(C)。
A. 更新视图        B. 查询
C. 在视图上定义新的基本表      D. 在视图上定义新视图
5.在SQL语言中,删除一个视图的命令是(B)。
A. DELECT    B. DROP      C. CLEAR    D. UNION
6.为了使索引建的值在基本表中唯一,在创建索引的语句中应使用保留字()。
A. UNIQUE      B. COUNT          C. DISTINCT    D.UNION
7.创建索引是为了(A)。
A. 提高存取速度                    B. 减少I/O
C. 节约空间                        D. 减少缓冲区个数
8.在关系数据库中,视图(View    )是三级模式结构中的(D)。
A. 内模式    B. 模式  C. 存取模式    D.    外模式
9.视图是一个“虚表”,视图的构造基于(A)。
Ⅰ.基本表      Ⅱ. 视图        Ⅲ. 索引
10.已知关系:STUDENT(Sno,Sname,Grade),以下关于命令”CREATE INDEX S index ON STUDENT(Grade)”  的描述中,正确的是(B)。
A. 按成绩降序创建了一个普通索引
B. 按成绩升序创建了一个普通索引
C. 按成绩降序创建了一个全文索引
D. 按成绩升序创建了一个全文索引
11.在关系数据库中,为了简化用户的查询操作,而又增加数据的存储空间,则应该创建的数据库对象是(D)。
A. Table(表)                        B. Index(索引)
C. Cursor(游标)                      D. View(视图)
12.下面关于关系数据库视图的描述,不正确的是(A
A. 视图是关系数据库三级模式中的内模式
B. 视图能够对机密数据提供安全保护
C. 视图对重构数据库提供了一定程度的逻辑独立性
D. 对视图的一切操作最终要转换为对基本表的操作。
13.触发器的触发事件有3种,下面哪一种是错误的?(C
A. UPDATE    B. DELECT      C. ALTER      D. INSERT
14.下列几种情况下,不适合创建索引的是(A)。
A. 列的取值范围很少            B. 用作查询条件的列
C. 频繁搜索范围的列            D. 连接中频繁使用的列
15. CREATE UNIQUE INDEX writer_index ON 作者信息(作者编号)语句创建了一个(A)索引。
A. 唯一性索引    B. 全文索引    C.  普通索引      D. 空间索引
16.存储过程和存储函数的相关信息是在(B)数据库中存放。
A. mysql  B.  Information_schema      C. Performance_schema    D. Test
17.一个触发器能定义在多少个表中?(A
A. 只有一个      B. 一个或多个        C.一个到3个    D. 任意多个
18. 下面选项中不属于存储过程和存储函数的优点的是(D)。
A. 增强代码的重用性和共享性      B. 可以加快运行速度,减少网络流量
C. 可以作为安全性机制            D. 编辑简单
19. 一个表上可以有(C)不同类型的触发器。
A. 一种  B. 两种      C.  3种      D. 无限制
20. 使用(D)语句删除触发器 trig_Test。
A. DROP *FROM Trig_Test
B. DROP trig_Test
C. DROP TRIGGER WHERE NAME=’trig_Test’
D. DROP TRIGGER trig_Test
2、填空题
1. 视图是从 一个或几个基本表或者视图中导出的表,数据库中实际存放的是视图的 定义,而不是视图对应的数据
2. 当对视图进行 UPDATE、INSERT和DELETE 操作时,为了保证被操作的行为满足视图定义中子查询语句的谓词条件,应在视图定义语句中使用可选择项WITH CHECK OPTION
3. SQL语言支持数据库3级模式结构。在SQL中,外模式对应于 视图 和部分基本表,模式对应于基本表全体,内模式对应于存储文件。
4. 如果在视图中删除或修改一条记录,则相应的 基本表 也随着视图更新。
5. MySQL系统中,有两种基本类型的索引: 普通 唯一
6. 创建唯一性索引时,应保证创建索引的列不包括重复的数据,并且没有两个或两个以上
的空值。如果有这种数据,必须先将其 删除 ,否则索引不能成功创建。
7. 存储过程和存储函数的相关信息在 routines 表中存放,触发器的相关信息在 triggers
8. MySQL中,触发器的执行时间有两种,before after
3、简答题
1.简述索引的作用。
答:
索引依赖于表建立,提供了数据库中编排表中数据的内部方法,使用索引可以从大量的数据中迅速到所需要的数据,不再检索整个数据库,大大提高检索的效率。
2.视图与表有何不同?
答:
视图是从一个或多个基本表或视图中导出的虚拟表,数据库中只存放其定义,并不直接存
储视图对应的数据,直到用户使用视图时才去查对应的数据。
    视图可以像基本表一样实现数据的查询操作,对视图的插入、修改、删除操作最终转换为对相应的基本表的操作,但有一定的限制。
3.简述存储过程、触发器各自的特点,总结并讨论各适用于何处。
答:
存储过程的特点:增强了SQL语言的功能和灵活性、允许标准组件式编程、能实现较快的执行速度、能减少网络流量、可作为一种安全机制来充分利用。
触发器的特点:触发器自动执行、可通过数据库中的相关表进行层叠更改、可以强制限制。
4什么是游标?为什么要使用游标?
答:
游标在MySQL中是一种数据访问机制,允许用户访问单独的数据行,而不是对整个行集进行操作。
5简述视图的优缺点。
答:
优点:
(1)简化对数据的操作。视图可以简化用户操作数据的方式。
(2)自定义数据。视图能够让不同用户以不同方式看到不同或相同的数据集,即使不同水平的用户公用同一数据时也是如此。
(3)数据集中显示。
(4)导入和导出数据。可以使用视图将数据导入或导出。
(5)合并分割数据。
(6)安全机制。视图可以作为一种安全机制。
缺点:6
6.通过视图修改数据需要遵循哪些准则?
答:
如果视图中有下面所述属性,则插入、更新或删除操作将失败。
1)视图定义中的FROM子句包含两个或多个表,且SELECT选择列表达式中的列包含来自多个表的列。
2)视图的列是从集合函数派生的。
3)视图中的SELECT语句包含GROUP BY子句或DISTINCT选项。
4)视图的列是从常量或表达式派生的。
7.利用索引检索数据有哪些优点?
答:
1)索引可以提高数据的访问速度。
      2)索引可以确保数据的唯一性。
8. 如何创建一个存储过程和函数?
答:
1.创建存储过程
1)利用CREATE PROCEDURE语句创建。用户可以使用CREATE PROCEDURE语句创建存储过程,其基本语法如下。
CREATE PROCEDURE procedure_name([proc_parameter[,]])
[characteristic[,]]
Routine_body
2)利用Navicat图形工具创建。
2.创建存储函数
1)利用CREATE FUNCTION语句创建。MySQL中,创建存储函数的基本语法如下。
CREATE FUNCTION func_name([func_parameter[,]])
RETURNS type 
[characteristic[,]]
Routine_body
3)利用Navicat图形工具创建。
9.在什么情况下要使用事务?事务有哪些属性?
答:
事务处理机制在程序开发过程中有着非常重要的作用,它可以使整个系统更加安全,能够保证数据库操作的一致性和完整性,可以确保同时发生的行为与数据的有效性不发生冲突。
10.各种触发器的触发顺序是什么?
答:
INSERT触发器:将新行插入表时激活触发程序。
      UPDATE触发器:更改某一行时激活触发程序。
      DELETE触发器:从表中删除某一行时激活触发程序。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。