填空题 设有一个自由表(表文件名为lwsj.dbf),用于记录某期刊发表的学术论文情况,其表结构(部分字段)如表1所示,表数据如表2所示。
表1 lwsj.dbf表文件的结构及其说明
字段名 含义 字段类型及宽度
lwbh 论文编号 C(10)
lwmc 论文名称 C(60)
gic 关键词 C(80)
表2 lwsj.dbf表的数据
lwbh lwmc gjc
2009G11011 商业生态系统视角的国际软件接包竞争
比较
商业生态系统/软件接包/接包竞争
2009J22012 国内情报学理论2008年研究热点及发
展趋势
情报学理论/研究热点/发展趋势/统计分析
2009F22105 我国信息共享空间研究文献计量学分析 信息共享空间/作者分布/文献计量学/统计
分析
…… …… ……
从表2中可以看出,每篇论文有多个关键词,且各个关键词之间用斜杠(/)分隔。为了基于所有论文统计关键词词频(即每个关键词出现次数),需要创建一个表结构如表3所示的表(表文件名为gjc),且将表2所示数据处理成表4所示的数据(表3中的每条记录与表4中多条记录对应,对应的记录数由关键词个数决定)。
表3 gjc.dbf表文件的结构及其说明
字段名 含义 字段类型及宽度
lwbh 论文编号 C(10)
gjc 关键词 C(20)
表4 gic.dbf表的数据
lwbh gjc
2009G11011 商业生态系统
2009G11011 软件接包
2009G11011 接包竞争
2009J22012 情报学理论
2009J22012 研究热点
…… ……
完善下列程序,其功能是:首先创建表gjc,然后根据表lwsj的数据生成表gjc的数据,最后利用SELECT-SQL语句生成并以降序方式显示关键词词频。
CLOSE TABLES ALL
1gjc(lwbh c(10), gjc c(20))
SELECT 0
USE lwsj
SCAN
c1=lwbh
c2=ALLT(gjc)+"/END"
DO WHILE"/"$c2
i=AT("/", c2)
c3=LEFT(c2, i-1)
INSERT INTO gjc(lwbh, gjc) 2(c1, c3)
c2=SUBS(c2, i+1)
ENDDO
SELECT lwsj
ENDSCAN
SELECT gjc AS关键词, COUNT(*)AS词频FROM gjc;
GROUP BY 1 ORDER BY 2 DESC
【正确答案】
【答案解析】CREATE TABLE;VALUES