数据库中的大题(E-R图)
1.本质定义
E-R图(Entity-Relationship Diagram) 是用于描述现实世界中数据结构的可视化建模工具,通过图形化方式展现:
- 核心业务对象(实体)
- 对象特征(属性)
- 对象间的逻辑关联(关系)
由美籍华裔科学家陈品山(Peter Chen) 于1976年提出,成为数据库设计的标准方法论
1.1 核心概念
- 实体 (Entity)
- 现实中可区分的事物或概念
- 矩形表示:
┌───────────┐
- 实例:学生、课程、部门
- 属性 (Attribute)
- 实体或关系的特征
- 椭圆表示:
╭─────╮
- 分类:
- 简单属性(不可再分)
- 复合属性(可分解:地址→省/市/区)
- 多值属性(多个值:联系方式)
- 派生属性(可计算:年龄←出生日期)
- 关系 (Relationship)
- 实体间的关联
- 菱形表示:
◇
- 实例:选课(学生—课程)、任职(员工—部门)
2.关系类型(基数约束)
类型 | 符号 | 说明 | 示例 |
---|---|---|---|
1:1 | 1 ─── 1 | 唯一对应 | 人 ↔ 身份证 |
1:N | 1 ─── < | 一对多 | 部门 ↔ 员工 |
N:1 | > ─── 1 | 多对一 | 学生 ↔ 班级 |
M:N | > ─── < | 多对多 | 学生 ↔ 课程 |
2.1 规则
多对多关系会形成新的表(即之间的联系 n:m)需要在增加实体的主码
一对一关系 在多端(n端)加上连接的属性和1端的主码
3.关键元素
- 键 (Key)
- 主键 (PK):
下划线属性
→id
- 外键 (FK):指向他表主键 →
dept_id
- 主键 (PK):
- 弱实体 (Weak Entity)
- 双框矩形:
╔═══════╗
- 依赖强实体存在(订单项依赖订单)
- 识别关系:双框菱形
╔═════╗
- 双框矩形:
- 特殊关系
- 递归关系:
员工→管理→员工
- 三元关系:三个实体间关系(供应商-产品-仓库)
- 递归关系:
4.案例练习
某厂销售管理系统,实体“产品”有属性:产品编号、产品名称、规格、单价,实体“顾客”有属性:顾客编号、姓名、地址。假设顾客每天最多采购一次,一次可以采购多种产品,顾客采购时还有采购日期、采购数量等信息。试画出ER图,并注明属性和联系类型、将E-R图转换成关系模型 ,并注明主码。