数据库笔试题及参考答案.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

数据库笔试题及参考答案

一、单项选择题(共10题,每题3分,共30分)

下列关于数据库三大范式的描述,错误的是()

A.第一范式要求列不可再分,确保原子性

B.第二范式要求消除部分函数依赖,需建立在第一范式基础上

C.第三范式要求消除传递函数依赖,允许存在主键对非主键的直接依赖

D.满足第三范式的表一定满足第二范式,反之则不一定

以下SQL语句中,用于删除表中所有数据且不可回滚的是()

A.DELETEFROMstudent;

B.DROPTABLEstudent;

C.TRUNCATETABLEstudent;

D.ALTERTABLEstudentDROPALLDATA;

关于索引的描述,正确的是()

A.索引会加快所有SQL操作的执行速度

B.主键索引默认是聚簇索引,数据物理顺序与索引顺序一致

C.联合索引的生效顺序与查询条件中列的顺序无关

D.频繁更新的列适合建立索引

事务的ACID特性中,“原子性”指的是()

A.事务执行前后数据的完整性约束不被破坏

B.事务一旦提交,对数据的修改永久有效

C.事务的所有操作要么全部执行,要么全部不执行

D.多个事务并发执行时,彼此不干扰

下列哪种锁会防止其他事务对数据进行修改,但允许读取()

A.共享锁(S锁)

B.排他锁(X锁)

C.意向共享锁(IS锁)

D.意向排他锁(IX锁)

以下关于视图的说法,错误的是()

A.视图是虚拟表,不存储实际数据

B.视图可以简化复杂查询,隐藏数据结构

C.所有视图都支持INSERT、UPDATE、DELETE操作

D.视图可以基于多个表创建

数据库并发操作可能导致的问题不包括()

A.脏读

B.不可重复读

C.死锁

D.幻读

下列SQL函数中,用于计算分组数据总行数的是()

A.COUNT(*)

B.COUNT(DISTINCT列名)

C.SUM(列名)

D.AVG(列名)

关于存储过程和函数的区别,说法正确的是()

A.存储过程可以返回多个结果集,函数只能返回一个值

B.存储过程不能接受参数,函数可以接受参数

C.存储过程可以直接在SELECT语句中调用,函数不行

D.存储过程不需要返回值,函数必须返回值

MySQL中,以下哪种存储引擎支持事务和行级锁()

A.MyISAM

B.InnoDB

C.Memory

D.Archive

二、简答题(共4题,每题10分,共40分)

简述数据库索引的作用及常见类型,说明哪些场景不适合建立索引。

解释事务的隔离级别,MySQL默认的隔离级别是什么?不同隔离级别如何解决并发问题?

什么是SQL注入攻击?如何预防SQL注入?

简述聚簇索引和非聚簇索引的区别,以及InnoDB和MyISAM存储引擎对索引的实现差异。

三、SQL编程题(共2题,每题15分,共30分)

现有两张表,结构如下:

学生表(student):id(INT,主键)、name(VARCHAR(20),姓名)、age(INT,年龄)、class_id(INT,班级ID)、create_time(DATETIME,创建时间)

班级表(class):id(INT,主键)、class_name(VARCHAR(30),班级名称)、teacher(VARCHAR(20),班主任)

请编写SQL语句完成以下需求:

查询每个班级的班级名称、班主任、学生人数及学生平均年龄,要求只显示学生人数大于20的班级,结果按平均年龄降序排列。

编写一个SQL语句,更新student表中所有班级ID为3的学生年龄,将年龄增加2岁;同时查询出这些学生更新后的完整信息(要求一条SQL完成更新和查询,或分步骤说明)。

参考答案

一、单项选择题

D(解析:第三范式要求消除传递依赖,且必须满足第二范式;满足第二范式不一定满足第三范式,D选项表述颠倒)

C(解析:TRUNCATE是DDL语句,不可回滚;DELETE是DML语句,可回滚;DROP删除表结构)

B(解析:A错误,索引会减慢插入/更新/删除速度;C错误,联合索引遵循“最左前缀原则”;D错误,频繁更新列建索引会导致索引维护成本高)

C(解析:A是一致性,B是持久性,D是隔离性)

A(解析:共享锁允许其他事务加共享锁(读),禁止加排他锁(写);排他锁禁止其他事务加任何锁)

C(解析:含聚合函数、DISTINCT、GROUPBY等的视图不可更新)

C(解析:死锁是并发控制不当导致的问题,不是并发操作直接产生的

文档评论(0)

151****9429 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档