数据库设计
大约 6 分钟
数据库设计
快拿分:E-R 转关系 主外键写全;范式证明 按定义写步骤;SQL 填空 JOIN 条件 + GROUP BY 列合法——即使结论有小错,步骤分也常能保住。
一、知识与应试(考点·难点·知识点合一)
1.1 E-R 与关系模式
- 实体 → 关系,属性成列,主码标明。
- 1:1:外键可放任意一方或合并(看题意)。
- 1:n:外键放 n 端。
- m:n:独立联系表,主键为双方主键组合,联系属性挂在该表。
- 弱实体:依赖识别实体,主码 = 识别实体主码 + 部分键。
- 〔真题〕:补全「关系模式列表」缺属性、缺外键引用。
1.1.1 下午题作答模板
| 题问 | 答题顺序 | 检查点 |
|---|---|---|
| 补关系模式 | 先实体表,再联系表,再补联系属性 | 每个关系都标主键;外键写引用 |
| 判断联系类型 | 从题干“一名/多名/至少一个”定位 | 不凭业务常识改题意 |
| 弱实体 | 找“依赖某实体存在”的对象 | 主键包含强实体主键 |
| 冗余与异常 | 先说冗余,再说插入/删除/更新异常 | 术语写全,便于步骤分 |
1.2 函数依赖与范式
- 求 候选码、(F^+)、是否保持依赖/无损——按教材算法执行,写在卷面。
- 1NF~BCNF 判定:逐级检查「部分依赖」「传递依赖」「左部是否超键」。
- 〔难点〕:无损连接分解判定;3NF 合成法 vs BCNF 分解取舍。
1.3 SQL 与约束
PRIMARY KEY/FOREIGN KEY ... REFERENCES ... ON DELETE CASCADE。- 多表查询:
JOINON 条件漏写 → 笛卡尔积。 HAVING只能接在GROUP BY之后过滤聚合结果。
1.4 反范式与文字简答
- 问「冗余/异常」:从 插入、删除、更新异常 与 冗余存储 答。
二、速记与背诵
| 联系 | 外键位置 |
|---|---|
| 1:1 | 任一方放外键或合并,按题意约束选择 |
| 1:n | n 端 |
| m:n | 中间表双主键,联系属性也放中间表 |
| 弱实体 | 强实体主键 + 部分键 |
- 范式升级顺序:原子 → 消部分 → 消传递 → BCNF 左部超键。
- 设计阶段产物:需求分析看数据流图/数据字典,概念设计看 E-R 图,逻辑设计看关系模式。