Skip to content
难度案例
建议时长45分钟

4.3.1 数据库设计题概述

本课核心知识点整理
本课核心知识点手绘流程图(SVG)

这一类题到底在考什么

数据库设计题是下午案例题里的固定板块,通常是第 2 题,满分 15 分。它不是让你凭项目经验自由设计系统,而是让你把题干给出的需求说明,沿着数据库设计过程一步步转成概念模型和逻辑模型。

课堂里反复强调的一句话是:一定要结合题干。题干只有几百字,天然不可能覆盖真实系统的所有业务细节;考试考的是“能否跟着出题人的需求说明建模”,不是“能否把现实系统补得更完整”。

需求说明题干文字概念设计补 E-R 图逻辑设计补关系模式补充题主外键规范化

分值结构要先记住

这一题的稳定分主要来自两块:补 E-R 图、补关系模式。字幕里说这两部分通常能占到 8 到 10 分;再加上主键、外键,综合可以达到 12 分左右。最后的灵活题可能考增加实体、增加联系或规范化理论。

题目部分常见要求复习重点拿分策略
需求说明给出系统业务文字抽取实体、属性、联系不要脱离题干扩写需求
E-R 图补缺失实体、联系、联系类型联系名称、多重度、三元联系找“一个、多名、唯一、属于、管理、安排”等语义词
关系模式补属性、关系名、外键E-R 图转关系模式先看题干属性,再看联系归并
主键外键写出某些关系的主键、外键唯一标识、参照关系主键看“唯一标识”,外键看是否参照其他关系主键
规范化判断冗余和异常函数依赖、传递依赖、模式分解写清“存在/不存在、原因、修改方案”

题干为什么比经验更重要

真实开发中,一个“学生选课系统”可能涉及排课、容量、时间冲突、重修、补选、退选、成绩、收费、权限等大量规则。但考试题只给有限的需求说明,所以答案必须服务于题干。

如果题干只说“学生可以选多门课程,课程可以被多名学生选择”,就得到学生与课程之间的多对多联系;不要主动补“选课时间”“成绩录入人”“教室容量”等题干没给的要素。只有当题干明确出现这些信息,或者题目空格明显来自联系归并时,才把它们写进关系模式。

这也是很多有项目经验的同学反而容易失分的地方:他们把现实系统想完整了,却没有答到出题人给定的模型上。

解题主线:从文字到模型

1. 先把题干切成三类信息

题干表达应该抽取成什么例子
“学生信息包括学号、姓名、性别”实体及属性学生(学号, 姓名, 性别)
“一个班级有多个学生,一个学生属于一个班级”二元联系及联系类型班级与学生一对多
“学号唯一标识学生”主键学生关系主键为学号
“每次选课记录选课时间、成绩”联系属性或独立关系属性选课(学号, 课程号, 选课时间, 成绩)

2. 再把 E-R 图转成关系模式

E-R 图是概念设计结果,关系模式是逻辑设计结果。考试里通常已经给出部分图和部分关系模式,让你补空。补空时不要只盯着空格附近,要回到完整流程:

E-R 结构转换思路典型结果
实体每个实体通常转成一个关系学生(学号, 姓名, 性别)
1:1 联系可将一方主键并入另一方,也可独立成关系管理关系常并入被管理方或管理方
1:n 联系将 1 端主键并入 n 端学生表并入班级号
m:n 联系联系独立成关系,并入两端主键选课(学号, 课程号, 成绩)
三元联系通常独立成关系,并入三端主键安排(业务员号, 申请号, 客房号)

3. 最后处理主外键和规范化

主键的题干信号通常非常明显:唯一标识、编号、代码、证号等。外键则来自“当前关系中的某个属性,参照另一个关系的主键”。例如学生关系中的 班级号 不是学生自己的唯一标识,而是参照班级关系的 班级号,所以它是外键。

规范化题一般不会要求长篇论述。课堂里提到:如果一分题能用二十个字说清,就不用写八十个字。关键是命中评分点:是否存在问题、为什么、如何拆分或修改。

常见丢分点

丢分点为什么错正确处理
按自己经验补题干没有的实体下午题按给定需求评分只补题干直接或间接支持的信息
把属性当联系属性描述对象自身特征,联系描述对象之间关系看句子是否出现两个或多个实体之间的对应
关系模式只看题干属性有些空来自联系归并题干没有时检查 1:n、m:n、三元联系
外键写成被参照表的完整主键说明外键必须是当前关系中的属性名写当前关系里参照其他关系主键的字段
规范化题只说“有冗余”没点出依赖原因写清传递依赖或部分依赖,并给拆分方案

做题时的作答节奏

  1. 通读题干,圈实体名、编号类属性、数量词。
  2. 在草稿区画简化 E-R 图,先不纠结名称是否漂亮。
  3. 对每条联系标 1、m、n,尤其注意“只属于一个”“可以多个”“唯一”。
  4. 补关系模式时,先抄题干明确属性,再查联系归并。
  5. 写主键外键时,分别标出“唯一标识”和“参照谁”。
  6. 规范化题按“存在问题 -> 依赖原因 -> 分解方案”三段作答。

例题

单选
数据库设计题的主要作答内容通常是:
单选
做数据库设计题时,最重要的原则是:
单选
数据库设计题中,从题干到答案的主线最接近:

自查要点

  1. 为什么数据库设计题不重点考物理设计?
  2. 补 E-R 图和补关系模式为什么是稳定得分区?
  3. “结合题干”具体意味着哪些信息可以写、哪些信息不能写?
  4. 如果题干没有直接给出某个属性,什么时候还可能需要补它?