news 2026/10/27 3:05:41

数据库考试高频考点与真题解析:三级模式、关系代数与SQL

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
数据库考试高频考点与真题解析:三级模式、关系代数与SQL

简介:这份中南大学数据库试题资料面向高校计算机相关专业学生及数据库课程备考者,围绕数据库管理系统基础、数据模型、关系模型、SQL语言、数据库保护与设计理论等核心考点组织内容,可用于期末复习、考研自测与知识点查漏补缺。资源包共1个doc文件,约164KB,以复习总纲加试卷的形式呈现,按章节梳理概述、ER模型、关系模型、SQL语言、数据库保护、关系数据库设计理论及数据库应用设计等模块,并附单项选择题、填空题、术语解释与简答题等题型。已有357人学习,读者可借助其中的三级模式结构、完整性约束、关系代数运算、事务ACID准则、范式分解等要点,对照梳理知识框架、检验掌握程度并定位薄弱环节,适合需要系统过一遍数据库重点的备考人群。

1. 从一道“视图上不能干什么”说起:这场数据库考试到底考什么

数据库试卷第一道选择题就爱挖坑:在视图上不能完成的操作是哪个?四个选项里,查询、更新、定义新视图都行,唯独“在视图上定义新的基本表”是错的。这道题看着简单,背后却把三级模式、视图与基表关系、DDL 边界全串起来了。数据库这门课的考试,从来不是考你背没背概念,而是考你能不能把“模式—外模式—内模式”这条线,落到 SQL 语句、关系代数、范式判断和并发控制的具体场景里。整张卷子 15 分选择、15 分填空、15 分术语解释、15 分简答、15 分关系代数应用题、10 分 SQL 操作题、15 分综合 SQL,分值分布很稳:基础概念占一半,动手写语句占一半。想拿高分,光看教材不够,得按考点模块把真题刷透,尤其是关系代数和 SQL 嵌套查询这两块,年年出、年年有人翻车。这份题库把七章复习总纲和四套试卷揉在一起,适合已经学过一遍、需要查漏补缺的备考人,也适合面试前想快速捡起数据库基本功的人。

2. 高频考点拆解:三级模式、数据模型与关系代数怎么考

2.1 三级模式与两级映象:选择题和填空题的常驻嘉宾

数据库系统的体系结构是三级模式结构加两级映象,这个点几乎每套卷子都出现。模式是全局逻辑结构,外模式是用户视图,内模式是物理存储结构。两级映象分别是外模式/模式映象和模式/内模式映象。考试最爱问的是:要保证物理数据独立性,需要修改什么?答案是模式/内模式映象。要保证逻辑数据独立性,改的是外模式/模式映象。很多考生把这两个映象记反,一丢就是两分。

再看数据管理三个阶段:人工管理、文件系统、数据库系统。文件系统阶段数据独立性差,数据库系统阶段具有高度的物理独立性和一定程度的逻辑独立性。填空题里常考“数据库系统阶段数据具有______”,标准答案是“高度的物理独立性和一定程度的逻辑独立性”,少写“一定程度的”就扣分。

DB、DBMS、DBS、DBAS 这四个概念也常混。DB 是数据库本身,DBMS 是管理软件,DBS 是包含硬件、软件、数据库、DBA 和用户的完整系统,DBAS 是数据库应用系统。选择题里问“位于用户与操作系统之间的一层数据管理软件”选 DBMS,问“长期存储在计算机内有组织可共享的数据集合”选 DB。

提示:三级模式的选择题经常把“子模式 DDL 描述什么”拿出来考,答案是数据库的局部逻辑结构,也就是外模式,不是总体逻辑结构。

2.2 关系代数:五个基本运算和除法是必拿分项

关系代数分两类:传统集合运算(并、交、差、笛卡儿积)和专门关系运算(选择、投影、连接、除法)。选择题问“五种基本关系代数运算”,答案是并、差、笛卡儿积、选择、投影,交和连接可以用基本运算推导出来,不算基本运算。这个点错一次记一辈子。

应用题里最常考的是“选修了全部课程的学生”和“选修了某学生所学全部课程的学生”,本质都是除法运算。用关系代数写:

π学号,姓名(学生 ⋈ (π学号,课程号(选课) ÷ π课程号(课程)))

