1.2.2 逻辑结构设计
用E-R图描述学生成绩管理系统中实体集与实体集之间的联系,目的是以E-R图为工具,设计出关系模式,即确定应用系统所使用的数据库应包含的表和表的结构。通常这一设计过程就称为逻辑结构设计。
1. (1:1)联系的E-R图到关系模式的转换
对于(1:1)的联系,既可单独对应一个关系模式,也可以不单独对应一个关系模式。
(1)联系单独对应一个关系模式,则由联系属性、参与联系的各实体集的主码属性构成关系模式,其主码可选参与联系的实体集的任一方的主码。
例如,图1.5描述的“班级(bjb)”与“班长(bzb)”实体集通过“属于(syb)”联系的E-R模型可设计如下关系模式:
bjb(班级编号,院系,专业,人数)
bzb(学号,姓名)
syb(学号,班级编号)
(2)联系不单独对应一个关系模式,联系的属性及一方的主码加入另一方实体集对应的关系模式中。
例如,图1.5的E-R模型可设计如下关系模式:
bjb(班级编号,院系,专业,人数)
bzb(学号,姓名,班级编号)
或者
bjb(班级编号,院系,专业,人数,学号)
bzb(学号,姓名)
2. (1:n)联系的E-R图到关系模式的转换
对于(1:n)的联系既可单独对应一个关系模式,也可以不单独对应一个关系模式。
(1)联系单独对应一个关系模式,则由联系的属性、参与联系的各实体集的主码属性构成关系模式,n端的主码作为该关系模式的主码。
例如,图1.6描述的“班级(bjb)”与“学生(xsb)”实体集的E-R模型可设计如下关系模式:
bjb(班级编号,院系,专业,人数)
xsb(学号,姓名,性别,出生时间,专业,总学分,备注)
syb(学号,班级编号)
(2)联系不单独对应一个关系模式,则将联系的属性及1端的主码加入n端实体集对应的关系模式中,主码仍为n端的主码。
例如,图1.6“班级(bjb)”与“学生(xsb)”实体集E-R模型可设计如下关系模式:
bjb(班级编号,院系,专业,人数)
xsb(学号,姓名,性别,出生时间,专业,总学分,备注,班级编号)
3. (m:n)联系的E-R图到关系模式的转换
对于(m:n)的联系,单独对应一个关系模式,该关系模式包括联系的属性、参与联系的各实体集的主码属性,该关系模式的主码由各实体集的主码属性共同组成。
例如,图1.7描述的“学生(xsb)”与“课程(kcb)”实体集之间的联系可设计如下关系模式:
xsb(学号,姓名,性别,出生时间,专业,总学分,备注)
kcb(课程号,课程名称,开课学期,学时,学分)
cjb(学号,课程号,成绩)
关系模式cjb的主码是由“学号”和“课程号”两个属性组合构成的,一个关系模式只能有一个主码。