问答题
阅读下列说明,回答问题。
[说明]
某地区举行篮球比赛,需要开发一个比赛信息管理系统来记录比赛的相关信息。
[需求分析结果]
(1)登记参赛球队的信息。记录球队的名称、代表地区、成立时间等信息。系统记录球队每个队员的姓名、年龄、身高、体重等信息。每个球队有一个教练负责管理球队,一个教练仅负责一个球队。系统记录教练的姓名、年龄等信息。
(2)安排球队的训练信息。比赛组织者为球队提供了若干个场地,供球队进行适应性训练。系统记录现有的场地信息,包括:场地名称、场地规模、位置等信息。系统可为每个球队安排不同的训练场地,如表7.15所示,系统记录训练场地安排的信息。
表7.15训练安排表
|
| 球队名称 | 场地名称 | 训练时间 |
| 解放军 | 一号球场 | 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)安排比赛。该赛事聘请专职裁判,每场比赛只安排一个裁判。系统记录裁判的姓名、年龄、级别等信息。系统按照一定的规则,首先分组,然后根据球队、场地和裁判情况,安排比赛(每场比赛的对阵双方分别称为甲队和乙队)。记录参赛球队名称、比赛时间、比分、比赛场地等信息,如表7.16所示。
表7.16比赛安排表
A组:
| 甲队——乙队 | 场地名称 | 比赛时间 | 裁判 | 比分 |
| 解放军——北京 | 一号球场 | 2008-06-17 15: 00 | 李大明 | |
| 天津——山西 | 一号球场 | 2008-06-17 17: 00 | 胡学海 | |
B组:
| 甲队——乙队 | 场地名称 | 比赛时间 | 裁判 | 比分 |
| 上海——安徽 | 二号球场 | 2008-06-17 15: 00 | 丁鸿甲 | |
| 山东——辽宁 | 二号球场 | 2008-06-17 19: 00 | 郭爱琪 | |
(4)所有球员、教练和裁判可能表出现重名情况。
[概念模型设计]
根据需求阶段收集的信息,设计的实体联系图和关系模式(不完整)如下。
(1)实体联系图(如图7.8所示)
【正确答案】修改后的实体联系图如图7.10所示。

【答案解析】[分析]
本题考查数据库设计,设计考点有:数据库的概念结构设计和逻辑结构设计。
[问题1] 一个球队必然有多名队员,所以球队和队员之间的关系是一对多;一个球队可到多个场地进行比赛,同时一个场地也可以给多个球队来比赛,所以球队和场地之间的关系是多对多;由于球队和场地之间的关系有“比赛”和“训练”,所以图7-9中在它们之间设置了两个关系。一个球队在参加比赛时可以任意聘请裁判,同时一个裁判可以给多个球队的比赛做裁定,因此球队和裁判之间的关系是多对多。
[问题2] 本题要求补充完整各关系模式,考查的是数据库的逻辑结构设计。考生仔细分析题目中的需求分析结果,此题不难做出。
(1)记录中已有队员的基本信息,另外,一个队员必然是属于某个球队的,所以(a)空填写:球队名称。
(2)需求分析结果已经说明,每个球队有一个教练负责管理球队,所以(b)空中填写:教练编号。
(3)由需求分析结果,比赛组织者为球队提供若干个场地,供球队进行适应性训练。系统可为每个球队安排不同的训练场地。由训练安排表可以很容易判断出训练记录的属性:球队名称,场地名称,开始时间,结束时间。主键表示该记录的唯一性。不同时间段有不同的球队在不同的场地训练,所以训练时间的不同能够区分不同的记录,所以“训练记录”关系模式的主键是:(球队,开始时间)或(球队,结束时间)或(场地名称,开始时间)或(场地名称,结束时间)。它的外键是:场地名称,球队名称。
(4)同样,由比赛安排表可知比赛记录的属性有:甲队,乙队,比赛时间,球场名称,比分,裁判,分组。一支球队在某个时间进行一场比赛,可以确定一条比赛记录,所以可以用(甲/乙队,比赛时间)来做比赛记录关系模式的主键;一个场地在某个时间进行一场比赛,也可以确定一条比赛记录,所以可以用(场地名称,比赛时间)来做比赛记录关系模式的主键;某个时间的一场比赛由一个裁判来执行,也可以确定一条比赛记录,所以可以用(裁判,比赛时间)来做比赛记录关系模式的主键。它的外键是:甲队,乙队,场地名称,裁判。
[问题3] 此题新增加一个实体——热心球迷,每个球迷可能支持多个球队,当然一个球队有许多个球迷在支持,所以热心球迷和球队之问的关系是多对多。题目中已经指出热心球迷包括:姓名、住址和喜欢的俱乐部等基本信息,但是球迷之间可能有重名现象,所以要加一个“球迷编号”属性。