除法的含义是:选课表中,某个学号对应的课程号集合,包含了课程表中所有课程号,这个学号才保留。很多考生看到“全部”就慌,其实记住“除法解决全部问题”就行。另一道高频题是“没有选修 5 号课程的学生学号”,用差集:

π学号(学生) - π学号(σ课程号='5'(选课))

先求选了 5 号课的学生,再从全体学生里减掉。这类题答题思路固定:先明确“全部”还是“没有”,全部用除法,没有用差集,中间该投影就投影,该选择就选择。

2.3 真题演练:关系代数应用题逐题给思路

以试卷一第五题为例,关系模式是学生(学号,姓名,性别,年龄,所在系)、课程(课程号,课程名,先行课)、选课(学号,课程号,成绩)。

第一问:求选修了课程号为“5”课程的学生学号和姓名。思路是先选课表里筛课程号等于 5,得到学号,再和学生表自然连接,最后投影学号和姓名。

π学号,姓名(学生 ⋈ σ课程号='5'(选课))

第二问:求没有选修课程号为“5”课程的学生学号。用全体学号减去选了 5 号课的学号。

π学号(学生) - π学号(σ课程号='5'(选课))

第三问:求既选修了 5 号又选修了 6 号课程的学生学号。先分别选出 5 号和 6 号的学号集合,再取交集。

π学号(σ课程号='5'(选课)) ∩ π学号(σ课程号='6'(选课))

第四问:求选修了全部课程的学生学号和姓名。除法上场。

π学号,姓名(学生 ⋈ (π学号,课程号(选课) ÷ π课程号(课程)))

第五问:求选修了学号为“95001”学生所学过的所有课程的学生学号和姓名。这是除法的变体,除数是 95001 这个学生选过的课程号集合。

π学号,姓名(学生 ⋈ (π学号,课程号(选课) ÷ π课程号(σ学号='95001'(选课))))

注意:除法题最容易错在除数的投影范围。除数一定是“课程号”这个单属性投影,不是整个选课表。多投影一列,结果就全错。

3. SQL 与索引:DDL、DML 和聚簇索引的答题模板

3.1 DDL 与 DML 的边界:选择题和改错题都爱考

SQL 语言按功能分四类:DDL 数据定义(CREATE、DROP、ALTER)、DML 数据操纵(INSERT、DELETE、UPDATE、SELECT)、DCL 数据控制(GRANT、REVOKE)、DQL 查询。选择题常问“下列属于 DDL 的是”,选项里混一个 SELECT 或 GRANT,选 CREATE 就对了。另一道高频题是“SQL 语言称为”,答案是结构化查询语言,不是结构化定义语言。

建表题要注意主码约束和列类型。试卷一要求建教师工资表 teacher,主码是 BH:

CREATE TABLE teacher ( BH NUMBER(10) PRIMARY KEY, XM VARCHAR(20), BM VARCHAR(20), JBGZ NUMBER(10), BT NUMBER(10), GHF NUMBER(10), GJJ NUMBER(10), SFGZ NUMBER(10) );

主码用 PRIMARY KEY 声明,NUMBER 和 VARCHAR 按字段性质选。加列用 ALTER TABLE teacher ADD WCF INT,删表用 DROP TABLE teacher。建索引题常考“按编号建索引,索引名 teach”:

CREATE INDEX teach ON teacher(BH);

如果题目要求唯一索引,写 CREATE UNIQUE INDEX;要求聚簇索引,写 CREATE CLUSTERED INDEX。这三个修饰词别混,唯一索引对应候选键,聚簇索引决定物理顺序。

3.2 嵌套查询与 EXISTS:综合题里最拉分的一类

综合题里“查询选修了全部课程的学生”用 SQL 写,标准答案是双重 NOT EXISTS:

SELECT 学号, 姓名 FROM 学生 WHERE NOT EXISTS ( SELECT * FROM 课程 WHERE NOT EXISTS ( SELECT * FROM 选课 WHERE 学生.学号 = 选课.学号 AND 选课.课程号 = 课程.课程号 ) );

逻辑是:对每个学生,检查是否存在一门课程,该学生没有选。如果不存在这样的课程,说明他选了全部课程。外层 NOT EXISTS 排除“有没选课程”的学生,内层 NOT EXISTS 判断“某课程没被该学生选”。这类题面试官最想听的是你能不能把“全部”翻译成“不存在没选的”,而不是背语句。

另一道常考的是“查询其他系中比经管系所有学生年龄都大的学生名单”:

SELECT * FROM 学生 WHERE 年龄 > (SELECT MAX(年龄) FROM 学生 WHERE 所在系 = '经管系') AND 所在系 <> '经管系';

“比所有都大”等价于“大于最大值”,用 MAX 子查询。注意要加所在系不等于经管系,否则经管系自己也会被选出来。

3.3 真题演练:分组、连接和视图更新

分组查询“选修了 5 门以上课程的学生学号”:

SELECT 学号 FROM 选课 GROUP BY 学号 HAVING COUNT(*) >= 5;

WHERE 过滤行,HAVING 过滤组,COUNT(*) 统计每组课程数。错把条件写进 WHERE 是常见翻车点。

三表连接“检索每个学生及其选修的课程名和成绩”:

SELECT 学生.学号, 学生.姓名, 课程.课程名, 选课.成绩 FROM 学生, 选课, 课程 WHERE 学生.学号 = 选课.学号 AND 选课.课程号 = 课程.课程号;

连接条件少写一个就变成笛卡儿积,结果行数爆炸。视图题问“视图上不能完成的操作”,记住视图是虚表,不能在其上定义新的基本表,但可以查询、更新、定义新视图。

4. 数据库保护与设计理论:事务、锁和范式的失分点

4.1 事务 ACID 与并发三大问题

事务的四个属性是原子性、一致性、隔离性、持久性,简称 ACID。填空题常考“DBMS 中实现事务隔离性的子系统”,答案是并发控制子系统。并发操作可能带来三类问题:丢失更新、不可重复读、读脏数据。选择题问“数据库并发操作有可能带来的三个问题中包括”,选丢失更新。

封锁协议里,排它锁(写锁)加锁后事务既可读又可写,共享锁(读锁)只能读。一级封锁协议解决丢失更新,二级解决读脏数据,三级解决不可重复读。死锁的预防有一次封锁法和顺序封锁法,一次封锁法要求事务一次把所有要用的数据全部加锁,降低并发度但防死锁。

4.2 范式判断:2NF 和 3NF 的转化条件

关系规范化常考“一个只满足 1NF 的关系可能存在哪四方面问题”,答案是数据冗余度大、修改麻烦、删除异常、插入异常。2NF 在 1NF 基础上消除非主属性对码的部分函数依赖,3NF 在 2NF 基础上消除非主属性对码的传递函数依赖。选择题问“3NF 同时又是”,选 2NF 和 1NF。

函数依赖题会给一个学校关系模式:学号、姓名、所在系、系主任、课程名、成绩。函数依赖有学号→姓名、学号→所在系、所在系→系主任、(学号,课程名)→成绩。候选码是(学号,课程名)。系主任传递依赖于学号,所以不是 3NF。这类题答题步骤:先找候选码,再列函数依赖,再判断部分依赖和传递依赖,最后说属于第几范式。

4.3 易错点:四类题最容易丢分

第一类,映象方向记反。物理独立性改模式/内模式映象,逻辑独立性改外模式/模式映象。错因是把“物理”和“内模式”拆开记混了。答对方法:物理对应存储,存储对应内模式,所以改的是模式与内模式之间的映象。

第二类,关系代数除法除数投影错。求“选修全部课程”时,除数应该是 π课程号(课程),不是整个课程表。错因是没理解除法要求属性集一致。答对方法:除法前先确认除数的属性集和被除数的对应属性集完全匹配。

第三类,SQL 空值判断写成 AGE = NULL。正确写法是 AGE IS NULL 或 AGE IS NOT NULL。错因是把 NULL 当普通值。答对方法:记住 NULL 参与比较结果未知,只能用 IS。

第四类,视图更新条件漏写 WITH CHECK OPTION。通过视图插入元组时,如果不加这个子句,可能插入不满足视图定义条件的行。错因是只背了 CREATE VIEW 基本语法。答对方法:凡是题目提到“通过视图插入或更新”,先想 WITH CHECK OPTION。

5. 考场答题节奏:从选择题到综合题的拿分顺序

整张卷子 100 分,选择题 15 分、填空题 15 分、术语解释 15 分、简答 15 分、应用题 15 分、SQL 操作 10 分、综合 SQL 15 分。我的建议是先做选择题和填空题,控制在 20 分钟内,这两块靠记忆,犹豫太久反而错。术语解释和简答各 15 分,答题时按点写,一个术语三句话:定义、作用、举例。比如“候选码”就写:能唯一标识元组的最小属性组,一个关系可以有多个候选码,选一个作主码。

