内容正文:
编写说明:河北省对口招生《计算机类考纲百套卷》,依据《河北省2028年中等职业学校对口升学考试计算机类专业考试大纲》编写。本专辑涵盖四门课程,且每门课程均采用三阶递进式训练体系:基础层(具象化支架)拆解考点为微目标,紧扣考纲 “掌握”“理解” 要求编写考点训练卷;巩固层(关联性支架)强化知识交叉与场景关联,按考纲专题编专题训练卷;应用层(引导性支架)聚焦真题突破,结合知识模块与教材编写课程综合卷。
本试卷是第51卷为专题训练卷,按《数据库原理与应用技术-MySQL》范围和要求编写。具体内容为:索引和视图。
2027版河北省《计算机类考纲百套卷》 第51卷
《数据库原理与应用技术-MySQL》
索引和视图 专题训练卷
考试时间60分钟 满分100分
班级 姓名 学号 成绩
一、单项选择题(本大题共20小题,每题2分,共40分)
1.关于视图和基本表的说法,正确的是( )
A. 视图和基本表一样,都存储实际数据
B. 视图是一个虚拟表,存储的是 SELECT 定义
C. 基本表是虚拟的,视图是真实存在的
D. 视图比基本表占用更多存储空间
2.在MySQL中,以下哪种索引不允许字段值为NULL( )
A. 普通索引 B. 唯一索引 C. 主键索引 D. 全文索引
3.关于全文索引的说法,正确的是( )
A. 全文索引只能用于英文字符
B. 全文索引用于文本内容的搜索
C. 全文索引不能创建在CHAR、VARCHAR字段上
D. 全文索引不需要使用MATCH...AGAINST语法
4.关于聚簇索引的说法,正确的是( )
A. 一张表可以有多个聚簇索引 B. 聚簇索引的叶子节点存储的是数据
C. 聚簇索引不影响数据的物理存储顺序 D. 普通索引就是聚簇索引
5.下面关于索引的说法,错误的是( )
A. 普通索引允许值重复 B. 唯一索引可以有多个
C. 主键索引只能有一个 D. 全文索引可以用于所有数据类型
6.视图中的数据来源于( )
A. 视图自己存储 B. 基本表 C. 磁盘文件 D. 缓存区域
7.当基本表中的数据发生变化时,视图中的数据会( )
A. 保持不变 B. 自动更新
C. 需要手动重新创建视图 D. 被自动删除
8.以下( )索引适合用于文本搜索,并且支持全文检索。
A. 唯一索引 B. 主键索引 C. 全文索引 D. 组合索引
9.关于索引的优缺点,以下说法错误的是( )
A. 索引可以加快查询速度 B. 索引会减慢数据更新速度
C. 索引可以加快数据更新速度 D. 索引需要占用额外的存储空间
10.关于索引的使用,以下说法正确的是( )
A. 在WHERE子句中对列进行函数操作,索引仍然有效
B. 使用LIKE进行模糊查询时,以通配符开头,索引可能失效
C. 使用OR连接条件时,只要有一个条件有索引,就会使用索引
D. 在WHERE子句中使用!=操作符,索引仍然有效
11.关于聚簇索引和非聚簇索引,以下说法正确的是( )
A. 聚簇索引的叶子节点存储的是数据行的地址
B. 非聚簇索引的叶子节点存储的是数据本身
C. 在InnoDB中,非主键索引的叶子节点存储的是主键值
D. 在MyISAM中,主键索引是聚簇索引
12.在InnoDB存储引擎中,如果一张表没有定义主键,也没有唯一非空索引,InnoDB会( )。
A. 报错,不允许创建表 B. 自动使用第一个字段作为聚簇索引
C. 自动生成一个隐藏的 ROWID 作为聚簇索引 D. 该表将没有聚簇索引
13.在创建视图时,使用以下( )子句可以确保视图的安全性,防止用户通过视图插入不符合视图条件的数据。
A. WITH ENCRYPTION B. WITH CHECK OPTION
C. WITH READ ONLY D. WITH SECURITY
14.视图的主要作用不包括( )
A. 简化复杂查询 B. 提高数据查询性能
C. 提高数据安全性 D. 提供逻辑数据独立性
15.使用视图可以提高数据安全性,主要是因为( )
A. 视图可以加快查询速度 B. 视图可以隐藏敏感字段,只暴露必要数据
C. 视图可以备份数据 D. 视图可以加密数据
16.关于普通索引(INDEX)和唯一索引(UNIQUE)的区别,正确的是( )
A. 普通索引允许NULL,唯一索引不允许NULL
B. 普通索引允许重复值,唯一索引不允许重复值
C. 两者没有任何区别
D. 唯一索引查询更快
17.下列关于InnoDB聚簇索引的说法,正确的是( )
A. 每个表可以有多个聚簇索引
B. 如果表没有主键,InnoDB会选择一个唯一非空索引作为聚簇索引
C. 聚簇索引的叶子节点存储主键值
D. 非聚簇索引的叶子节点存储数据
18.关于视图简化查询的作用,以下说法正确的是( )
A. 视图能加快任何查询的速度
B. 将复杂的连接查询定义为视图后,可以直接查询视图
C. 视图可以替代所有复杂查询
D. 视图查询比直接查询更快
19.视图能够提供逻辑数据独立性,是指( )
A. 视图可以独立于数据库存在
B. 当基本表结构改变时,只需修改视图定义,不需要修改应用程序
C. 视图可以替代基本表
D. 视图可以在不同数据库之间移动
20.关于 WITH CHECK OPTION 的作用,以下说法正确的是( )
A. 防止用户查看视图定义
B. 确保通过视图插入或更新的数据必须符合视图的 WHERE 条件
C. 提高视图查询速度
D. 自动为视图添加索引
2、 判断题(本大题共10小题,每题2分,共20分)
21.对表中的某个字段建立索引后,该字段的查询速度一定变快,且不会影响插入和更新的速度。( )
22.聚簇索引的叶子节点存储的是数据行的主键值,而不是完整的数据行。( )
23.如果在一个字段上建立了普通索引,那么该字段的值依然可以重复。( )
24.创建组合索引时,字段的顺序不影响索引的效率,可以随意排列。( )
25.唯一索引不允许字段值为 NULL。( )
26.CREATE INDEX 语句可以用来创建主键索引。( )
27.删除索引的操作是不可逆的,删除后如果需要,必须重新创建。( )
28.删除视图使用 DROP VIEW 语句,删除视图不影响基本表的数据。( )
29.DROP VIEW IF EXISTS 视图名 可以安全地删除视图,如果视图不存在也不会报错。( )
30.创建视图时使用 WITH CHECK OPTION 会影响视图的查询性能。( )
三、填空题(本大题共10个空,每空2分,共20分)
31.删除视图使用________ ,加________ 可以避免视图不存在时报错。
32.使用 ________ 语句可以在已有表上创建普通索引。
33.使用 CREATE INDEX 语句创建索引时,不能创建的是 ________ 索引。
34.删除索引的两种方式是:________ 和 ALTER TABLE ... DROP INDEX。
35.创建一个唯一索引,索引名为uni_student,对应表为student,字段为stu_id。完整语句是:CREATE ________ 。
36.在创建表时,创建全文索引需要使用 ________ KEY 关键字。
37. 创建一个学生表,学号为主键,姓名为普通索引,身份证号为唯一索引,完整CREATE TABLE语句为:
CREATE TABLE student (
学号 INT ________ KEY,
姓名 VARCHAR(20) ________ idx_name (姓名),
身份证号 VARCHAR(18) ________ KEY idx_card (身份证号)
);
38.MySQL中常见的索引大致分为普通索引、 ____ 、 ____ 、全文索引、空间索引。
39.删除视图account_v1中客户号为u0006的客户的命令是:________________。
40.若要修改已存在的视图,可使用________ 语句,或删除后重建。三、命令题(本大题共5题,每题4分,共20分)
41.为 products 表的 product_name 字段创建一个名为 idx_product_name 的普通索引。
42.为 orders 表的 order_id 字段创建一个唯一索引,命名为 uk_order_id,以确保订单 ID 的唯一性。
43.根据 employees 表创建一个名为 v_employee_info 的视图,该视图仅包含 employee_id、first_name、last_name 和 department_id 这四个字段。
44.假设存在一个视图 v_sales_summary,请写出查询该视图中所有记录的 MySQL 语句。
45.删除名为 v_temp_data 的视图的命令。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$
编写说明:河北省对口招生《计算机类考纲百套卷》,依据《河北省2028年中等职业学校对口升学考试计算机类专业考试大纲》编写。本专辑涵盖四门课程,且每门课程均采用三阶递进式训练体系:基础层(具象化支架)拆解考点为微目标,紧扣考纲 “掌握”“理解” 要求编写考点训练卷;巩固层(关联性支架)强化知识交叉与场景关联,按考纲专题编专题训练卷;应用层(引导性支架)聚焦真题突破,结合知识模块与教材编写课程综合卷。
本试卷是第51卷为专题训练卷,按《数据库原理与应用技术-MySQL》范围和要求编写。具体内容为:索引和视图。
2027版河北省《计算机类考纲百套卷》 第51卷
《数据库原理与应用技术-MySQL》
索引和视图 专题训练卷
考试时间60分钟 满分100分
班级 姓名 学号 成绩
一、单项选择题(本大题共20小题,每题2分,共40分)
1.关于视图和基本表的说法,正确的是( )
A. 视图和基本表一样,都存储实际数据
B. 视图是一个虚拟表,存储的是 SELECT 定义
C. 基本表是虚拟的,视图是真实存在的
D. 视图比基本表占用更多存储空间
【答案】B
【解析】视图是一个虚拟表,它不存储实际数据,而是存储 SELECT 查询定义。每次访问视图时,数据库会执行这个定义好的 SELECT 语句来获取数据。基本表是真实存储数据的表,它们才是实际占用磁盘空间的地方。
2.在MySQL中,以下哪种索引不允许字段值为NULL( )
A. 普通索引 B. 唯一索引 C. 主键索引 D. 全文索引
【答案】C
【解析】主键索引(PRIMARY KEY)是特殊的唯一索引,它有两大特点:1)值必须唯一,2)值不允许为NULL。这是主键索引和唯一索引的主要区别。
3.关于全文索引的说法,正确的是( )
A. 全文索引只能用于英文字符
B. 全文索引用于文本内容的搜索
C. 全文索引不能创建在CHAR、VARCHAR字段上
D. 全文索引不需要使用MATCH...AGAINST语法
【答案】B
【解析】全文索引(FULLTEXT)是用于对文本内容进行搜索的索引类型,支持中文和英文。使用时需要配合MATCH...AGAINST语法来执行搜索。全文索引可以创建在CHAR、VARCHAR、TEXT类型的字段上。
4.关于聚簇索引的说法,正确的是( )
A. 一张表可以有多个聚簇索引 B. 聚簇索引的叶子节点存储的是数据
C. 聚簇索引不影响数据的物理存储顺序 D. 普通索引就是聚簇索引
【答案】B
【解析】 聚簇索引的叶子节点直接存储完整的数据行,所以数据按索引键值物理存储。每个InnoDB表只能有一个聚簇索引(通常就是主键索引)。普通索引是非聚簇索引,其叶子节点存储的是主键值而不是数据本身。
5.下面关于索引的说法,错误的是( )
A. 普通索引允许值重复 B. 唯一索引可以有多个
C. 主键索引只能有一个 D. 全文索引可以用于所有数据类型
【答案】D
【解析】全文索引只能用于CHAR、VARCHAR、TEXT等文本类型字段,不能用于整数、日期等其他数据类型。
6.视图中的数据来源于( )
A. 视图自己存储 B. 基本表 C. 磁盘文件 D. 缓存区域
【答案】B
【解析】视图的数据来源于基本表。视图就像是一个"窗口"或"过滤器",通过预先定义的 SELECT 语句,从一个或多个基本表中提取数据呈现给用户。视图本身并不存储数据。
7.当基本表中的数据发生变化时,视图中的数据会( )
A. 保持不变 B. 自动更新
C. 需要手动重新创建视图 D. 被自动删除
【答案】B
【解析】视图的内容是动态生成的,当基本表中的数据发生变化时,视图会立即反映出这些变化。这是因为视图本身不存储数据,每次查询视图时都是从基本表中实时获取数据。
8.以下( )索引适合用于文本搜索,并且支持全文检索。
A. 唯一索引 B. 主键索引 C. 全文索引 D. 组合索引
【答案】C
【解析】全文索引用于全文检索,适用于文本字段。
9.关于索引的优缺点,以下说法错误的是( )
A. 索引可以加快查询速度 B. 索引会减慢数据更新速度
C. 索引可以加快数据更新速度 D. 索引需要占用额外的存储空间
【答案】C
【解析】索引会减慢数据更新速度,因为更新数据时需要同时更新索引。
10.关于索引的使用,以下说法正确的是( )
A. 在WHERE子句中对列进行函数操作,索引仍然有效
B. 使用LIKE进行模糊查询时,以通配符开头,索引可能失效
C. 使用OR连接条件时,只要有一个条件有索引,就会使用索引
D. 在WHERE子句中使用!=操作符,索引仍然有效
【答案】B
【解析】使用LIKE进行模糊查询时,如果以通配符开头(如'%abc'),索引会失效。对列进行函数操作、使用OR但并非所有条件都有索引、使用!=等操作都可能导致索引失效。
11.关于聚簇索引和非聚簇索引,以下说法正确的是( )
A. 聚簇索引的叶子节点存储的是数据行的地址
B. 非聚簇索引的叶子节点存储的是数据本身
C. 在InnoDB中,非主键索引的叶子节点存储的是主键值
D. 在MyISAM中,主键索引是聚簇索引
【答案】C
【解析】在InnoDB中,聚簇索引的叶子节点存储的是数据行本身,非聚簇索引(二级索引)的叶子节点存储的是主键值。在MyISAM中,主键索引是非聚簇索引,索引和数据是分开存储的。
12.在InnoDB存储引擎中,如果一张表没有定义主键,也没有唯一非空索引,InnoDB会( )。
A. 报错,不允许创建表 B. 自动使用第一个字段作为聚簇索引
C. 自动生成一个隐藏的 ROWID 作为聚簇索引 D. 该表将没有聚簇索引
【答案】C
【解析】InnoDB必须有聚簇索引。若无主键,选唯一非空索引;若都没有,系统自动生成隐藏的ROWID。
13.在创建视图时,使用以下( )子句可以确保视图的安全性,防止用户通过视图插入不符合视图条件的数据。
A. WITH ENCRYPTION B. WITH CHECK OPTION
C. WITH READ ONLY D. WITH SECURITY
【答案】B
【解析】WITH CHECK OPTION确保通过视图进行的插入和更新操作必须满足视图的WHERE条件。
14.视图的主要作用不包括( )
A. 简化复杂查询 B. 提高数据查询性能
C. 提高数据安全性 D. 提供逻辑数据独立性
【答案】B
【解析】视图的主要作用有三个:1)简化复杂查询;2)提高数据安全性;3)提供逻辑数据独立性。
15.使用视图可以提高数据安全性,主要是因为( )
A. 视图可以加快查询速度 B. 视图可以隐藏敏感字段,只暴露必要数据
C. 视图可以备份数据 D. 视图可以加密数据
【答案】B
【解析】视图可以通过只选择必要的字段来隐藏敏感信息。例如,可以创建一个只包含员工姓名和部门的视图,而隐藏员工的工资、身份证号等敏感信息。用户只能通过视图访问被授权的数据。
16.关于普通索引(INDEX)和唯一索引(UNIQUE)的区别,正确的是( )
A. 普通索引允许NULL,唯一索引不允许NULL
B. 普通索引允许重复值,唯一索引不允许重复值
C. 两者没有任何区别
D. 唯一索引查询更快
【答案】B
【解析】唯一索引禁止重复值,普通索引允许重复
17.下列关于InnoDB聚簇索引的说法,正确的是( )
A. 每个表可以有多个聚簇索引
B. 如果表没有主键,InnoDB会选择一个唯一非空索引作为聚簇索引
C. 聚簇索引的叶子节点存储主键值
D. 非聚簇索引的叶子节点存储数据
【答案】B
【解析】InnoDB的聚簇索引特性:1)每个表只能有1个聚簇索引;2)如果没有显式主键,InnoDB会选择第一个唯一非空索引作为聚簇索引;3)聚簇索引的叶子节点存储完整的数据行;4)非聚簇索引的叶子节点存储主键值(而非数据本身)。
18.关于视图简化查询的作用,以下说法正确的是( )
A. 视图能加快任何查询的速度
B. 将复杂的连接查询定义为视图后,可以直接查询视图
C. 视图可以替代所有复杂查询
D. 视图查询比直接查询更快
【答案】B
【解析】当我们需要频繁执行复杂的查询(如多表连接、子查询)时,可以将这些复杂查询定义为视图。之后每次查询只需要从视图查询,MySQL 会自动执行视图背后的复杂查询。这大大简化了应用程序代码。
19.视图能够提供逻辑数据独立性,是指( )
A. 视图可以独立于数据库存在
B. 当基本表结构改变时,只需修改视图定义,不需要修改应用程序
C. 视图可以替代基本表
D. 视图可以在不同数据库之间移动
【答案】B
【解析】逻辑数据独立性是指当数据库的基本表结构发生变化(如添加新字段、修改字段)时,只要视图定义做相应修改,应用程序不需要改动。这提高了系统的可维护性。
20.关于 WITH CHECK OPTION 的作用,以下说法正确的是( )
A. 防止用户查看视图定义
B. 确保通过视图插入或更新的数据必须符合视图的 WHERE 条件
C. 提高视图查询速度
D. 自动为视图添加索引
【答案】B
【解析】WITH CHECK OPTION 的作用是"数据检查选项"。当使用视图进行 INSERT 或 UPDATE 操作时,MySQL 会检查新数据是否满足视图定义的 WHERE 条件。如果不满足,操作会被拒绝。这确保了视图的数据一致性。
2、 判断题(本大题共10小题,每题2分,共20分)
21.对表中的某个字段建立索引后,该字段的查询速度一定变快,且不会影响插入和更新的速度。( )
【答案】错
【解析】索引会降低插入、更新和删除的速度,因为需要维护索引结构。
22.聚簇索引的叶子节点存储的是数据行的主键值,而不是完整的数据行。( )
【答案】错
【解析】聚簇索引的叶子节点存储的是完整的数据行。非聚簇索引才存主键值。
23.如果在一个字段上建立了普通索引,那么该字段的值依然可以重复。( )
【答案】对
【解析】普通索引没有唯一性约束。
24.创建组合索引时,字段的顺序不影响索引的效率,可以随意排列。( )
【答案】错
【解析】字段顺序非常重要。通常应将区分度高、经常作为查询条件的字段放在最左边。
25.唯一索引不允许字段值为 NULL。( )
【答案】错
【解析】唯一索引允许 NULL 值。
26.CREATE INDEX 语句可以用来创建主键索引。( )
【答案】错
【解析】CREATE INDEX 用于创建普通或唯一索引。
27.删除索引的操作是不可逆的,删除后如果需要,必须重新创建。( )
【答案】对
【解析】索引删除(DROP INDEX)是物理删除,没有回收站、无法回退恢复;删除后若还要使用,只能手动重新创建索引。
28.删除视图使用 DROP VIEW 语句,删除视图不影响基本表的数据。( )
【答案】对
【解析】DROP VIEW 视图名; 用于删除视图。视图只是一个虚拟表,删除视图不会影响基本表中的任何数据。
29.DROP VIEW IF EXISTS 视图名 可以安全地删除视图,如果视图不存在也不会报错。( )
【答案】对
【解析】使用 DROP VIEW IF EXISTS 是一个好习惯。如果视图存在则删除,如果不存在也不会报错,避免了因视图不存在而产生的错误。
30.创建视图时使用 WITH CHECK OPTION 会影响视图的查询性能。( )
【答案】错
【解析】WITH CHECK OPTION 只在数据修改操作(INSERT、UPDATE)时生效,不影响 SELECT 查询的性能。
三、填空题(本大题共10个空,每空2分,共20分)
31.删除视图使用________ ,加________ 可以避免视图不存在时报错。
【答案】DROP VIEW;IF EXISTS
【解析】MySQL 删除视图的专用语句,语法:DROP VIEW 视图名;IF EXISTS配合 DROP VIEW 使用,作用是判断视图是否存在。
32.使用 ________ 语句可以在已有表上创建普通索引。
【答案】CREATE INDEX
【解析】在已有数据表上创建普通索引,标准语句就是 CREATE INDEX。
33.使用 CREATE INDEX 语句创建索引时,不能创建的是 ________ 索引。
【答案】主
【解析】CREATE INDEX语句只能创建普通索引和唯一索引,不能创建主键索引。
34.删除索引的两种方式是:________ 和 ALTER TABLE ... DROP INDEX。
【答案】Drop INDEX
【解析】删除索引的两种方式是:DROP INDEX 和 ALTER TABLE ... DROP INDEX。
35.创建一个唯一索引,索引名为uni_student,对应表为student,字段为stu_id。完整语句是:CREATE ________ 。
【答案】UNIQUE、INDEX uni_student ON student (stu_id);
【解析】语法格式:CREATE UNIQUE INDEX 唯一索引名 ON 表名 (字段名);
36.在创建表时,创建全文索引需要使用 ________ KEY 关键字。
【答案】FULLTEXT
【解析】全文索引使用FULLTEXT KEY关键字。
37. 创建一个学生表,学号为主键,姓名为普通索引,身份证号为唯一索引,完整CREATE TABLE语句为:
CREATE TABLE student (
学号 INT ________ KEY,
姓名 VARCHAR(20) ________ idx_name (姓名),
身份证号 VARCHAR(18) ________ KEY idx_card (身份证号)
);
【答案】PRIMARY、INDEX、UNIQUE
【解析】主键用PRIMARY KEY,普通索引用INDEX/KEY,唯一索引用UNIQUE KEY。
38.MySQL中常见的索引大致分为普通索引、 ____ 、 ____ 、全文索引、空间索引。
【答案】主键索引 唯一索引
【解析】MySQL 常见索引分类:普通索引、唯一索引、主键索引、全文索引、空间索引。
39.删除视图account_v1中客户号为u0006的客户的命令是:________________。
【答案】DELETE FROM account_v1 WHERE 客户号 = 'u0006';
【解析】视图是虚拟表,删除视图里的数据用 DELETE FROM 视图名。
40.若要修改已存在的视图,可使用________ 语句,或删除后重建。
【答案】ALTER VIEW
【解析】修改已经存在的视图定义,标准专用语句是 ALTER VIEW;另一种方式就是先 DROP VIEW 删除旧视图,再用 CREATE VIEW 重新创建,效果等同。
三、命令题(本大题共5题,每题4分,共20分)
41.为 products 表的 product_name 字段创建一个名为 idx_product_name 的普通索引。
【答案】CREATE INDEX idx_product_name ON products(product_name);
【解析】本题考察 CREATE INDEX 命令的使用。普通索引是基本的索引类型,允许字段值重复。
42.为 orders 表的 order_id 字段创建一个唯一索引,命名为 uk_order_id,以确保订单 ID 的唯一性。
【答案】CREATE UNIQUE INDEX uk_order_id ON orders(order_id);
【解析】UNIQUE 关键字用于创建唯一索引。与普通索引不同,唯一索引要求索引列的值不能重复,常用于主键或业务逻辑要求唯一的字段。
43.根据 employees 表创建一个名为 v_employee_info 的视图,该视图仅包含 employee_id、first_name、last_name 和 department_id 这四个字段。
【答案】CREATE VIEW v_employee_info AS SELECT employee_id, first_name, last_name, department_id FROM employees;
【解析】本题考察 CREATE VIEW 命令的基本语法。通过 SELECT 语句定义视图的数据源,视图创建后可以像操作表一样查询 v_employee_info。
44.假设存在一个视图 v_sales_summary,请写出查询该视图中所有记录的 MySQL 语句。
【答案】SELECT * FROM v_sales_summary;
【解析】视图本质上是虚拟表,查询视图与查询普通表的语法完全一致,使用标准的 SELECT 语句即可。
45.删除名为 v_temp_data 的视图的命令。
【答案】DROP VIEW v_temp_data;
【解析】DROP VIEW 命令用于删除数据库中已存在的视图对象。执行后,视图的定义将从数据字典中移除,但不会影响其底层基表的数据。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$