填空题
设有一个自由表(表文件名为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