问题 问答题

阅读下列说明,根据要求回答下列问题。
[说明]
某地区举行篮球比赛,需要开发一个比赛信息管理系统来记录比赛的相关信息。
[需求分析结果]
1.登记参赛球队的信息。记录球队的名称、代表地区、成立时间等信息。系统记录球队的每个队员的姓名、年龄、身高、体重等信息。每个球队有一个教练负责管理球队,一个教练仅负责一个球队。系统记录教练的姓名、年龄等信息。
2.安排球队的训练信息。比赛组织者为球队提供了若干个场地,供球队进行适应性训练。系统记录现有的场地信息,包括场地名称、场地规模、位置等信息。系统可为每个球队安排不同的训练场地,如表8-6所示。系统记录训练场地安排的信息。

表8-6 训练安排表

球队名称 场地名称 训练时间
解放军 一号球场 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.安排比赛。该赛事聘请了专职裁判,每场比赛只安排一个裁判。系统记录裁判的姓名、年龄、级别等信息。系统按照一定的规则,首先分组,然后根据球队、场地和裁判情况,安排比赛(每场比赛的对阵双方分别称为甲队和乙队)。记录参赛球队、比赛时间、比分、场地名称等信息,如表8-7所示。

表8-7 比赛安排表

                       A组:
甲队——乙队 场地名称 比赛时间 裁判 比分
解放军—北京 一号球场 2008-06-17 15:00 李大明
天津—山西 一号球场 2008-06-17 19:00 胡学梅
                       B组:
甲队——乙队 场地名称 比赛时间 裁判 比分
上海—安徽 二号球场 2008-06-17 15:00 丁鸿平
山东—辽宁 二号球场 2008-06-17 19:00 郭爱琪
4.所有球员、教练和裁判可能出现重名情况。
[概念模型设计]
根据需求阶段收集的信息,设计的实体联系图和关系模式(不完整)如下。
1.实体联系图(如图8-17所示)


2.关系模式
● 教练(教练编号,姓名,年龄)
● 队员(队员编号,姓名,年龄,身高,体重, (a) )
● 球队(球队名称,代表地区,成立时间, (b) )
● 场地(场地名称,场地规模,位置)
● 训练记录( (c) )
● 裁判(裁判编号,姓名,年龄,级别)
● 比赛记录( (d) )

[问题2]
根据你的实体联系图,完成关系模式,并给出训练记录和比赛记录关系模式的主键和外键。

答案

参考答案:填空:
(a)球队名称
(b)教练编号
(c)球队名称,场地名称,开始时间,结束时间
(d)甲队,乙队,比赛时间,场地名称,比分,裁判,分组
主键:
训练记录(球队,开始时间)或训练记录(场地名称,开始时间)
或训练记录(球队,结束时间)或训练记录(场地名称,结束时间)
比赛记录(场地名称,比赛时间)或比赛记录(裁判,比赛时间)
或比赛记录(甲队,比赛时间)或比赛记录(乙队,比赛时间)
外键:
训练记录的外键:球队名称,场地名称
比赛记录的外键:甲队,乙队,场地名称,裁判

解析:根据补充后的E-R图,球队与球员之间的1:N联系应通过将1端实体(球员)的主码(球队名称)加入到N端实体(球员)对应的关系中来表达。这类联系也可通过一个独立的关系来表达,如球队一球员(球队名称,队员编号),这样会对查询增加多余的连接操作,因此一般不采用这种方法。
同样,球队与教练之间的1:1联系也应通过将一方的主码增加到另一方实体对应的关系中,来表达联系。
训练和比赛为多对多联系,只能独立成一个关系模式,由该联系相关连的各实体的码及联系自有的属性构成。如比分和分组应该是比赛的属性,再加上球队、裁判、场地的码,即构成“比赛记录”的关系模式。比赛记录关系模式的主键可以是“场地名称,比赛时间”,也可以是“裁判,比赛时间”,或者是“甲队,比赛时间”,再或者是“乙队,比赛时间”。其外键是“甲队,乙队,场地名称,裁判”。
同理,训练是球队和场地的多对多联系,训练开始时间和结束时间为训练的属性,加上球队的码和场地的码,构成“训练记录”关系模式。训练记录关系模式的主键可以是“球队,开始时间”,也可以是“场地名称,开始时间”,或者是“球队,结束时间”,再或者是“场地名称,结束时间”。其外键是“球队名称,场地名称”。

单项选择题
单项选择题