问答题
[说明]
某地区举行篮球比赛,需要开发一个比赛信息管理系统来记录比赛的相关信息。
[需求分析结果]
1.登记参赛球队的信息。记录球队的名称、代表地区、成立时间等信息。系统记录球队的每个队员的姓名、年龄、身高、体重等信息。每个球队有一个教练负责管理球队,一个教练仅负责一个球队。系统记录教练的姓名、年龄等信息。
2.安排球队的训练信息。比赛组织者为球队提供了若干个场地,供球队进行适应性训练。系统记录现有的场地信息,包括:场地名称、场地规模、位置等信息。系统可为每个球队安排不同的训练场地,如表3-9所示。系统记录训练场地安排的信息。
表3-9 训练安排表 球队名称 | 场地名称 | 训练时间 | 解放军 | 一号球场 | 2008-06-09 14:00-18:00 | 解放军 | 一号球场 | 2008-06-12 09:00-12:00 | 解放军 | 二号球场 | 2008-06-11 14:00-18:00 | 山西 | 一号球场 | 2008-06-10 09:00-12:00 | |
3.安排比赛。该赛事聘请有专职裁判,每场比赛只安排一个裁判。系统记录裁判的姓名、年龄、级别等信息。系统按照一定的规则,首先分组,然后根据球队、场地和裁判情况,安排比赛(每场比赛的对阵双方分别称为甲队和乙队)。记录参赛球队、比赛时间、比分、场地名称等信息,如表3-10所示。
表3-10 比赛安排表 A组: 甲队…乙队 | 场地名称 | 比赛时间 | 裁判 | 比分 | 解放军…北京 | 一号球场 | 2008-06-17 15:00 | 李大明 | | 天津…山西 | 一号球场 | 2008-06-17 19:00 | 胡学梅 | | B组 甲队…乙队 | 场地名称 | 比赛时间 | 裁判 | 比分 | 上海…安徽 | 二号球场 | 2008-06-17 15:00 | 丁鸿平 | | 山东…辽宁 | 二号球场 | 2008-06-17 19:00 | 郭爱琪 | | |
4.所有球员、教练和裁判可能出现重名情况。
[概念模型设计]
根据需求阶段收集的信息,设计的实体联系图和关系模式(不完整)如下。
1.实体联系图(图3-20)
【正确答案】[问题2]
根据补充后的E-R图,球队与球员之间的1:N联系应通过将1端实体(球员)的主码(球队名称)加入到N端实体(球员)对应的关系中来表达。这类联系也可通过独立的一个关系来表达,如球队-球员 (球队名称,队员编号),这样会对查询增加多余的连接操作,因此一般不采用这种方法。
同样,球队与教练之间的1:1联系也应通过将一方的主码增加到另一方实体对应的关系中,来表达联系。
训练和比赛为多对多联系,只能独立成一个关系模式,取该联系相关联的各实体的码及联系自有的属性构成。如比分和分组应该是比赛的属性,再加上球队、裁判、场地的码,即构成“比赛记录”的关系模式。比赛记录关系模式的主键可以是“场地名称,比赛时间”,也可以是“裁判,比赛时间”,或者是“甲队,比赛时间”,再或者是“乙队,比赛时间”。其外键是“甲队,乙队,场地名称,裁判”。
同理,训练是球队和场地的多对多联系,训练开始时间和结束时间为训练的属性,加上球队的码和场地的码,构成“训练记录”关系模式。训练记录关系模式的主键可以是“球队,开始时间”,也可以是“场地名称,开始时间”,或者是“球队,结束时间”,再或者是“场地名称,结束时间”。其外键是“球队名称,场地名称”。
【答案解析】