⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vfp2-5.htm

📁 这是详细的VFP资料希望能对你们有所帮助
💻 HTM
字号:
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>第五节</title>
<meta name="GENERATOR" content="Microsoft FrontPage 3.0">
<link rel="stylesheet" href="../../../cpcw.css"></head>

<body background="../../bg.gif">
<table width="85%" border="0" align="center">
  <tr bgcolor="#FFFFFF"> 
    <td> 
      <p align="center"><font color="#008000"><strong><span class="title"><font color="#FF0099">第五节&nbsp;&nbsp; 
        索引</font></span><br>
        </strong></font></p>
      <p>  Visual FoxPro 中的索引和书中的索引类似。书中的索引是一份页码的列表,指向书中的页号。表索引是一个记录号的列表,指向待处理的记录,并确定了记录的处理顺序。</p>
      <p>  对于已经建好的表,索引可以帮助我们对其中的数据进行排序,以便加速检索数据的速度;可以快速显示、查询或者打印记录;还可以选择记录、控制重复字段值的输入并支持表间的关系操作。。</p>
      <p class="label">  表索引存储了一组记录指针<font color="#000000">。以查看 Customer 表中的记录为例,您可以按字母顺序列出公司的名称,按邮政编码的顺序准备邮寄清单,或者组织记录来加速查找过程</font><font
color="#008000">。</font></p>
      <p align="center"><img src="d2-5-1.jpg" width="447" height="234"
alt="d2-5-1.jpg (25756 字节)"></p>
      <p>  索引并不改变表中所存储数据的顺序,它只改变了 Visual FoxPro 读取每条记录的顺序。</p>
      <p>  一个表可以建立多个索引,每一索引代表一种处理记录的顺序。索引保存在一个结构复合索引文件中,在使用表时,该文件被打开并更新。复合结构索引文件名与相关的表同名,并具有 
        .cdx 扩展名。</p>
      <p>  由于建立索引的方法很简单,您或许想为每个字段建立一个索引。但是,不常用的索引往往也会降低程序的执行速度。</p>
      <p>本章要点:</p>
      <p> <a href="#5.1? 索引类型">5.1&nbsp; 索引类型</a></p>
      <p> <a href="#5.2? 建立索引">5.2&nbsp; 建立索引</a></p>
      <p> <a name="ugordering_by_multiple_fields" href="#5.3  用多个字段进行排序">5.3&nbsp; 
        用多个字段进行排序</a><a name="ugfiltering_records"></a></p>
      <p> <a href="#5.4筛选记录">5.4&nbsp; 筛选记录</a></p>
      <p> <a href="#5.5? 使用索引">5.5&nbsp; 使用索引</a></p>
      <p align="center"><strong><a name="ugchoosing_an_index_type"></a><a
name="5.1? 索引类型">5.1&nbsp; 索引类型</a></strong></p>
      <p>索引有四种可以选择的类型: 
      <ul>
        <li><font color="#008000"><strong>主索引</strong></font>:可确保字段中输入值的唯一性并决定了处理记录的顺序。可以为数据库中的每一个表建立一个主索引。如果某个表已经有了一个主索引,可以继续添加候选索引。<br>
        </li>
        <li><strong><font color="#008000">候选索引</font></strong>:象主索引一样要求字段值的唯一性并决定了处理记录的顺序。在数据库表和自由表中均可为每个表建立多个候选索引<font
    color="#000000"><br>
          </font></li>
        <li><font color="#008000"><strong>普通索引</strong></font>:也可以决定记录的处理顺序,但是允许字段中出现重复值。在一个表中可以加入多个普通索引。<br>
        </li>
        <li><font color="#008000"><strong>唯一索引:</strong></font>为了保持同早期版本的兼容性,还可以建立一个唯一索引,以指定字段的首次出现值为基础,选定一组记录,并对记录进行排序。</li>
      </ul>
      <p align="center"><a name="5.2? 建立索引"><b>5.2&nbsp; 建立索引</b> </a></p>
      <p> </p>
      <p>  在“表设计器”中,选择“索引”选项卡。 </p>
      <p align="center"> <img src="d2-5-2.jpg" width="587" height="298"