应用题关系代数 15 分,五道小题每题 3 分,先做“没有选修”和“既选修又选修”这种差集交集题,再做“全部课程”的除法题。除法题如果一时想不出,先把除数和被除数写出来,分步给分。SQL 操作题 10 分,建表、加列、建索引、建视图、删表,按顺序写,语法错一个扣一分,别空着。

综合 SQL 15 分是拉分项,八道小题里分组查询和嵌套查询占大头。写嵌套查询时先写内层再写外层,EXISTS 题先确定“全部”还是“存在”,全部用双重 NOT EXISTS,存在用 EXISTS。最后留 10 分钟检查空值判断和连接条件,这两处最容易漏。

提示:简答题“数据库设计六个步骤”按需求分析、概念设计、逻辑设计、物理设计、实施、运行维护写,每步加一句产出物,比如概念设计产出 E-R 图,逻辑设计把 E-R 图转关系模型,这样阅卷老师一眼看到关键词。

从那以后我每次带人复习数据库,都强制先做一遍三级模式和关系代数的真题,再碰 SQL 嵌套。因为这两块是地基,地基不稳,后面写再多语句也是白搭。希望帮到你。

本文还有配套的精品资源,点击获取

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/27 3:05:41

事件相机与REFID框架:视频插帧与去模糊技术解析

1. 项目概述&#xff1a;事件相机驱动的视觉增强革命去年在苏黎世参加计算机视觉会议时&#xff0c;我第一次亲眼目睹了事件相机&#xff08;Event Camera&#xff09;拍摄的高速场景。与传统相机每秒30-60帧的固定采样不同&#xff0c;事件相机能以微秒级精度捕捉亮度变化&…

作者头像 李华
网站建设 2026/10/27 3:04:28

Rust 复刻星际迷航舰载电脑:语音 AI Agent 全链路实战

1. 从科幻到终端&#xff1a;这个项目到底在做什么第一次在社区里刷到这个项目的时候&#xff0c;我盯着标题看了好几秒——用 Rust 复刻《星际迷航》舰载电脑&#xff0c;还要做完全语音交互的 AI Agent。这个组合本身就很有意思&#xff1a;一边是几十年前科幻作品里对"…

作者头像 李华
网站建设 2026/10/27 3:04:22

VSCode配置C语言环境:工具链、三份配置与断点调试

1. 先把工具链的分工理清楚&#xff1a;编辑器不背编译的锅1.1 一次“代码没错但跑不起来”的现场复盘前段时间帮一个刚入门的同学看代码&#xff0c;他把一段不到三十行的 C 语言程序发过来&#xff0c;说“编辑器报了一堆错&#xff0c;是不是我语法写错了”。我打开一看&…

作者头像 李华
网站建设 2026/10/27 3:03:51

代驾行业数据安全架构设计与隐私保护实践

1. 代驾行业的数据安全现状与挑战代驾服务作为O2O领域的重要分支&#xff0c;每天处理着海量敏感用户数据。根据我过去三年为多个代驾平台提供安全咨询的经验&#xff0c;一个日均订单量5000单的中型平台&#xff0c;每天产生的用户隐私数据包括&#xff1a;约8000条精准定位记…

作者头像 李华
网站建设 2026/10/27 3:02:29

激光雷达点云去拖尾:强度信息与几何特征融合算法

1. 激光雷达去拖尾现象的本质与挑战激光雷达在动态场景扫描时&#xff0c;运动物体表面会形成点云"拖尾"现象。这种现象本质上源于激光雷达的扫描机制与物体运动的叠加效应。以常见的机械旋转式激光雷达为例&#xff0c;单个激光器在旋转过程中以固定频率发射激光脉冲…

作者头像 李华
网站建设 2026/10/27 3:01:09

春节算法备案与开票全流程指南

1. 春节期间的算法备案服务保障春节作为我国最重要的传统节日&#xff0c;很多企业都会进入休假模式&#xff0c;但算法备案工作却不能因此停滞。作为从业多年的技术合规顾问&#xff0c;我深知算法备案时效性的重要性&#xff0c;也理解企业在年前需要完成备案开票的迫切需求。…

作者头像 李华