数据库学习笔记之数据库设计
1 数据库设计步骤
- 需求分析
- 概念结构设计:
ER
图或者数据结构字典 - 逻辑结构设计:把
ER
图转换为逻辑模型 - 物理结构设计:将逻辑模型转为物理模型
- 数据库实施:写
SQL
代码 - 数据库运行维护:性能检测
2 ER 图
2.1 ER 图形式
2.2 ER 图表示
- 实体:长方形表示
- 属性:椭圆形表示
- 关系:菱形表示
2.3 ER 图关系
- 一对一
(1:1)
:一对一关系是指对于实体集A
与实体集B
,A
中的每一个实体至多与B
中ー个突体有关系;反之,在实体集B
中的每个实体至多与实体集A
中一个实体有关系 - 一对多
(1:N)
:一对多关系是指实体集A
与实体集 B 中至少有N(N>0)
个实体有关系;并且实体集B
中每一个实体至多与实体集A
中一个实体有关系 - 多对多
(M:N)
:多对多关系是指实体集A
中的每一个实体与实体集B
中至少有M(M>0)
个实体有关系,并且实体集B
中的每一个实体与实体集A
中的至少N(N>0)
个实体有关系
3 ER 图转关系模型
3.1 转换原则
- 一对一
(A:B)
:将关系合并到 A 中,并将 B 的主键也合并到 A 中(或将关系合并到 B 中,并将 A 的主键也合并到 B 中) - 一对多
(A:B)
:将关系合并到 B 中,并将 A 的主键也合并到 B 中 - 多对多
(A:B)
:将 A、B 的主键和属性,一起合并,单独作为一个关系模型
3.2 例题
将如下 ER 图转为关系模型
工厂(厂名,厂址,电话)
产品(产品号,产品名,规格,单价)
工人(编号,姓名,性别,职称,厂名,日薪,雇佣期),其中 “厂名” 为外键
生产(厂名,产品号,单价),其中 “厂名”、“产品号” 都为外键