数据库考试题库考点拆解:从E-R图到主键外键的复习地图
简介中南大学数据库课程考试题库是一份面向数据库原理课程备考的典型练习文档适合本科期末复习、考研复试基础巩固或自学自测使用。资源包仅含1个doc文档整体约23KB内容集中于数据库基础知识模块携带方便可打印或导入笔记软件学习。文档内含基础知识单选与判断两类题型多数题目提供参考答案与简要解析覆盖E-R模型、数据库设计阶段与步骤、三级模式体系结构、关系模型及主外键概念、SQL Server数据类型、数据字典、逻辑运算符等高频考点。通过这些题目读者可以快速检验对数据库基础概念的掌握程度找出薄弱环节并针对复习尤其适合考前突击和系统梳理理论脉络。目前已有263人学习下载属于轻量级但高频考点覆盖较全的入门复习资料。1. 中南大学数据库考试题库考前最该先过一遍的六十几道题期末考前三天你手里有一份六十几道题的数据库题库选择、判断、填空都带答案。直接背答案还是按考点拆开刷我的建议是后者。这份《中南大学数据库考试题库》覆盖了数据库设计流程、E-R 图、关系模型、三级模式、SQL Server 基础数据类型、数据仓库和分布式数据库这几个必考板块而且题目难度贴近期末卷面。它不是让你死记硬背的“真题合集”更像一张考点分布图——把这份题库里的每道题归类你就能看出这门课的老师偏爱考什么、喜欢在哪里设陷阱。适合三类人期末考前想快速过一遍考点的学生、准备数据库相关岗位笔试的从业者以及想用题库反推教材重点的自学者。2. 把题库拆成考点地图掌握命题人真正在考什么2.1 五个知识簇和它们的命题权重我把这份题库的题目过了一遍发现所有题目都可以归进五个知识簇数据库设计流程与 E-R 模型、关系模型与键的概念、三级模式与数据独立性、SQL Server 数据类型与运算符、数据仓库与分布式数据库。这个归类不是随便分的它直接对应你复习时的投入产出比。从题量看数据库设计流程和 E-R 模型占比最高选择题里至少有 8 道直接考这个概念其次是关系模型里的主键、外键、元组、关系特征大约 6 道三级模式和数据独立性考了 3 道左右SQL Server 数据类型、运算符、局部变量命名规则这些偏记忆的点也有 5 道上下数据仓库、OLAP、分布式透明性属于填空和大题常客。把题目归位之后你会发现一个规律这门课的命题人不太喜欢考“会不会写 SQL”更喜欢考“懂不懂数据库的概念边界”。比如“E-R 图用于描述数据库的什么模型”四个选项分别是概念模型、数据模型、存储模型、逻辑模型答案是概念模型。这题本身不难但只要你对概念模型和数据模型的边界模糊就会在第一眼看到“数据模型”时犹豫。所以我建议你把每道题当成一个锚点去教材里找到对应章节而不是孤立地背答案。2.2 从题目反推教材这份题库怎么用才不浪费题库的最大价值不是它的题目而是题目背后暴露出的教材重点。我一般会做一件事每做完一道题就在题号旁边标注它出自教材的哪个章节。比如“在数据库设计中用 E-R 图来描述信息结构但不涉及信息在计算机中的表示它属于数据库设计的哪个阶段”这道题对应的一定是教材里“数据库设计步骤”那一节。这道题的解析把七个步骤完整列出来了规划、需求分析、概念设计、逻辑结构设计、物理设计、实现、运行与维护。你把题库里的每一道题都这样反推一遍就会发现整本教材的重点章节其实只有四五个。具体做法是准备一个表格三列分别是“题目所属知识簇”“教材对应章节”“我的易错点”。每刷完一道题就填一行。这样做的好处是当你把全部题目过完你得到的不是六十几道题的答案而是一张完整的复习路径图。我在带学生复习时经常看到有人把题库刷了三遍但问他“概念设计和逻辑设计最大的区别是什么”还是答不上来——因为他只是记住了“E-R 图属于概念设计”这个孤立答案没去理解为什么。题库一定要配合教材使用两者互为上下文。2.3 用一份建表脚本把抽象概念落到 SQL 里题库里“患者”和“医疗”那道题是理解主键、外键最典型的例子。原题给出了两个关系患者患者编号患者姓名性别出生日期单位和医疗患者编号医生编号医生姓名诊断日期诊断结果问医疗关系中的外关键字是什么。答案是患者编号。要彻底搞懂这道题我建议你直接在 SQL Server 里把这两张表建出来用脚本验证外键约束是怎么生效的。下面是一段标注了关键点的建表脚本-- 患者表患者编号是主键 CREATE TABLE 患者 ( 患者编号 INT PRIMARY KEY, -- 主键唯一标识一条患者记录 患者姓名 NVARCHAR(20) NOT NULL, 性别 NCHAR(1), 出生日期 DATE, 单位 NVARCHAR(50) ); -- 医疗表患者编号是外键引用患者表的患者编号 CREATE TABLE 医疗 ( 患者编号 INT, 医生编号 INT, 医生姓名 NVARCHAR(20), 诊断日期 DATE, 诊断结果 NVARCHAR(100), CONSTRAINT FK_医疗_患者 FOREIGN KEY (患者编号) REFERENCES 患者(患者编号) );这段脚本里有两个关键点。第一患者表的患者编号设为 PRIMARY KEY意味着这一列的值不能重复也不能为空第二医疗表的患者编号通过 FOREIGN KEY 约束关联到患者表。但注意医疗表里还有一个医生编号它从业务逻辑上看也应该是外键题库里为什么答案只选了患者编号因为出题人问的是“医疗关系中的外关键字”而且这道题的选项设置让患者编号成为唯一符合“外键”定义且明确引用了其他表主键的字段。你可以在 SQL Server 里试着删掉患者表里的一条记录如果医疗表里有对应的患者编号记录数据库会报外键冲突——这就是外键约束的实际表现。如果你手边没有 SQL Server 环境用 MySQL 或者 PostgreSQL 跑同样的脚本也完全可以外键的语义是通用的。把抽象的关系概念落到可以执行的 SQL 语句上你会发现“主键唯一标识一条记录”“外键建立表间联系”这两句话突然变得非常具体。这就是我说的“把题库读厚”从一道选择题出发补全建表、插入数据、验证约束的完整流程遇到类似的考试题你就不需要猜答案了。3. 经典题型的固定套路从题干特征直接锁定答案3.1 数据库设计阶段的“阶段归属”题这份题库里最有代表性的题型就是给你一个设计动作问它属于数据库设计的哪个阶段。比如“用 E-R 图描述信息结构”属于概念设计“把 E-R 模型转换成关系模式”属于逻辑设计“选择存储记录格式和存取方法”属于物理设计。我做了一个规律总结概念设计的关键词是 E-R 图和信息结构逻辑设计的关键词是转换和关系模式物理设计的关键词是存储格式和存取方法。考试时只要抓住题干里的关键词就能快速锁定阶段。但这类题有一个容易翻车的点概念设计和逻辑设计的边界。E-R 图本身是概念设计阶段的产物但把 E-R 图转换成关系模式就进入逻辑设计了。有些题目会把这两个步骤混在一起描述比如“把概念设计阶段设计好的全局 E-R 模式转换成与选用的具体机器上的 DBMS 所支持的数据模型相符合的逻辑结构”这明显是逻辑设计阶段做的事。还有一个陷阱在“描述需要存储的记录及其数量”这句话题库里问“关于数据库概念设计阶段的工作目标下列说法错误的是”答案就是这一项——因为记录数量和存储细节属于物理设计或需求分析的范畴概念设计阶段只关心信息结构和属性联系不关心记录的数量和存储格式。这类题没有捷径但有记忆技巧。我的习惯是把七个阶段各找一个代表动作背下来需求分析数据字典概念设计E-R 图逻辑设计关系模式转换物理设计存储结构实现建库装数据运行维护安全性与完整性监控。考试时看到题干动词先匹配代表动作再落到具体阶段。这个方法对选择和判断题都通用。3.2 主键与外键关系题的基本盘主键和外键是这份题库里出现频率最高的关键词之一。“关系数据库中主键是什么”这道题的正确答案是“标识表中唯一的实体”但它的干扰项很有迷惑性——“创建唯一的索引允许空值”错在允许空值上因为主键不允许为空“只允许以表中第一字段建立”错在字段位置和主键无关“允许有多个主键”错在一个表只能有一个主键但可以有多个候选键。如果你只是记住了主键的定义没辨析过这些干扰项很容易在考场上被带偏。外键题的思路稍微不同。“实现实体之间的联系是通过实体与实体之间的什么建立的”答案是公共属性。这里说的公共属性在实现层面就是外键。回到患者和医疗的例子患者编号同时出现在两个表里它把两张表联系起来了。这里有一个重要的辨析外键在子表里引用的是父表的主键。所以当题目给出多个字段问你哪个是外键时你要先找出哪个字段是“别人家的主键”。比如医疗表里的患者编号和医生编号它们分别引用患者表和医生表的主键从这个角度看二者都是外键。但出题人不会把问题出得这么“完美”他会让你在两个选项里二选一此时你要读题干的限定条件。第三类常考的是表和表之间的关系。“一本书可以由多个作者共同编著一个作者也可以编著不同的书”这是典型的多对多联系“一张表中的一个记录对应另一张表中的多个记录”这是一对多联系。这类题本身不难难的是和 E-R 图转换规则结合在一起考。题库里有一道判断题“若 2 个实体之间的联系是 n∶m则联系类型的属性只能加入到 n 端实体类型相对应的关系模式中。”答案是错误。对于多对多联系联系类型及其属性应该转换为一个独立的关系模式而不是并入某一端。这条规则在从 E-R 图向关系模型转换时非常重要。3.3 数据模型三要素与逻辑运算符的优先级陷阱“数据模型的三要素”这道题正确选项是数据结构、数据操作、数据完整性约束。这是数据库理论里最基础也最容易被忽视的知识点。数据结构描述的是数据的静态特征也就是实体和属性怎么组织数据操作描述的是动态特征也就是增删改查这类操作数据完整性约束描述的是数据的相容性和有效性。但很多学生只记住了“三要素”三个字没理解每个要素对应什么问题所以出题人稍微换个说法就会失分。逻辑运算符的优先级陷阱在判断题里出现了“逻辑运算符AND、NOT、OR的运算顺序是 AND→OR→NOT。”答案是错误。正确的优先级是 NOT 最高然后是 AND最后是 OR。这个顺序在实际写 SQL 的时候特别重要。举个例子如果你想查所有男性用户或者所有 VIP 用户但限定年龄大于 18 岁如果不加括号WHERE 性别 男 OR 会员等级 VIP AND 年龄 18会被解析为先执行 AND 再执行 OR最终查出来的是“男用户”加上“大于 18 岁的 VIP”和你原本想要的“所有满足条件的男性或 VIP”完全不同。遇到这种带逻辑运算符的题我的经验是先在纸上把优先级标出来再一层层套括号能避免大部分失分。还有一个和运算符相关的点这道题库里问“不属于 SQL2000 实用程序的是”答案是媒体播放器。这题看起来像送分题但它的意义在于提醒你复习时别忽略教材里那些“软件组成”章节。企业管理器、查询分析器、服务管理器都是 SQL Server 的图形化管理工具媒体播放器是 Windows 自带的娱乐软件出题人拿它来凑数。遇到这种题你只要对 SQL Server 的工具组有印象就不会选错。4. 判断题与填空题避坑五个最容易翻车的考点4.1 现象判断题“逻辑运算符的运算顺序是 AND→OR→NOT”被判定为正确原因很多人想当然地按照英语里的“先……后……”顺序排列以为 AND 最先执行。实际上 SQL 和大多数编程语言里NOT 的优先级最高AND 次之OR 最低。解决做题时先在草稿纸上写三个运算符的优先级排序再对照题目里的顺序。如果你记不住就记一个口诀“先非、再与、后或”。写 SQL 时遇到混合逻辑直接用括号强制指定优先级不要依赖默认规则。4.2 现象判断题“SQL Server 数据库使用的数据模型是网状模型”被判定为正确原因把数据库的发展史和具体产品的模型搞混了。层次模型、网状模型、关系模型是不同阶段的数据模型SQL Server 属于关系型数据库管理系统用的是关系模型。解决复习时把三种模型各自的代表产品列个表。层次模型代表是 IMS网状模型代表是 DBTG关系模型代表是 Oracle、SQL Server、MySQL。看到题目里出现具体数据库产品名称先判断它的模型类型。4.3 现象判断题“数据库避免了一切数据的重复”被判定为正确原因教材原文说的是“数据冗余度小”很多人把“冗余度小”理解成“没有重复”。实际上数据库只能尽量降低冗余不可能完全消除重复比如外键字段为了建立联系必须重复出现在多个表中。解决这类题的判断标准是“绝对化表达”。凡是选项或判断句里出现“一切、所有、完全、任何”这类绝对化的词大概率是错的。数据库领域的表述习惯是“尽量、尽可能、合理”不会把话说死。4.4 现象判断题“数据库三级模式体系结构的划分是有利于保持数据库的数据安全性”被判为正确原因三级模式外模式、模式、内模式和两级映像的核心价值是数据独立性——外模式/模式映像提供逻辑独立性模式/内模式映像提供物理独立性。很多人记不清两级映像分别对应哪种独立性就把安全性也塞进去了。解决把两条映像关系用一句话背熟“外模式/模式映像保逻辑独立性模式/内模式映像保物理独立性。”选择题里问“哪个映像关系用于提供数据与应用程序间的逻辑独立性”答案就是外模式/模式。这一类题只要记住了映像关系的对应表就能直接得分。4.5 现象填空题“数据仓库是一个面向__的、集成的、非易失的且随时间变化的数据集合”不会填原因数据仓库和数据库的概念边界没搞清楚。数据库面向日常事务处理数据仓库面向分析主题。题目里的“主题”就是数据仓库区别于数据库的第一关键词。解决遇到数据仓库、OLAP 这类题先抓住四个定语背下来面向主题、集成、非易失、随时间变化。OLAP 的实现方式三种MOLAP、ROLAP、HOLAP。分布式数据库的透明性分三级分片透明性、位置透明性、局部数据模型透明性最高级别是分片透明性。这些内容在教材里通常是表格形式你把表格抄一遍填空题就能拿分。5. 把题库变成自己的错题本一周刷题法与记忆锚点刷题不是做一遍就结束我通常建议用“三轮刷题法”消化这份题库。第一轮按顺序做不翻答案做完统一对答案第二轮按知识簇分类刷把同一考点的题目放在一起对比第三轮只刷前两轮做错的题并且每一道错题都要在教材里找到原始知识点把对应的段落抄一遍。三轮下来大概一周时间前两轮各两个小时第三轮一个小时时间成本不高但记忆留存率比反复刷整份题库高得多。第二轮分类刷的时候我会让题目在手里形成一个排列方式比如数据库设计流程的题目放一起数据模型的题目放一起。这样做的好处是你能直观地看到同一考点在不同题型里是怎么被包装的。比如“E-R 图属于概念设计”在选择题里考了一次在判断题里考了一次但两次命题的角度不同选择题考阶段归属判断题考 E-R 图里图形符号的语义。当你能看出这种差异就说明你真正理解了考点。最后分享一个我的习惯把每道题的关键词写在一张卡片上正面是题目关键词背面是答案每天随机抽二十张快速过一遍。特别是像“概念设计 E-R 图”“外模式/模式映像逻辑独立性”“NOT 优先级最高”这类一句话就能说清的知识点特别适合做成卡片。从那以后我每次复习数据库都强制自己把题库先按知识簇拆一遍再刷遇到判断题先找绝对化词汇遇到设计阶段题先匹配关键词。这套方法帮我从“背答案”变成了“会做题”。希望帮到你。本文还有配套的精品资源点击获取