阅读下列说明和图,回答问题。
[说明]
某学校拟开发一套实验管理系统,对各课程的实验安排情况进行管理。
[需求分析]
一个实验室可进行多种类型不同的实验。由于实验室和实验员资源有限,需根据学生人数分批次安排实验室和实验员。一门课程可以为多个班级开设,每个班级每学期可以开设多门课程。一门课程的一种实验可以根据人数、实验室的可容纳人数和实验类型,分批次开设在多个实验室的不同时间段。一个实验室的一次实验可以分配多个实验员负责辅导实验,实验员给出学生的每次实验成绩。
(1)课程信息包括:课程编号、课程名称、实验学时、授课学期和开课的班级等信息;实验信息记录该课程的实验进度信息,包括:实验名、实验类型、学时、安排周次等信息,如表3-1所示。
(2)以课程为单位制定实验安排计划信息,包括:实验地点,实验时间、实验员等信息,实验计划如表3-2所示。
(3)由实验员给出每个学生每次实验的成绩,包括:实验名、学号、姓名、班级、实验成绩等信息,实验成绩如表3-3所示。
(4)学生的实验课程总成绩根据每次实验的成绩以及每次实验的难度来计算。
[概念模型设计]
根据需求阶段收集的信息,设计的实体联系图(不完整)如图3-1所示。
[逻辑结构设计]
根据概念模型设计阶段完成的实体联系图,得出如下关系模式(不完整):
课程(课程编号,课程名称,授课院系,实验学时)
班级(班级号,专业,所属系)
开课情况( (1) ,授课学期)
实验( (2) ,实验类型,难度,学时,安排周次)
实验计划( (3) ,实验时间,人数)
实验员( (4) ,级别)
实验室(实验室编号,地点,开放时间,可容纳人数,实验类型)
学生( (5) ,姓名,年龄,性别)
实验成绩( (6) ,实验成绩,评分实验员)
如果需要记录课程的授课教师,新增加“授课教师”实体。请对图3-1进行修改,画出修改后的实体问联系和联系的类型。
参考答案:
解析:
[要点解析] 本题考查数据库概念结构设计及向逻辑结构转换的方法。
[问题1]
根据题意,由“一门含实验的课程可以开设给多个班级,每个班级每学期可以开设多门含实验的课程”可知,课程和班级之间的开设关系为m:n联系。由“一个实验室的一次实验可以分配多个实验员负责辅导实验”可知,实验、实验室与实验员之间的安排关系为k:n:m联系。由“实验员给出学生的每次实验成绩”可知,实验、学生与实验员之间的成绩关系为k:n:m联系。班级和学生之间的包含关系为1:n联系。
[问题2]
根据题意可知课程编号是课程的主键,班级号是班级的主键。从表7.9可知,开课情况是体现课程与班级间的m:n联系,因此开课情况关系模式应该包含课程编号和班级号,并共同作为主键。一门课程包含多次实验,实验与课程之间是m:1关系,因此,根据表7.9,实验关系模式应包含实验编号和课程编号,并且以实验编号为主键,以课程编号为外键。在制定试验计划时,每个班的每次实验可能按实验室被分成多个批次,每个批次的实验会有若干名实验员来辅导学生实验并打分。实验员关系模式应该记录实验员编号和实验员姓名,并以实验员编号为主键。实验室编号是实验室的主键。从表7.10可见,实验计划关系模式应记录实验编号、批次号和授课学期,并且共同作为主键。从表7.11可见,实验成绩关系模式记录每个学生的每次实验成绩,应包含学号和实验编号,并共同作为主键。
[问题3]
由于授课教师负责给若干个班级开设若干门课程,因此,课程、班级和授课教师之间的关系是k:n:m联系。