alt="d2-5-2.jpg (26811 字节)"></p>
      <ol>
        <li>在“索引名”框中,键入索引名。如果我们在“字段”选项卡中设置了索引,则索引名将自动出现。</li>
        <li>从“类型”列表中,选定索引类型。 </li>
        <li>在“表达式”框中,键入作为记录排序依据的字段名,或者通过选择表达式框后面的对话按钮,显示“表达式生成器”来建立表达式。</li>
        <li>若想有选择地输出记录,可在“筛选”框中输入筛选表达式,或者选择该框后面的按钮来建立表达式。如想显示编号&lt;6的记录,则在“筛选”框中选择或输入“编号&lt;6”。</li>
        <li>索引名左侧的箭头按钮表示升序还是降序,箭头方向向上时按升序排序,向下时则按降序排序。 </li>
        <li>选择“确定”。 </li>
      </ol>
      <p> 建好表的索引后,便可以用它来为记录排序。下面是排序的步骤:  
      <ol>
        <li>打开已建好索引的表。<br>
        </li>
        <li>选择“浏览”。<br>
        </li>
        <li>从“表”菜单中选择“属性”。<br>
        </li>
        <li>在“索引顺序”框中,选择要用的索引。<br>
        </li>
        <li>选择“确定”。 </li>
      </ol>
      <p>  显示在“浏览”窗口中的表将按照索引指定的顺序排列记录。选定索引后,通过运行查询或报表,还可对它们的输出结果进行排序。</p>
      <p align="center"><a name="5.3  用多个字段进行排序"><strong>5.3 &nbsp; 用多个字段进行排序</strong></a></p>
      <p>  为了提高对多个字段进行筛选的查询或视图的速度,可以在索引表达式中指定多个字段对记录排序。</p>
      <p class="label">步骤: 
      <ol>
        <li>打开“表设计器”。<br>
        </li>
        <li>在“索引”选项卡中,输入索引名和索引类型。<br>
        </li>
        <li>在“表达式”框中输入表达式,其中列出要作为排序依据的字段。 
          <p>例如,如果要按照技术职务、姓名的顺序对记录进行排序,可以用 “+” 号建立“字符型”字段的索引表达式:</p>
          <div align="left">
            <pre><code>               职工表.技术职务+职工表.姓名</code></pre>
          </div>
          <p class="tl">注意:列表中的第一项应该是变化最小的字段。</p>
        </li>
        <li>选择“确定”。 </li>
      </ol>
      <p>  如果想用不同数据类型的字段作为索引,可以在非“字符型”字段前加上 <code>STR( )</code>,将它转换成“字符型”字段。例如,先按“考核成绩”字段排序,然后按“姓名”排序。在这个表达式中, 
        “考核成绩”是一种数值型字段,“姓名”是一个字符型字段。</p>
      <pre><code>                    STR(考核成绩,1,2)+ 姓名</code></pre>
      <p>  注意:字段索引的顺序与它们在表达式中出现的顺序相同。如果用多个“数值型”字段建立一个索引表达式,索引将按照字段的和,而不是字段本身对记录进行排序。<code><br>
        </code></p>
      <p align="center"><a name="5.4筛选记录"><strong>5.4&nbsp; 筛选记录</strong></a></p>
      <p>  通过添加筛选表达式,可以控制哪些记录可包含在索引中。类似的操作前文已讲过,不再详述。</p>
      <p>步骤: 
      <ol>
        <li>打开“表设计器”。</li>
        <li>在“索引”选项卡中,创建或选择一个索引。</li>
        <li>在“筛选”框中,输入一个筛选表达式。 </li>
        <li>选择“确定”。 </li>
      </ol>
      <p align="center"><a name="5.5? 使用索引"><strong>5.5&nbsp; 使用索引</strong></a></p>
      <p>  通过建立和使用索引,可以提高完成某些重复性任务的工作效率,例如对表中的记录排序,以及建立表之间的关系等。根据所建索引类型的不同,可以完成不同的任务:</p>
      <table border="1" cellpadding="5" cols="2" frame="below" rules="rows">
        <tbody> 
        <tr valign="top"> 
          <td class="label" width="51%">
            <p align="center"><b>完成的任务</b>
          </td>
          <td class="label" width="49%">
            <p align="center"><b>使用的索引</b>
          </td>
        </tr>
        <tr valign="top"> 
          <td width="51%">排序记录,以便提高显示、查询或打印的速度</td>
          <td width="49%">使用普通索引、候选索引或主索引</td>
        </tr>
        <tr valign="top"> 
          <td width="51%">在字段中控制重复值的输入并对记录排序</td>
          <td width="49%">对数据库表使用主索引或候选索引,对自由表使用候选索引</td>
        </tr>
        </tbody> 
      </table>
      <h3>5.5.1 对记录进行排序</h3>
      <p>  对记录排序可以用字段名或其他索引表达式。如果用的是表达式,索引将对其进行计算,以此确定记录出现的顺序,然后存储一个按此顺序处理表中记录的指针列表。</p>
      <h3>5.5.2&nbsp; 控制字段中重复值的输入</h3>
      <p>  我们只需在“类型”一栏,将某一字段设置为“主索引”或“候选索引”就可以控制字段重复值的输入,强制在字段中输入唯一的值。例如:每个客户在“Customer”表中的“Cust_ID”字段只能有一个唯一的值。</p>
      <p align="center"><img src="d2-5-3.jpg" width="317" height="173"
alt="d2-5-3.jpg (13524 字节)"></p>
      <p>  用该字段作为关键字段可以唯一确定每一条记录。如果该表为某数据库的一部分,可以采用主索引或是候选索引。如果该表是自由表,并且已经有了一个主索引,您就必须采用候选索引。再如,我们将花名册表中的“编号”设为主索引或侯选索引,则在输入新的记录时,如有和前面重复的,则不能输入。</p>
      <p align="right"><a href="vfp2.htm">返回</a>&nbsp; <a
href="vfp2-4.htm">上一节</a>&nbsp; <a
href="vfp2-6.htm">下一节</a></p>
      <p align="center"><a href="http://www.cpcw.com">电脑报首页</a> <a href="../../index.htm">网络学院首页</a></p>
</td>
  </tr>
</table>
<p align="center"><font color="#008000"><strong> </strong></font> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
</p>

</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -