●试题三 有下列关于运动会管理系统的ER图,如图10所示。图中矩形表示实体,圆表示属性,双圆表示关
●试题三
有下列关于运动会管理系统的ER图,如图10所示。图中矩形表示实体,圆表示属性,双圆表示关键字属性,菱形表示实体之间的关系。假定已通过下列SQL语言建立了基本表。
CREATE TABLE ATHLETE
(ANO CHAR (6) NOT NULL,
ANAME CHAR (20) ,
ASEX CHAR (1) ,
ATEAM CHAR (20) );
CREATE TABLE ITEM
(INO CHAR (6) NOT NULL,
INAME CHAR (20) ,
ITIME CHAR (12) ,
IPLACE CHAR (20) ;
CREATE TABLE GAMES
(ANO CHAR (6) NOT NULL,
INO CHAR (6) NOT NULL,
SCORRE CHAR (10) );
为了答题的方便,图中的实体和属性同时给出了中英文两种文字,回答问题时只需写出英文名即可。
【E-R图】
图10 E-R图
【问题】
填充下列SQL程序1~4中的 (1) ~ (7) ,使它们分别完成相应的功能:
程序1:统计参加比赛时男运动员人数。
SELECT (1)
FROM ATHLETE
WHERE ASEX=′M′;
程序2:查100872号运动员参加的所有项目及其比赛时间和地点。
SELECT ITEM,INO,IN A ME,ITIME,IPLACE
FROM GAMES,ITEM
WHERE (2) ;
AND (3) ;
程序3:查参加100035项目的所有运动员名单。
SELECT ANO,ANAME,ATEAM
FROM ATHLETE
WHERE (4) ;
(SELECT (4) (5)
FROM GAMES
WHERE GAMES.ANO=ATHLETE.ANO AND INO="100035");
程序4:建立运动员成绩视图。
(6) ATHLETE-SCORE
AS SELECT ATHLETE,ANO,ANAME,ATEAM,INAME,SCORE
FORM (7) WHERE ATHLETE.ANO=GAMES.ANO AND GAMES.INO=ITEM.INO;
●试题三【答案】(1)COUNT(*)(若答COUNT或COUNT*得2分)(2)GAMES.INO=IFEM.INO(3)GAMES.ANO='100872'(注:(2)、(3)可互换、无前缀得1分)(4)EXISTS(5)*或ANO或INO或SCORE或后3个列名的任意组合(6)CREATEVIEW(7)ATHLETE,ITEM,GAMES(3项可交换。)注:(4)、(5)也可为(4)ANOIN(5)ANO【解析】本题是关于系数据库标准语言--SQL(StructuredQueryLanguage)语言的题目,由题目中给出的ER图可知3个表中,ATHLETE和ITEM是基本表,表ATHETE的主键是运动员编号ANO,表ITEM的主键是项目编号INO,表GAMES是一个视图,以ANO、INO为外键。程序1统计参加比赛的男运动员人数,也就是表ATHLETE中,AEX=′M′的记录的个数,所以要用到库函数COUNT(*)。这里要注意的是COUNT与COUNT(*)区别,COUNT的功能是对一列中的值计算个数,而COUNT(*)才是计算数据库中记录的个数。所以填空①的答案为"COUNT(*)"。程序的2统计100872号运动员参加的所有项目及比赛时间和地点,所以SELECT后面的内容是项目编号ITEM.INO、项目名称INAME时间ITIME及地点IPLACE。统计涉及比赛表GAMES和项目表ITEM,所以FROM后面的内容为GAMES、ITEM。本题考的是连接查询,所谓连接查询指的是涉及两个以上的表的查询。由于是统计100872号运动员参加的所有项目及比赛时间和地点,所以查询条件中必然有GAMES.INO=′100872′(程序中引用到字段时,若字段名在各个表中是惟一的,则可以把字段名前的表名去掉,否则,应当加上表名作为前缀,以免引起混淆)。由于GAMES表中只有比赛的成绩,那些关于项目的数据必须从项目表ITEM中取得,所以还应该有两个表之间的关联,即GAMES.INO=TTEM.INO。所以填空②和③可交换,不影响查询结果。程序3要求查参加100035项目的所有运动员名单。分析查询表达式,必首先查询GAMES表,找出参加100035项目的那些运动员的编号ANO,即GAMES.ANO=ATHLETE.ANOANDINO=′100035′,然后再根据查询到的运动员号ANO从ATHLETE表中抽取运动员的数据。所以填空④的答案为"EXISTS"或"ANOIN",填空⑤的答案为"ANO"。程序4要求建立运动员成绩视图。建立视图的命令为CREATEVIEW,所以填空⑥的答案一定是"CREATEVIEW"。建立的是运动员成绩视图,那么一定涉及运动员情况、运动员参加的项情况和该项目的成绩,所以要用到ATHLETE、ITEM和GAMES这3个表,因此FROM子句后为ATHLETE、GAMES、ITEM,3个表可以是任意次序,不影响结果。
化学课堂上老师演示了如下图所示的几个实验:(1)图1中下层蜡烛先熄灭,上层蜡烛后熄灭,据此说明二氧 化学 2020-05-13 …
化学课堂上老师演示了如下图所示的几个实验:(1)图1中下层蜡烛先熄灭,上层蜡烛后熄灭,据此说明二氧 其他 2020-05-13 …
下列图1、图2分别为某草原生态系统和某湖泊生态系统的反馈调节示意图,请据图回答下列问题.(1)作为 语文 2020-05-16 …
如图,读某海域等温线示意图(图1)和世界海陆分布图(图2),回答下列问题.(1)图1中该海域位于( 语文 2020-05-16 …
如图模拟膈肌的运动,依图回答问题(1)在下列装置中,图1中所示的各部分分别表示什么结构ABCDE( 语文 2020-07-02 …
如图模拟膈肌的运动,依图回答问题(1)在下列装置中,图1中所示的各部分分别表示什么结构ABCDE( 语文 2020-07-02 …
(14分)图1为地质构造示意图,图2丰富多彩的地貌景观图。据图回答下列问题。(1)说出图1中①、②两 语文 2020-11-21 …
下面是小明进行物理探究实验时进行的基本测量,请帮他完成:(1)图1中所示的体温计的示数是℃.(2)图 物理 2021-01-05 …
图1表示植物从土壤中吸收某矿质离子的示意图,图2表示某生物膜的部分结构,图中A、B、C、D表示某些物 语文 2021-01-05 …
图1表示植物从土壤中吸收某矿质离子的示意图,图2表示某生物膜的部分结构,图中A、B、C、D表示某些物 语文 2021-01-05 …