ER 速成
ER 速成
Sarzn数据库设计的六个阶段
- 需求分析阶段: 自顶向下的了解与分析用户的应用需求 (结合数据字典等工具)
- 概念结构设计阶段: 形成概念模型 (如E-R 模型)
- 逻辑结构设计阶段: 将概念结构转换为数据模型 (如关系模式)
- 物理结构设计阶段: 确定存储结构和存取方法 (如索引, 聚簇)
- 数据库实施阶段: 数据载入, 应用调试, 试运行
- 数据库运行与维护阶段
概念结构设计阶段合成 ER 模型的可能冲突
在把小的 ER 图合并成为一个大的 ER 图的时候以下冲突可能会发生
- 属性冲突: 属性域冲突(属性的类型,
取值范围, 取值集合冲突), 取值单位冲突
- 属性的域在几个 ER 图不同, 对同一个属性来说, 在有的图取值范围是(1~10), 有的图是 (1~100)
- 属性的单位不同, 对同一个属性来说, 在有的图中取值单位是 cm, 有的图是 m
- 命名冲突: 同名异义, 异名同义
- 同一个名字, 但在不同图中的含义不同
- 不同的名字, 但在不同图中的含义相同
- 结构冲突: 抽象不同, 属性个数次序不同,
联系的类型不同
- 比如在一张图中, 小明 (老王, 学生编号, 年龄) , 老王是作为班主任这个属性存在的, 但是在另一张图中, 老王却是一个实体
画出 ER 图 - 概念结构设计阶段
(a) 确定实体
- 画好实体 (b) 添加关系
- 关系名: 直接抄题干
- 确定数量关系: 1:n / m:n / n:1, 是实体的部分参与还是全部参与, 是三者关系吗 (c) 添加实体的属性
- 画属性
将 ER 图转为关系模式 - 逻辑结构设计阶段
(a) 确定关系名
- 要写实体名, m:n 关系名, 三元关系名 (b) 确定每个关系的属性
- 实体名的属性: 自己的属性 + 对面数量为 1 的二元关系的实体主键 (不考虑三元关系的情况)
- 关系名的属性: 自己的属性 + 相连实体的主键
确定关系名的主键: 所有相连实体的主键 + 自己额外判断一下够不够确定一个关系, 如果不够就人为的多选几个属性作为主键
Comment
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果



