内容正文:
《数据库原理与应用技术-MySQL》河北科学技术出版社
第八章 MySQL索引与视图
考试时间:90分钟 满分:100分
姓名 班级 学号
1. 单项选择题(本题共25小题,每题2分,共50分)
1、列不属于常用辅助索引的是( )。
A.主键索引 B.普通索引
C. 唯一索引 D.全文索引
【答案】A
【解析】常用辅助索引包括:普通索引、唯一索引、全文索引和空间索引。
2、在数据库中,一张表可以有( )个主键索引
A.1 B.2
C.3 D.多个
【答案】A
【解析】一张表只能有一个主键索引。
3、根据创建索引的字段个数,可以将索引分为单列索引和( )
A.普通索引 B.唯一索引
C.复合索引 D.全文索引
【答案】C
【解析】根据创建索引的字段个数,可以将索引分为单列索引和复合索引。
4、关于索引,下列说法错误的是( )
A.索引同书的目录一样,可以根据索引快速找到相关的内容
B.索引在逻辑上可以分为主键索引和辅助索引两类
C.索引可以提高数据查询速度
D.索引可以提高数据更新速度
【答案】D
【解析】索引可以提高数据查询速度,降低数据更新速度。
5、在索引分类中,FULLTEXT表示( )。
A.全文索引 B.唯一索引
C.空间索引 D.普通索引
【答案】A
【解析】全文索引用FULLTEXT表示。
6、UNIQUE唯一索引的作用是( )。
A.保证各行在该索引上的值都不重复
B.保证各行在该索引上的值不得为NULL
C.保证参加唯一索引的各列,不得再参加其他的索引
D.保证唯一索引不能被删除
【答案】A
【解析】唯一索引就是为了保证各行在该索引上的值都不重复,故选A。
7、下面关于索引的描述正确的是( )
A.使用索引可以提高数据的查询速度和更新速度
B.使用索引对数据的查询速度和更新速度都没有影响
C.使用索引可以提高数据查询速度,但会降低数据更新速度
D.在一个表中应大量使用索引
【答案】C
【解析】使用索引可以提高数据查询速度,但会降低数据更新速度,故C项正确。
8、以下关于主键索引的描述正确的是( )。
A.唯一标识表中每一行的属性 B.创建唯一的索引,允许空值
C.只允许以表中第一字段建立 D.表中允许有多个主键索引
【答案】A
【解析】主键索引可以唯一表示每一个实体,一个表允许有一个主键索引,且主键所以不能为空,故选A。
9、在一个已有表上创建索引的语句是( )。
A.ALTER INDEX语句 B.CREATE TABLE语句
C.CREATE DATABASE语句 D.CREATE INDEX语句
【答案】D
【解析】在一个已有表上创建索引的语句CREATE INDEX。
10、删除“T_STU”数据表中名为“IDX_STUNO”的索引的语句是( )。
A. DROP INDEX T_STU ON IDX_STUNO B. DROP INDEX IDX_STUNO ON T_STU
C. ALTER TABLE IDX_STUNO DROP INDEX T_STU D. ALTER TABLE T_STU DROP IDX_STUNO
【答案】B
【解析】删除索引的命令两个:ALTER TABLE 表名 DROP INDEX 索引名;或者DROP INDEX 索引名 ON 表名;故选择B。
11、关于视图,下列说法错误的是( )
A.视图是虚拟表
B.视图与表一样,可以存储数据
C.视图可以像表一样进行查询、添加、修改和删除操作
D.视图中保存的是SQL语句
【答案】B
【解析】视图是虚拟表,不存储数据,存储的是SQL定义。
12、下列选项中不,不属于视图优点的是( )。
A.简单性 B.安全性
C. 逻辑数据独立性 D.物理数据独立性
【答案】D
【解析】视图的特点有:安全性、简单性、逻辑数据独立性。
13、下列选项中,查看视图“student_view”的基本信息、结构信息和定义文本的命令错误的是( )。
A. SHOW TABLE STATUS LIKE ‘student_view’
B. SHOW CREATE VIEW ‘student_view’
C. DESCRIBE ‘student_view’
D. SHOW INDEX FROM ‘student_view’
【答案】D
【解析】A项查看视图的基本信息,B项查看视图的定义文本信息,C项查看视图的结构信息,故D项错误。
14、在SQL语言中,删除一个视图的关键字是( )。
A. DELECT B.DROP
C.CLEAR D. UNION
【答案】B
【解析】删除视图使用DROP VIEW 视图名,故选B。
15、下面( )是创建索引的保留字。
A. CREATE PROCEDURE B. CREATE VIEW
C. CREATE INDEX D. ALTER INDEX
【答案】C
【解析】创建索引的保留字是CREATE INDEX。
16、已知表S(sno,sname,sex,birthday,dept),分别表示学号、姓名、性别、出生日期,系部,创建一个视图,统计各个系部的学生人数,下面语句正确的是( )。
A. CREATE VIEW SELECT dept,count(*)FROM s;
B. CREATE VIEW V_dept SELECT dept ,count(*) FROM s GROUP BY dept;
C. CREATE VIEW V_dept AS SELECT dept, count(*) FROM s GROUP BY dept;
D. CREATE V_dept AS SELECT dept,count(*) FROM s GROUP BY dept;
【答案】C
【解析】创建视图的格式:CREATE VIEW 视图名(列1,列2……) as select 语句,该题中要统计各个系部的人数则需要按照系部分组进行统计,故选B。
17、创建索引是为了( )。
A.提高检索速度 B.减少I/O
C.节约空间 D.减少缓冲区个数
【答案】A
【解析】创建索引的目的是提交检索速度。
18、要求视图的更新必须满足查询中的条件,在视图建立语句中应使用()。
A. WITH CHECK OPTION B. WITH UPDATE
C. WITH DELETE D. WITH INSERT
【答案】A
【解析】WITH CHECK OPTION作用是视图更新时必须满足查询中的条件,故选C。
19、视图是一种特殊类型的表,下面叙述中正确的是( )。
A.视图是由自己的专门表组成 B.视图仅由窗口部分组成
C.视图自己存储着所需要的数据 D.视图所反映的是一个表和若干表的局部数据
【答案】D
【解析】A选项:视图不是由专门表组成,它是基于查询的虚拟表,无独立存储数据的“专门表”,错误。
B选项:“仅由窗口部分组成” 无数据库理论依据,视图基于对基表的查询定义,错误。
C选项:视图不存储数据,数据来自基表,查询视图时从基表取数,错误。
D选项:视图通过查询基表(一个或多个),筛选出局部数据呈现,反映一个/若干表的局部数据,正确 。
20、以下哪项操作可用于创建视图?( )
A. UPDATE B. DELETE C. INSERT D. SELECT
【答案】D
【解析】SELECT语句可以用来创建视图,故选D 。
21、视图不能实现( )的功能。
A.控制操作表的列和记录
B.把常用多表查询变成对视图的简单操作
C.更新原表内容
D.修改原表结构
【答案】D
【解析】A:视图可通过定义筛选规则,限制操作表显示的列和记录(如仅选“学生表”部分列、部分成绩段记录 ),能实现。
B:多表关联查询逻辑复杂,视图可封装该逻辑,后续查视图就像查单表,简化操作,能实现。
C:符合条件的视图(如简单单表视图,无复杂计算、分组 ),更新视图会同步更新原表,能实现。
D:视图是基于原表的“虚拟表”,仅存查询逻辑,无法修改原表结构(如增减列、改数据类型 ),原表结构需用 ALTER TABLE 等语句修改,不能实现。
22、数据库中存放三个关系:学生(学号,姓名)和课程(课程号,课程名)和成绩(学号、课程号、成绩),为快速查出某位学生所学的课程名,应该( )。
A.在学生表上按学号建索引 B.在成绩表上按课程号建索引
C.在课程表上按课程号建索引 D.在成绩表上按学号建索引
【答案】C
【解析】要快速查“某学生所学课程名”,需关联学生→成绩→课程:
学生表学号索引(A):只能加速学生表自身查询,无法关联课程,没用。
成绩表课程号索引(B):是按课程号找成绩,而非按学生找课程,方向错,没用。
课程表课程号索引(C):只能加速课程表查询,无法关联到“某学生”,没用。
成绩表学号索引(D):能快速定位“某学生”在成绩表的记录(含课程号 ),再用课程号关联课程表查课程名,直接满足需求,正确。
23、下列几种情况下,不适合创建索引的是( )
A.列的取值范围很少 B.用作查询条件的列
C、频繁查询范围的列 D.查询连接中频繁使用的列
【答案】A
【解析】A:列取值范围少(如性别列,仅“男/女” ),索引无法有效缩小查询范围,还会增加存储、维护成本,不适合建索引。
B:查询条件列(如按“学号”查学生 ),索引能快速定位数据,适合建索引。
C:频繁范围查询列(如查“成绩80 - 90分” ),索引可加速范围扫描,适合建索引。
D:连接查询高频列(如多表连接用“用户ID”关联 ),索引能加速表关联匹配,适合建索引。
24、下列关于索引的说法中,正确的是( )。
A.一个表可以建立多个主键索引
B.索引只能建立在1个字段上
C.索引可以加快表之间连接的速度
D.可以使用ADD INDEX语句创建索引
【答案】C
【解析】A:一个表仅能设1个主键索引(主键唯一标识表记录,多主键逻辑冲突 ),错误。
B:索引可基于单个或多个字段(如复合索引,组合多字段加速查询 ),错误。
C:表连接时,索引能帮数据库快速定位关联数据,加速连接操作,正确。
D:标准 SQL 用 CREATE INDEX 创建索引,ADD INDEX 不是通用语法(部分数据库如 MySQL也无此写法),错误。
25、数据库中存放两个关系:教师(教师编号,姓名)和课程(课程号,课程名,教师编号),为快速查出某位教师所讲授的课程,应该( )。
A.在教师表上按教师编号建索引 B.在课程表上按课程号建索引
C.在课程表上按教师编号建索引 D.在教师表上按姓名建索引
【答案】C
【解析】需求:快速通过“教师”关联“课程”,需让数据库能依据“教师编号”,高效从“课程表”找对应课程。故需要在课程表的“教师编号”创建索引,这样数据库快速定位到该教师编号对应的课程记录,直接满足“查某教师授课”需求,正确,故选C。
二、填空题(本题共10小题,每题2分,共20分)
1、删除“学生信息表”中索引名为IDX_STUNAME的索引的语句:ALTER TABLE 学生信息表_______,请补充完整。
【答案】DROP INDEX IDX_STUAME
2、在创建索引时,创建空间索引的关键字是 。
【答案】SPATIAL
3、在MySQL数据库中辅助索引包括普通索引、 、全文索引、空间索引
【答案】唯一索引
4、 MySQL数据库中,在建好的表中创建一个主键索引,可使用语句: 。
【答案】ALTER TABLE
5、可以使用 命令查看表上的索引。
【答案】SHOW INDEX FROM 表名;
6、在创建 索引时,不附加任何的限制条件。这类索引可以创建在任何数据类型上。
【答案】普通索引
7、当一个索引不再需要时,可以使用 语句将其从数据库中删除。
【答案】DROP INDEX
8、 _______只是针对创建索引所在的列,是指在表的单个列上创建的索引。
【答案】单列索引
9、在关系数据库中,为了简化用户的查询操作,而又不增加数据的存储空间,则应该创建的数据库对象是 。
【答案】视图
10、唯一索引值必须唯一,但允许有空值。如果是多列索引,则列组合的值必须
【答案】唯一
3、 判断题(本题共10小题,每题2分,共20分)
1、在使用CREATE INDEX关键字创建索引时不能创建主键索引。( )
【答案】正确。使用CREATE INDEX关键字创建索引时不能创建主键索引。
2、删除表中的列时,会删除与该列相关的索引信息。( )
【答案】正确。索引时基于列创建的,当删除列时,与该列相关的索引也会删除。
3、视图是从一个或几个表或视图中导出的虚拟表,可以像表一样使用。( )
【答案】正确。视图是虚拟表,但可以像表一样使用。
4、视图的优点是可以提高数据安全性,用户只能看到和修改可见的数据。( )
【答案】正确。视图可通过筛选列、行控制用户可见数据,仅开放授权内容,能限制用户对敏感数据的访问与修改,增强数据安全性。
5、在一个基本表上可以创建多个唯一索引,也可以建立多个主键索引。( )
【答案】错误。一个基本表仅能有1个主键索引(主键唯一标识记录,多主键逻辑冲突 );但可建多个唯一索引(约束字段值唯一,不冲突即可 )
6、删除视图本质上仅仅是删除视图的表结构,不会对基本表的数据产生任何影响。( )
【答案】错误。视图是基于基表的“虚拟表”,存查询逻辑不存数据。删除视图仅移除该逻辑定义,基表数据、结构不受影响。
7、SQL语言的视图定义和视图操作功能在一定程度上支持了数据的逻辑独立性。( )
【答案】正确。视图封装基表结构与数据逻辑,当基表结构变化(如增减列 ),可调整视图定义适配,对外保持查询逻辑不变,支撑数据逻辑独立性。
8、通过主键(唯一性)创建实体完整性。通过数据类型、CHECK约束、规则、DEFAULT定义和NOT NULL可以实现域完整性。
【答案】正确。实体完整性:主键(或唯一键 )确保记录唯一标识,避免重复。
域完整性:数据类型(限制值类型 )、 CHECK 约束(自定义规则 )、规则(绑定字段的验证逻辑 )、 DEFAULT (默认值 )、 NOT NULL (非空 ),共同约束字段值的合法性。
9、创建视图时,根据视图所用基表的数量分为单源表和多源表两种形式。( )
【答案】正确。视图按基表数量分两类:
单源表视图:基于1个基表创建(如仅用“学生表”做视图 )。
多源表视图:基于2个及以上基表关联创建(如“学生表+成绩表”关联做视图)
10、索引名是索引的名称,在表中索引名称必须唯一。( )
【答案】对。索引名是索引的名称,在表中索引名称必须唯一。
四、命令题(本大题共5小题,每小题2分,共10分)
已知数据表std,表结为:Student(sno,sname,sdate,ssex,sdept).其属性分别表示含义:学号。姓名,出生日期,性别,所在系
1、建立学号及出生日期的复合索引,索引名为ISC。
【答案】CREATE INDEX ISC ON student(Sno, Sdate);
2、删除所有姓刘的学生元组。
【答案】DELETE FROM student WHERE Sname like"刘%”;
3、创建视图student1视图包含所有2000年以后(包括2000年)出生的并且是男生的元组。
【答案】CREATE VIEW student1 AS select * FROM student WHERE year(sdate)>=2000 and Ssex=“男”;
4、通过视图student1.将各元组的学号改成25001,25002,25003.
【答案】UPDATE student1 SET Sno=concat(“25”,Sno);
5、删除符合索引ISC。
【答案】ALTER TABLE student DROP INDEX ISC;
或者:DROP INDEX ISC ON STUDENT;
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$$
《数据库原理与应用技术-MySQL》河北科学技术出版社
第八章 MySQL索引与视图
考试时间:90分钟 满分:100分
姓名 班级 学号
1、 单项选择题(本题共25小题,每题2分,共50分)
1、列不属于常用辅助索引的是( )。
A.主键索引 B.普通索引
C. 唯一索引 D.全文索引
2、在数据库中,一张表可以有( )个主键索引
A.1 B.2
C.3 D.多个
3、根据创建索引的字段个数,可以将索引分为单列索引和( )
A.普通索引 B.唯一索引
C.复合索引 D.全文索引
4、关于索引,下列说法错误的是( )
A.索引同书的目录一样,可以根据索引快速找到相关的内容
B.索引在逻辑上可以分为主键索引和辅助索引两类
C.索引可以提高数据查询速度
D.索引可以提高数据更新速度
5、在索引分类中,FULLTEXT表示( )。
A.全文索引 B.唯一索引
C.空间索引 D.普通索引
6、UNIQUE唯一索引的作用是( )。
A.保证各行在该索引上的值都不重复
B.保证各行在该索引上的值不得为NULL
C.保证参加唯一索引的各列,不得再参加其他的索引
D.保证唯一索引不能被删除
7、下面关于索引的描述正确的是( )
A.使用索引可以提高数据的查询速度和更新速度
B.使用索引对数据的查询速度和更新速度都没有影响
C.使用索引可以提高数据查询速度,但会降低数据更新速度
D.在一个表中应大量使用索引
8、以下关于主键索引的描述正确的是( )。
A.唯一标识表中每一行的属性 B.创建唯一的索引,允许空值
C.只允许以表中第一字段建立 D.表中允许有多个主键索引
9、在一个已有表上创建索引的语句是( )。
A.ALTER INDEX语句 B.CREATE TABLE语句
C.CREATE DATABASE语句 D.CREATE INDEX语句
10、删除“T_STU”数据表中名为“IDX_STUNO”的索引的语句是( )。
A. DROP INDEX T_STU ON IDX_STUNO B. DROP INDEX IDX_STUNO ON T_STU
C. ALTER TABLE IDX_STUNO DROP INDEX T_STU D. ALTER TABLE T_STU DROP IDX_STUNO
11、关于视图,下列说法错误的是( )
A.视图是虚拟表
B.视图与表一样,可以存储数据
C.视图可以像表一样进行查询、添加、修改和删除操作
D.视图中保存的是SQL语句
12、下列选项中不,不属于视图优点的是( )。
A.简单性 B.安全性
C. 逻辑数据独立性 D.物理数据独立性
13、下列选项中,查看视图“student_view”的基本信息、结构信息和定义文本的命令错误的是( )。
A. SHOW TABLE STATUS LIKE ‘student_view’
B. SHOW CREATE VIEW ‘student_view’
C. DESCRIBE ‘student_view’
D. SHOW INDEX FROM ‘student_view’
14、在SQL语言中,删除一个视图的关键字是( )。
A. DELECT B.DROP
C.CLEAR D. UNION
15、下面( )是创建索引的保留字。
A. CREATE PROCEDURE B. CREATE VIEW
C. CREATE INDEX D. ALTER INDEX
16、已知表S(sno,sname,sex,birthday,dept),分别表示学号、姓名、性别、出生日期,系部,创建一个视图,统计各个系部的学生人数,下面语句正确的是( )。
A. CREATE VIEW SELECT dept,count(*)FROM s;
B. CREATE VIEW V_dept SELECT dept ,count(*) FROM s GROUP BY dept;
C. CREATE VIEW V_dept AS SELECT dept, count(*) FROM s GROUP BY dept;
D. CREATE V_dept AS SELECT dept,count(*) FROM s GROUP BY dept;
17、创建索引是为了( )。
A.提高检索速度 B.减少I/O
C.节约空间 D.减少缓冲区个数
18、要求视图的更新必须满足查询中的条件,在视图建立语句中应使用()。
A. WITH CHECK OPTION B. WITH UPDATE
C. WITH DELETE D. WITH INSERT
19、视图是一种特殊类型的表,下面叙述中正确的是( )。
A.视图是由自己的专门表组成 B.视图仅由窗口部分组成
C.视图自己存储着所需要的数据 D.视图所反映的是一个表和若干表的局部数据
20、以下哪项操作可用于创建视图?( )
A. UPDATE B. DELETE C. INSERT D. SELECT
21、视图不能实现( )的功能。
A.控制操作表的列和记录
B.把常用多表查询变成对视图的简单操作
C.更新原表内容
D.修改原表结构
22、数据库中存放三个关系:学生(学号,姓名)和课程(课程号,课程名)和成绩(学号、课程号、成绩),为快速查出某位学生所学的课程名,应该( )。
A.在学生表上按学号建索引 B.在成绩表上按课程号建索引
C.在课程表上按课程号建索引 D.在成绩表上按学号建索引
23、下列几种情况下,不适合创建索引的是( )
A.列的取值范围很少 B.用作查询条件的列
C.频繁查询范围的列 D.查询连接中频繁使用的列
24、下列关于索引的说法中,正确的是( )。
A.一个表可以建立多个主键索引
B.索引只能建立在1个字段上
C.索引可以加快表之间连接的速度
D.可以使用ADD INDEX语句创建索引
25、数据库中存放两个关系:教师(教师编号,姓名)和课程(课程号,课程名,教师编号),为快速查出某位教师所讲授的课程,应该( )。
A.在教师表上按教师编号建索引 B.在课程表上按课程号建索引
C.在课程表上按教师编号建索引 D.在教师表上按姓名建索引
二、填空题(本题共10小题,每题2分,共20分)
1、删除“学生信息表”中索引名为IDX_STUNAME的索引的语句:ALTER TABLE 学生信息表_______,请补充完整。
2、在创建索引时,创建空间索引的关键字是 。
3、在MySQL数据库中辅助索引包括普通索引、 、全文索引、空间索引
4、 MySQL数据库中,在建好的表中创建一个主键索引,可使用语句: 。
5、可以使用 命令查看表上的索引。
6、在创建 索引时,不附加任何的限制条件。这类索引可以创建在任何数据类型上。
7、当一个索引不再需要时,可以使用 语句将其从数据库中删除。
8、 _______只是针对创建索引所在的列,是指在表的单个列上创建的索引。
9、在关系数据库中,为了简化用户的查询操作,而又不增加数据的存储空间,则应该创建的数据库对象是 。
10、唯一索引值必须唯一,但允许有空值。如果是多列索引,则列组合的值必须
三、判断题(本题共10小题,每题2分,共20分)
1、在使用CREATE INDEX关键字创建索引时不能创建主键索引。( )
2、删除表中的列时,会删除与该列相关的索引信息。( )
3、视图是从一个或几个表或视图中导出的虚拟表,可以像表一样使用。( )
4、视图的优点是可以提高数据安全性,用户只能看到和修改可见的数据。( )
5、在一个基本表上可以创建多个唯一索引,也可以建立多个主键索引。( )
6、删除视图本质上仅仅是删除视图的表结构,不会对基本表的数据产生任何影响。( )
7、SQL语言的视图定义和视图操作功能在一定程度上支持了数据的逻辑独立性。( )
8、通过主键(唯一性)创建实体完整性。通过数据类型、CHECK约束、规则、DEFAULT定义和NOT NULL可以实现域完整性。
9、创建视图时,根据视图所用基表的数量分为单源表和多源表两种形式。( )
10、索引名是索引的名称,在表中索引名称必须唯一。( )
四、命令题(本大题共5小题,每小题2分,共10分)
已知数据表std,表结为:Student(sno,sname,sdate,ssex,sdept).其属性分别表示含义:学号。姓名,出生日期,性别,所在系
1、建立学号及出生日期的复合索引,索引名为ISC。
2、删除所有姓刘的学生元组。
3、创建视图student1视图包含所有2000年以后(包括2000年)出生的并且是男生的元组。
4、通过视图student1.将各元组的学号改成25001,25002,25003.
5、删除符合索引ISC。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$$