ER模型转换关系数据库的 一般规则:
(1) 将每一个实体类型转换成一个关系模式,实体的属性为关系模式的属性。
(2) 对于二元联系,按各种情况处理,如下面所示。
二元关系
ER图
转换成的关系
联系的处理
主键
外键
1:1
(2个关系)
模式A
模式B
(有两种)
处理方式(1):
(1)把模式B的主键,联系的属性加入模式A
处理方式(2):
(2)把模式A的主键,联系的属性加入模式B
(略)
(依据联系的处理方式)
方式(1):
模式B的主键为模式A外键
方式(2):
表A的主键为表B的外键
1:N
(2个关系)
模式A
模式B
把模式A的主键,联系的属性加入模式B
(略)
模式A的主键为模式B的外键
M:N
(3个关系)
模式A
模式B
模式A-B
联系类型转换成关系模式A-B;
模式A-B的属性:
(a)联系的属性
(b)两端实体类型的主键
两端实体类型的主键一起构成模式A-B主键
两端实体类型的主键分别为模式A-B的
M:N联系的示例(学生与课程)
学生(学号,姓名,性别,年龄)
主键为学号
课程(课程号,课程名,任课教师)
主键为课程号
选课(学号,课程号,成绩)
主键为课程号、学号,外键为课程号,学号;
1:N联系的示例(商店与商品、商店与职工)
商店模式(商店编号,店名,店址,店经理)
主键为商店编号
商品模式(商品编号,商品名,单价,产地,商店编号,月销售量)
主键为商品编号,外键为商店编号
职工模式(职工编号,职工名,性别,工资,商店编号,开始时间)
主键为职工编号,外键为商店编号
(1) 将每一个实体类型转换成一个关系模式,实体的属性为关系模式的属性。
(2) 对于二元联系,按各种情况处理,如下面所示。
二元关系
ER图
转换成的关系
联系的处理
主键
外键
1:1
(2个关系)
模式A
模式B
(有两种)
处理方式(1):
(1)把模式B的主键,联系的属性加入模式A
处理方式(2):
(2)把模式A的主键,联系的属性加入模式B
(略)
(依据联系的处理方式)
方式(1):
模式B的主键为模式A外键
方式(2):
表A的主键为表B的外键
1:N
(2个关系)
模式A
模式B
把模式A的主键,联系的属性加入模式B
(略)
模式A的主键为模式B的外键
M:N
(3个关系)
模式A
模式B
模式A-B
联系类型转换成关系模式A-B;
模式A-B的属性:
(a)联系的属性
(b)两端实体类型的主键
两端实体类型的主键一起构成模式A-B主键
两端实体类型的主键分别为模式A-B的
M:N联系的示例(学生与课程)
学生(学号,姓名,性别,年龄)
主键为学号
课程(课程号,课程名,任课教师)
主键为课程号
选课(学号,课程号,成绩)
主键为课程号、学号,外键为课程号,学号;
1:N联系的示例(商店与商品、商店与职工)
商店模式(商店编号,店名,店址,店经理)
主键为商店编号
商品模式(商品编号,商品名,单价,产地,商店编号,月销售量)
主键为商品编号,外键为商店编号
职工模式(职工编号,职工名,性别,工资,商店编号,开始时间)
主键为职工编号,外键为商店编号