E-R图详解:数据库设计与计算机等级考试必备
1. E-R图基础概念解析
E-R图(Entity-Relationship Diagram)是数据库设计中用于描述现实世界概念结构的图形化工具。它由美籍华裔计算机科学家陈品山(Peter Chen)于1976年提出,现已成为数据库设计领域的标准建模方法。
在计算机等级考试中,E-R图是二级Access、三级数据库技术的必考内容。考试大纲要求考生能够:
- 准确识别实体、属性和关系
- 理解各类符号的含义
- 完成E-R图与关系模式的转换
- 识别并修正设计缺陷
2. E-R图核心符号详解
2.1 实体类型表示法
实体用矩形框表示,分为两种类型:
- 常规实体:单线矩形框
┌─────────────┐ │ 学生 │ └─────────────┘ - 弱实体:双线矩形框(依赖其他实体存在)
╔═════════════╗ ║ 订单明细 ║ ╚═════════════╝
考试常见陷阱:
- 弱实体必须与标识实体通过双菱形关系连接
- 弱实体的主键必须包含所依赖实体的主键
2.2 属性表示规范
属性用椭圆形表示,关键类型包括:
- 简单属性:不可再分的原子属性
- 复合属性:可分解为更小部分(如地址→省市区)
- 派生属性:可通过计算得到(如年龄→出生日期推算)
- 多值属性:双线椭圆(如联系电话)
主键属性需加下划线:
┌───────┐ │ 学号 │ └───────┘ ▲ │ ┌─────────────┐ │ 学生 │ └─────────────┘2.3 关系类型辨析
关系用菱形表示,主要考察:
- 一对一(1:1):
┌────┐ ┌──────┐ ┌────┐ │部门│───┤管理│───│经理│ └────┘ └──────┘ └────┘ - 一对多(1:N):
┌────┐ ┌──────┐ ┌────┐ │班级│───┤包含│───│学生│ └────┘ └──────┘ └────┘ - 多对多(M:N):
┌────┐ ┌──────┐ ┌────┐ │学生│───┤选修│───│课程│ └────┘ └──────┘ └────┘
特殊关系类型:
- 递归关系:同一实体间的关联
- 三元关系:三个实体间的复杂关联
3. 计算机等级考试高频考点
3.1 符号转换规则
考试常要求将E-R图转换为关系模式,关键规则:
- 实体→独立表(主键保留)
- 1:1关系→合并表或外键
- 1:N关系→外键放在N端
- M:N关系→新建关联表
- 多值属性→新建表
典型例题:
将以下E-R图转换为关系模式: 学生(学号,姓名) --选修--> 课程(课程号,名称)参考答案:
学生(学号,姓名) 课程(课程号,名称) 选修(学号,课程号,成绩) # 关联表需添加成绩属性3.2 常见设计错误
冗余关系:
erDiagram 学生 ||--o{ 成绩 : "获得" 课程 ||--o{ 成绩 : "对应" 学生 }|--|| 课程 : "选修" # 冗余关系错误基数约束:
- 误将1:N标为M:N
- 遗漏部分参与约束(如教师必须属于某个系)
属性分配不当:
- 将应属于关系的属性放在实体中(如将"成绩"放在学生实体)
4. 实战解题技巧
4.1 快速识别技巧
实体识别口诀:
- 矩形必是实体
- 有主键必是实体
- 弱实体必有双矩形+双菱形
关系判断三步法:
1. 数连接端基数(1, N, M) 2. 看关系两端实体 3. 验证业务逻辑合理性
4.2 典型考题解析
例题:某图书馆系统包含以下实体:
- 图书(ISBN, 书名, 出版社)
- 读者(卡号, 姓名, 电话)
- 借阅(借期, 还期)
请绘制E-R图并指出关系类型。
标准答案:
┌─────────────┐ ┌──────┐ ┌─────────────┐ │ 图书 │───┤借阅│───│ 读者 │ └─────────────┘ └──────┘ └─────────────┘ ▲ ▲ │ │ ┌─────┐ ┌─────┐ │ ISBN │ │卡号 │ └─────┘ └─────┘关系类型:图书与读者之间为M:N关系,通过借阅关联实体实现。
5. 备考建议与资源
5.1 高效备考策略
符号记忆法:
- 实体→矩形(现实对象)
- 关系→菱形(动词短语)
- 属性→椭圆(名词短语)
错题整理要点:
- 记录混淆的符号组合
- 分类整理转换规则错误
- 标注题目中的陷阱提示词
5.2 推荐练习资源
- 官方教材《数据库系统概论》
- 历年真题中的E-R图设计题
- 在线绘图工具:
- Draw.io(免费)
- Lucidchart(教育版免费)
- Visio(考试环境常用)
实际考试中,建议先用铅笔绘制草图,确认无误后再用签字笔描画。特别注意:
- 所有连线必须到达符号边框
- 属性必须通过无向边连接
- 关系名称应使用动词短语