阅读下列说明和E-R图,回答问题1至问题3。
[说明]
有个关于运动会的管理系统,在该系统中,委员会为每一个参赛的运动员赋以一个唯一的编号“运动员号”,同时记录姓名、性别、年龄和队名,姓名和队名必须填写。
一个运动员属于且只属于一个队,一个运动员可以参赛多个项目。运动员参加比赛取得一个成绩,相应有一个积分:第一名积分6分,第二名积分4分,第三名积分2分,其他的没有积分。一个队的总积分是该队的所有队员的积分之和。
下图是该系统的E-R图。图中的实体和属性同时给出了中英文两种名字,回答问题时只需写出英文名即可。
[图2-1]
根据E-R图中给出的词汇,按照“有关模式名(属性,属性,…)”的格式,将此E-R图转换为3个关系模式,指出每个关系模式中的主码和外码,其中模式名根据需要取实体名或联系名。
第1题:
某运动会管理系统数据库的部分基本表:运动员(运动员编号,姓名,性别,队别),项目(项目编号,名称,比赛地点,比赛时间),比赛(运动员编号,项目编号,成绩)。主键依次是运动员编号、项目编号、运动员编号与项目编号的组合(该组合里的属性是外键)。能够进行数据更新的视图是()。
A.CREATE VIEW 运动员_上海 AS SELECT 运动员编号,姓名,性别 FROM 运动员 WHERE 队别='上海';
B.CREATE VIEW 运动员_上海 AS SELECT 姓名,性别 FROM 运动员 WHERE 队别='上海';
C.CREATE VIEW 赛况 AS SELECT 运动员.运动员编号,姓名,名称,成绩 FROM 运动员,比赛,项目 WHERE 运动员.运动员编号=比赛.运动员编号 AND 比赛.项目编号=项目.项目编号;
D.CREATE VIEW 团队排名(队名,总分) AS SELECT 队别,SUM(成绩) FROM 运动员,比赛 WHERE 运动员.运动员编号=比赛.运动员编号 GROUP BY 队别;
第2题:
某运动会管理系统数据库的部分基本表:运动员(运动员编号,姓名,性别,队别),项目(项目编号,名称,比赛地点,比赛时间),比赛(运动员编号,项目编号,成绩)。主键依次是运动员编号、项目编号、运动员编号与项目编号的组合(该组合里的属性是外键)。下列能正确查询出“来自江浙沪的女运动员的运动员编号和姓名”的选项是()。
A.SELECT 项目编号,姓名 FROM 运动员 WHERE 队别 = '上海'OR'江苏'OR'浙江' AND 性别='女';
B.SELECT 项目编号,姓名 FROM 运动员 WHERE 队别 = '上海' OR 队别 = '江苏' OR 队别 = '浙江' AND 性别='女';
C.SELECT 项目编号,姓名 FROM 运动员 WHERE 队别 = ('上海','江苏','浙江') AND 性别='女';
D.SELECT 项目编号,姓名 FROM 运动员 WHERE 队别 IN ('上海','江苏','浙江') AND 性别='女';
第3题:
校田径运动会设置了多种比赛类别,每一个比赛类别包含多个比赛项目,每一个比赛项目属于某一个比赛类别;每一名运动员可以参加多个比赛项目,每一个比赛项目可以有多名运动员参加,运动员参加比赛有成绩。比赛类别的属性有类别编号、类别名称,比赛项目的属性有项目编号、项目名称、比赛时间,运动员的属性有编号、姓名、年龄、性别。 (1)根据上述语义画出比赛类别、比赛项目和运动员的E-R图
第4题:
某运动会管理系统数据库的部分基本表:运动员(运动员编号,姓名,性别,队别),项目(项目编号,名称,比赛地点,比赛时间),比赛(运动员编号,项目编号,成绩)。主键依次是运动员编号、项目编号、运动员编号与项目编号的组合(该组合里的属性是外键)。能正确查询“参赛项目超过2项的男运动员编号和姓名”的选项是()。
A.SELECT 运动员.运动员编号,姓名 FROM 运动员,比赛 WHERE 运动员.运动员编号=比赛.运动员编号 GROUP BY 运动员.运动员编号,姓名 HAVING COUNT(项目编号)>2 AND 性别='男';
B.SELECT 运动员.运动员编号,姓名 FROM 运动员,比赛 WHERE 运动员.运动员编号=比赛.运动员编号 AND 性别='男' GROUP BY 运动员.运动员编号,姓名 HAVING COUNT(*)>2;
C.SELECT 运动员.运动员编号,姓名 FROM 运动员,比赛 WHERE 运动员.运动员编号=比赛.运动员编号 AND COUNT(*)>2 AND 性别='男' GROUP BY 运动员.运动员编号,姓名;
D.SELECT 运动员.运动员编号,姓名 FROM 运动员,比赛 WHERE 运动员.运动员编号=比赛.运动员编号 AND 性别='男' GROUP BY 比赛.运动
第5题:
能正确查询“参赛项目超过2项的男运动员编号和姓名”的选项是()。
A.SELECT 运动员.运动员编号,姓名 FROM 运动员,比赛 WHERE 运动员.运动员编号=比赛.运动员编号 GROUP BY 运动员.运动员编号,姓名 HAVING COUNT(项目编号)>2 AND 性别='男';
B.SELECT 运动员.运动员编号,姓名 FROM 运动员,比赛 WHERE 运动员.运动员编号=比赛.运动员编号 AND 性别='男' GROUP BY 运动员.运动员编号,姓名 HAVING COUNT(*)>2;
C.SELECT 运动员.运动员编号,姓名 FROM 运动员,比赛 WHERE 运动员.运动员编号=比赛.运动员编号 AND COUNT(*)>2 AND 性别='男' GROUP BY 运动员.运动员编号,姓名;
D.SELECT 运动员.运动员编号,姓名 FROM 运动员,比赛 WHERE 运动员.运动员编号=比赛.运动员编号 AND 性别='男' GROUP BY 比赛.运动