当前位置:洪恩在线 -> 继续教育 -> 计算机考级 -> 二级FOXBASE+语言
 

  计算机考试
 


  FOXBASE+    


  建立索引文件

     在数据库系统中,检索查询是数据库最基本的应用,其他许多操作都以此为先导。因此,影响运行效率的主要因素是查询速度。

     首先用一个通俗的例子来说明索引的概念。假设要在书中找到建立数据库的命令,有两种方法达到此目的,其一是从第一页开始顺序往后翻阅,直至查到为止;其二是首先查看书前面的目录,先找到建库命令的页号,再直接翻到该页。目录在此起到了索引的作用。显然,通过索引查询可以大大提高检索速度。

     可以把索引文件设想成索引关键字的值与记录号的对照表。查询时先在索引文件中找到某字段值所在的记录号,再到数据库里直接定位。实际上系统中的索引文件是远比对照表复杂得多的索引机构,这种机构使顺序查找和随机查找都有较高的效率。

    一、建立索引文件

     用命令可以对记录按索引关键字表达式升序建立索引文件,索引文件本身不能直接显示,必须与原数据库一起使用。

     命令格式:

     INDEX ON<索引关键字表达式>TO<索引文件名>[UNIQUE]

     功能注释:

     (1)索引关键字表达式可以是单个字段,也可以是FoxBASE的合法表达式,表达式的值只能是数值型、字符型或日期型。表达式最长为100个字符。

     (2)索引文件的默认扩展名是.IDX,它是一种按表达式的值升序排列的索引组织。

     (3)建立与使用索引并不改变数据库的物理记录顺序。不能在屏幕上直接显示索引内容,只能借助索引对原数据库进行逻辑排序。

     (4)刚建立的索引文件自动打开,自动起作用。

     (5)选用UNIQUE时,在多个记录的索引关键字值相同的情况下,只把相同值的第一个记录包含在索引文件中,称为唯一索引。不选用LNIQUE时,索引文件包含所有记录的索引。

    二、多重索引

     以上两个例子都是对单个字段建立索引,除了逻辑型、备注型字段外,其他类型的字段均可以建立索引文件。在INDEX命令中只有一个索引关键字表达式,单个字段变量属于表达式最简单的情况。由于INDEX命令不像 SORT命令那样直接提供多重排序的表示方法,如果要建立二重索引,必须用一个表达式反映出来。常用的方法是用字符型表达式来表示。

     这里介绍一个数据类型转换函数:

     STR(<数值表达式>[,<长度>][,<小数位>])

     其功能是把数值型数据转换成字符型数据。小数点和负号均计作一位,缺省小数,按整数处理,缺省长度和小数按固定长度10处理。

    三、降序索引

     在SORT命令中,用/A或/D来指明升序或降序。然而INDEX命令只能按索引关键字表达式的值升序排列。如果要想降序索引,也必须用一个表达式反映出来。常用的方法是用一个足够大的数减去数值型字段或者取负数。这样处理仅仅影响记录在索引文件中的顺序,并不对数据记录本身产生任何影响。

课堂提问:
问题

 


简单举例
例子
基础测试
测试