版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
(2025年)数据库题库选择及答案一、选择题(每题2分,共20分)1.以下关于关系模型中候选键的描述,正确的是()。A.候选键是唯一标识元组的最小属性集合B.候选键可以包含多个属性,但必须全选C.一个关系模式中只能有一个候选键D.候选键的属性值可以重复答案:A解析:候选键是能唯一标识元组的最小属性集合(不可再删减属性),一个关系可能有多个候选键(如学生表中“学号”和“身份证号”均可作为候选键),其属性值必须唯一且非空。2.在SQL中,若要查询“学生表”中年龄在18到22岁之间(含边界)的学生,正确的WHERE子句是()。A.WHERE年龄BETWEEN18OR22B.WHERE年龄BETWEEN18AND22C.WHERE年龄IN(18,22)D.WHERE年龄>18AND<22答案:B解析:BETWEEN运算符需搭配AND指定闭区间,IN用于枚举离散值,D选项缺少字段名导致语法错误。3.关于B+树索引与B树索引的区别,错误的是()。A.B+树所有数据记录都存储在叶子节点,B树非叶子节点也存储数据B.B+树叶子节点通过指针连接,支持范围查询更高效C.B树适合随机查找,B+树适合范围查找D.B+树的高度通常比B树更低答案:D解析:B+树的非叶子节点仅存储索引键,相同磁盘页可容纳更多键值,因此高度可能更低,但具体高度受数据分布影响,不能绝对说“通常更低”。4.事务的ACID特性中,“隔离性”指的是()。A.事务一旦提交,对数据库的修改是永久的B.事务执行过程中,其他事务不可干扰其内部状态C.事务必须包含所有操作作为一个整体,要么全做要么全不做D.事务的执行结果必须符合数据库的完整性约束答案:B解析:隔离性(Isolation)确保多个事务并发执行时,每个事务的执行结果不受其他事务干扰;A是持久性(Durability),C是原子性(Atomicity),D是一致性(Consistency)。5.以下哪种索引类型适合优化“按用户ID查询订单详情”的场景?()A.全文索引B.哈希索引C.B+树索引D.空间索引答案:C解析:用户ID通常为有序字段(如自增ID),B+树索引支持快速随机查找和范围查询;哈希索引适合等值查询但不支持范围,全文索引用于文本搜索,空间索引用于地理数据。6.在关系数据库设计中,消除非主属性对候选键的部分函数依赖,需要达到()。A.第一范式(1NF)B.第二范式(2NF)C.第三范式(3NF)D.BC范式(BCNF)答案:B解析:1NF要求属性不可再分;2NF消除非主属性对候选键的部分依赖;3NF消除传递依赖;BCNF消除主属性对候选键的部分/传递依赖。7.分布式数据库中,以下哪项不属于CAP定理中的三个特性?()A.一致性(Consistency)B.可用性(Availability)C.分区容错性(PartitionTolerance)D.原子性(Atomicity)答案:D解析:CAP定理指一致性、可用性、分区容错性三者无法同时满足;原子性是事务的特性,属于ACID范畴。8.若要统计“订单表”中每个用户的订单总金额(用户ID为user_id,金额为amount),正确的SQL语句是()。A.SELECTuser_id,SUM(amount)FROM订单表B.SELECTuser_id,SUM(amount)FROM订单表GROUPBYuser_idC.SELECTuser_id,COUNT(amount)FROM订单表GROUPBYuser_idD.SELECTuser_id,AVG(amount)FROM订单表答案:B解析:需用GROUPBY按user_id分组,SUM(amount)计算每组总金额;A缺少GROUPBY会导致全表求和,C是统计订单数量,D是计算平均金额。9.关于数据库死锁的描述,错误的是()。A.死锁是多个事务循环等待对方持有的锁导致的B.设置事务超时时间可以预防死锁C.死锁检测机制通过构建等待图并检测环来发现死锁D.严格两阶段锁协议(Strict2PL)可以避免死锁答案:D解析:严格2PL保证事务的隔离性和一致性,但无法避免死锁(仅保证不会出现脏读等问题);死锁预防需通过资源有序分配或超时机制。10.以下哪种NoSQL数据库适合存储时序数据(如传感器实时采集的温度值)?()A.键值存储(如Redis)B.列族存储(如HBase)C.文档存储(如MongoDB)D.时序数据库(如InfluxDB)答案:D解析:时序数据库专为时间序列数据设计,优化了时间范围查询、压缩存储和高写入吞吐量;其他类型虽可存储但效率较低。二、填空题(每空1分,共20分)1.关系模型的三类完整性约束是实体完整性、参照完整性和用户定义的完整性。2.SQL中,用于修改表结构的语句是ALTERTABLE,用于删除表的语句是DROPTABLE。3.索引按存储结构可分为B+树索引、哈希索引、全文索引等;按覆盖列可分为单列索引和复合索引。4.事务的隔离级别从低到高依次为:读未提交(ReadUncommitted)、读已提交(ReadCommitted)、可重复读(RepeatableRead)、串行化(Serializable)。5.分布式数据库的常见架构模式包括共享存储(SharedStorage)、共享内存(SharedMemory)、无共享(SharedNothing);其中无共享架构扩展性最佳。6.数据库设计的六个阶段是:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运行与维护。7.数据冗余可能导致插入异常、删除异常、更新异常等问题。三、简答题(每题8分,共40分)1.简述索引的优缺点及适用场景。答:优点:加速查询(减少全表扫描)、强制唯一性(主键索引)、优化连接(JOIN操作);缺点:增加存储开销、降低写操作性能(插入/更新/删除需维护索引)、可能失效(如对索引列使用函数或类型转换)。适用场景:频繁查询的字段(如WHERE/JOIN条件)、高基数列(如用户ID)、范围查询(如时间区间);不适用场景:低基数列(如性别)、频繁更新的字段(如计数器)、小表(全表扫描更快)。2.说明事务隔离级别“可重复读”与“串行化”的区别及典型问题。答:可重复读(RepeatableRead)保证同一事务内多次读取同一数据结果一致(避免不可重复读),但可能出现幻读(其他事务插入新数据导致本事务后续查询结果变化);串行化(Serializable)强制事务串行执行,完全避免脏读、不可重复读、幻读,但并发性能最低。例如,事务A先查询“年龄>20”的用户数为10,事务B插入一条年龄25的记录并提交,可重复读下事务A再次查询仍为10(避免不可重复读),但串行化下事务B需等待事务A结束才能执行,最终查询结果为11。3.对比传统关系数据库与NoSQL数据库的适用场景。答:传统关系数据库(如MySQL、Oracle)适合需要强一致性、复杂事务(如银行转账)、多表关联查询(如订单-用户-商品关联)的场景;NoSQL(如Redis、MongoDB、HBase)适合高并发写(如社交动态)、海量数据存储(如日志)、灵活schema(如用户画像)、非结构化/半结构化数据(如JSON文档)的场景。例如,电商大促时,订单支付需关系数据库保证事务一致性,而商品浏览记录(高并发、非关键)可用Redis缓存。4.简述数据库索引优化的常用策略。答:(1)选择高基数列作为索引(如用户ID比性别更优);(2)复合索引遵循“最左前缀”原则(如索引(a,b,c)支持a、a+b、a+b+c查询);(3)避免冗余索引(如已有(a,b)索引,无需单独(a)索引);(4)使用覆盖索引(查询字段全在索引中,避免回表);(5)定期重建/重新组织索引(碎片整理,提升性能);(6)对字符串字段使用前缀索引(减少存储开销);(7)避免在索引列上使用函数或表达式(导致索引失效)。5.说明分布式数据库中“分库分表”的两种常见方式及优缺点。答:(1)垂直分库分表:按业务功能拆分(如用户库、订单库)或按字段拆分(如用户表拆分为用户基本信息表和用户详细信息表)。优点:降低单库单表压力,提升维护性;缺点:跨库关联查询复杂,事务难以保证(需分布式事务)。(2)水平分库分表:按分片键(如用户ID取模、时间范围)将数据分散到不同库表。优点:扩展性强,适合海量数据;缺点:分片键选择不当易导致数据倾斜(部分分片数据过多),跨分片聚合查询(如COUNT、SUM)性能差。四、应用题(共20分)题目1(8分):某公司需设计“员工管理系统”数据库,包含以下信息:员工:员工ID(主键)、姓名、性别、入职时间、所属部门ID;部门:部门ID(主键)、部门名称、部门负责人ID(关联员工ID);项目:项目ID(主键)、项目名称、起始时间、结束时间、所属部门ID;员工参与项目:员工ID、项目ID、角色(如“开发”“测试”),需保证员工和项目的存在性。要求:(1)绘制E-R图(用矩形表示实体,椭圆表示属性,菱形表示联系,标注联系类型);(2)写出“员工参与项目”表的关系模式,并说明其满足的最高范式(需考虑主属性和非主属性)。答案:(1)E-R图结构:实体“员工”属性:员工ID(主码)、姓名、性别、入职时间;实体“部门”属性:部门ID(主码)、部门名称、部门负责人ID(外码,关联员工ID);实体“项目”属性:项目ID(主码)、项目名称、起始时间、结束时间、所属部门ID(外码,关联部门ID);联系“属于”(员工-部门):1:n(一个部门有多个员工,一个员工属于一个部门);联系“管理”(员工-部门):1:1(一个部门负责人是一个员工,一个员工可管理一个部门);联系“参与”(员工-项目):m:n(一个员工参与多个项目,一个项目有多个员工参与),属性为角色;(2)“员工参与项目”表的关系模式:参与(员工ID,项目ID,角色),主码为(员工ID,项目ID)。非主属性“角色”完全依赖于主码(无部分依赖),且不存在传递依赖(角色仅依赖于主码),因此满足第三范式(3NF)。题目2(6分):基于以下“订单表”(order)结构:字段名类型说明order_idINT订单ID(主键)user_idINT用户IDorder_timeDATETIME下单时间total_amountDECIMAL(10,2)订单总金额statusVARCHAR(20)订单状态(如“未支付”“已发货”)要求编写SQL语句:(1)查询2025年1月1日至2025年3月31日期间,每个用户的订单总金额(按总金额降序排列);(2)查询订单状态为“已发货”且总金额大于1000元的订单,要求使用索引优化(需说明优化的索引设计)。答案:(1)SELECTuser_id,SUM(total_amount)AStotalFROMorderWHEREorder_timeBETWEEN'2025-01-0100:00:00'AND'2025-03-3123:59:59'GROUPBYuser_idORDERBYtotalDESC;(2)优化索引:创建复合索引(status,total_amount,order_id),覆盖查询条件和结果字段(status='已发货'且total_amount>1000),避免回表。SQL语句:SELECTFROMorderWHEREstatus='已发货'ANDtotal_amount>1000;题目3(6分):某电商数据库出现慢查询,经分析发现某条SQL语句扫描了10万行数据但仅返回10条结果。请从索引、查询语句、数据库配置三个层面提出优化建议。答案:(1)索引层面:检查WHERE条件中的字段是否有索引(如无则添加);若为复合
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 施工机械维修保养责任分工方案
- 学术诚信承诺书科研核心所在5篇
- 公务员工资政策
- 年终考核结果催办函(7篇)范文
- 血液科再生障碍性贫血诊疗方案
- 癫痫发作护理管理规范
- 医疗纠纷案件调解处理报告
- 2027届新高考数学热点精准复习解析几何定点与定值问题
- 2026年乡镇干部防止返贫监测帮扶工作应知应会题
- 2026年旱灾损失评估方法与统计上报规范考核
- 陕西西工大附中2025届高三化学试题二模试题含解析
- 测量不规则物体体积课件
- 2025江苏省安全员A证考试题库
- 浙教版小学四年级下册《劳动》全册教学课件
- 2010浙G22 先张法预应力混凝土管桩
- 中国移动VoNR开网优化指导手册
- DB52T 1086-2016 贵州省生产建设项目水土保持监测技术规范
- GA/T 2131-2024移民管理领域标准体系表
- 2024年四川省内江市中考英语试题(含答案)
- 幼儿园安全园本培训
- 论述摘编全部
评论
0/150
提交评论