680 likes | 801 Views
第三章. 表的建立与基本操作. 第三章 表的建立与基本操作. 3.1 创建数据表 3.2 表结构的编辑 3.3 表的基本操作 3.4 排序与索引 3.5 索引查找 3.6 记录的统计与计算. 第三章 表的建立与基本操作. 3.1 创建数据表
E N D
第三章 表的建立与基本操作
第三章 表的建立与基本操作 3.1 创建数据表 3.2 表结构的编辑 3.3 表的基本操作 3.4 排序与索引 3.5 索引查找 3.6 记录的统计与计算
第三章 表的建立与基本操作 • 3.1 创建数据表 • 数据库实际上是由多个表构成的集合,数据库的操作实质上是表的操作。Visual FoxPro中表一般包含在数据库中,称为数据库表。表也可以脱离数据库独立存在,称为自由表。从数据库内部创建的表,总是数据库表;直接创建的表是自由表。自由表可以随时添加到数据库中,成为数据库表;数据库表也可以随时移出数据库,成为自由表。
第三章 表的建立与基本操作 • 3.1.1 设计表结构 • 在利用Visual FoxPro建立一个新表之前,应当先分析和设计表,了解表中记录要表示怎样的信息以及表的目的,据此设计表中的字段,从而确定表的结构。 • 对学生档案数据库,建立“学生”表来存储学生的个人信息,包括学号、姓名、性别、出生日期、简历等,这些内容是相对独立的,应由不同的字段来表示。而关于学生的成绩与每人选修的课程相关,VF中建立的表是二维关系表,“学生”表如果太复杂不利于操作,所以成绩和课程需要另外建表来处理。如果想知道学生的总体信息,只要将几个相关表中的数据组合,即可得到。据此,建立表3.1、表3.2、表3.3三个表分别表示学生个人信息、课程信息和成绩信息。
第三章 表的建立与基本操作 • 3.1.1 设计表结构 • Visual FoxPro系统规定其表文件最多可由255个字段组成。在设计表结构时,应遵循Visual FoxPro系统对字段名、类型、宽度和小数位的规定。 • (1)字段名 • 字段名又称字段变量,它的命名规则与内存变量相同,最长为10个字符,允许由字母、汉字、数字和下划线组成,但必须以字母或汉字开头,中间不能有空格。 • (2)字段类型 • 表中的每一个字段由于其数据代表的意义不同,因而都有特定的数据类型,例如姓名、成绩、出生日期这3个字段的类型是各有相同的,在Visual FoxPro中,分别用字符型、数值型或整型、日期型来表示的。熟悉各种数据类型可以帮助我们更方便地对表进行操作。
第三章 表的建立与基本操作 • 3.1.1 设计表结构 • (3)字段宽度 • 对每个字段都需要确定其宽度,字段宽度表示字段中可以存放数据的最大字符数。 • 各种数据类型的字段宽度如表3.4所示,除字符型、二进制字符型、数值型和浮动型外,其它9种字段宽度是固定不变的。
第三章 表的建立与基本操作 • 字段宽度
第三章 表的建立与基本操作 • (4)小数位数 • 数值型字段、双精度型字段、浮点型字段、货币型字段有小数位。只有在需要设计时才规定小数位,否则这个规定可以省略。小数位的最大宽度必须小于字段宽度减2,即要留出小数点前的0和小数点。 • 另外,Visual FoxPro的表文件是真正含义的数据库表文件,所以在设计自由表结构时,还需要考虑字段是否支持空值(NULL)、如何建立索引等。
第三章 表的建立与基本操作 • 3.1.2 建立表结构 • 建立表结构有两种方式,一种是通过表设计器来建立,一种是通过表向导在已有的表的基础上建立一个新表。本节主要说明表设计器的建表步骤。 • 一、用表设计器建表 • 1、表设计器第一步:指定表名及保存位置 • 在图3.1的新建对话框中,选择表,单击“新建文件”,打开创建新文件的对话框,图3.2所示,选定保存位置,输入表文件名(如本例中“学生”),可以不输扩展名,系统会自动加上扩展名.dbf,单击“保存”按钮。 • 2、表设计器第二步:在表设计器中输入各字段名,设置各字段的数据类型、宽度、小数位数。 • 在图3.3(a)刚刚打开的表设计器中,输入表3.5中给定的内容,逐次输入字段名、类型、宽度及小数位数,输入完毕的表结构如图3.3(b)所示。
第三章 表的建立与基本操作 学生表的表结构 新建对话框
第三章 表的建立与基本操作 • 3、表设计器第三步:录入数据 完成图3.3(b)中各个字段值的设置之后,按“确定”按钮,系统显示如图3.4的对话框,单击“是”,打开图3.5输入记录窗口,表示立即输入记录值;如果单击“否”,结束表结构的设计,以后再录入数据。 在图3.5中,各条记录之间用横线隔开,左边显示字段的名称,用颜色块标识当前字段的输入区的大小。用户输完一条记录后,系统自动定位到下一条记录。全部记录输入完毕后,关闭编辑窗口,完成记录的录入操作,表创建完成。
第三章 表的建立与基本操作 • 二、用命令建表 • 在命令窗口中输入以下命令同样可以打开表设计器创建表。 • 命令格式: • CREAT <表文件名[.DBF]> • 如果要建立课程表,则在命令窗口键入命令: • CREAT 课程.DBF • 回车之后,系统同样打开图3.3的表设计器窗口,再按照前面同样的步骤就可以建立课程表。 • 另外,还可以用表向导建立表,利用Visual FoxPro提供的样本表,选择样本表中的结构和字段,构成所需的表结构。用向导创建的表也可以在保存之后再使用表设计器修改。
第三章 表的建立与基本操作 • 3.2 表结构的编辑 • 3.2.1 表结构的修改 • 表建立之后,随着对表的操作和情况的变化,有时需要修改表结构。例如,增加字段、删除字段,修改字段名、字段类型宽度、小数位、是否允许空值等,学习索引之后还要添加、修改或删除索引标识等。通常打开表设计器来修改表结构,也可以命令方式来修改表结构。例如,在“学生”表增加“年龄”字段,将奖学金改为数值型。
第三章 表的建立与基本操作 • 1、菜单方式 • 在“文件”菜单中选择“打开”命令,在“打开”对话框中选择要打开的表,如双击打开“学生”表。 • 在“显示”菜单中选择“浏览学生”命令,打开“学生”表浏览窗口。 • 再次选择“显示”菜单,选择“表设计器”命令,打开表设计器,如图3.6选中“简历”字段,单击“插入”按钮,则在“简历”字段前插入“新字段”,修改字段名称为“年龄”,字段类型为“整型”,然后单击“确定”弹出图3.7示“是否永久修改”,单击“是”。 • 注意:修改表结构同设计表结构类似,但在修改时要注意防止数据的丢失。
第三章 表的建立与基本操作 • 2、命令方式 • 格式:MODIFY STRUCTURE • 功能:打开表设计器修改表结构。 • 说明:在打开表以后,执行MODIFY STRUCTURE命令,将打开表设计器对表结构进行修改。 • 注意: • 修改字段类型时,并不完全转换字段的内容,或者根本不转换。例如,如果将日期类型的字段转换成数值类型,字段内容是不转换的。 • 在更改表结构之前,Visual FoxPro自动备份当前表。在修改完以后,将备份表中包含的数据追加到新修改的表结构中。如果表中有一个备注字段,也将创建一个备注备份文件。表备份文件的扩展名为.BAK,备注备份文件的扩展名是.TBK。 • 当修改一个具有备注字段的表结构时,备注文件的块大小设置为当前的块大小。可以用SET BLOCKSIZE命令指定备注文件的块大小。
第三章 表的建立与基本操作 • 3.2.2 表结构的显示 • 格式1:DISPLAY STRUCTURE [IN <工作区号>/<别名>] • 格式2:LIST STRUCTURE [IN <工作区号>/<别名>] • 功能:两条命令的功能相同,都是显示当前打开的表文件的结构,只是DISPLAY STRUCTURE分页显示,而LIST STRUCTURE连续滚动显示。 • 命令说明: • 显示当前打开的表的字段结构,包括每个字段的名称、类型和宽度。如果字段是数值型、双精度型、浮点型或货币型的,还将显示小数点在字段中放置的位数,也支持显示空值。 • 显示表中当前的记录数和最近更新的日期。如果表中有一个相关备注字段,则显示备注字段块的大小。 • 显示所有字段的总宽度和表的代码页。 • 如果建立了结构复合索引文件,则在字段名同行显示该索引的排列顺序。
第三章 表的建立与基本操作 • 例如,显示“学生.DBF”表结构,可以使用下列命令: • USE 学生 • DISPLAY STRUCTURE • 在图3.8中,总计的字节数为38,比各字段宽度之和多1个字节,用来存放删除标记“*”。
第三章 表的建立与基本操作 • 3.3 表的基本操作 • 3.3.1 表的打开和关闭 只有刚刚创建的表是自动打开的,否则任何对表的操作,首先应当打开表。在结束对表的操作后,应及时关闭表文件,将内存中的数据存回磁盘。如果没有及时关闭文件,由于人为的误操作或突然停电等因素,有可能造成数据的破坏或损失。
第三章 表的建立与基本操作 • 一、表的打开 • 表文件的打开有两种方式:菜单方式和命令方式。 • 1、菜单方式。 • 选择“文件”菜单,单击“打开”命令。 • 单击“打开”按钮。 • 选择“窗口”菜单,选择“数据工作期”命令,在“数据工作期”对话框中,单击“打开”按钮。采用上述几种菜单方式后,均会出现“打开”对话框,双击要打开的表名后,即可打开表文件。 • 2、命令方式。 • 格式:USE <表文件名> • 功能:打开表文件名。
第三章 表的建立与基本操作 • 二、表的关闭 • 关闭表文件的方法有以下几种: • 1、菜单方式 • 选择“窗口”菜单,选择“数据工作期”命令,在“数据工作期”对话框中,选择表的别名后,单击“关闭”按钮。 • 2、命令方式。 • 使用不加表名的USE 命令,在当前工作区中关闭一个已打开的表文件。 • 在一个工作区中打开另一个表时,原来在该工作区中打开的表自动关闭。 • CLOSE TABELS命令关闭在所有工作区打开的自由表。 • CLEAR ALL、CLOSE ALL等命令也将关闭表文件。 • 正常退出Visual FoxPro将关闭一切文件。
第三章 表的建立与基本操作 • 例3.1关闭表文件。 • USE 学生 &&打开学生.DBF表文件 • USE &&不带任何选项的USE命令关闭当前工作区打开的学生.DBF文件 • USE课程 &&打开课程.DBF表文件 • USE成绩 &&在打开成绩.DBF时自动关闭原先打开的课程.DBF表文件
第三章 表的建立与基本操作 • 3.3.2 表的编辑与修改 • 打开表文件之后,Visual FoxPro主窗口没有任何显示信息,此时应当打开浏览窗口才能查看表内容。打开浏览窗口有以下几种方式: • 在“项目管理器”中选定表后,单击“浏览”按钮。 • 在“数据工作期窗口”中选定表后,单击“浏览”按钮。 • 打开表后,在命令窗口中输入命令:BROWSE 或BROWSELAST • 打开表后,选择“显示”菜单命令,在下拉菜单中选择浏览命令。
第三章 表的建立与基本操作 • (1)添加记录 打开浏览窗口后,在图3.10的“表”菜单中 选择“追加新记录”或在“显示”菜单中选择 “追加方式”,浏览窗口尾部会增加一条空 白记录,光标此时定位在空白记录的第一 个字段,在此空白记录处输入新的记录值 (图3.9(b))。 表菜单
第三章 表的建立与基本操作 对于备注型字段,双击备注字段,或用Ctrl+PageDown、Ctrl+PageUp命令,就会打开备注字段的编辑窗口,图3.11所示。编辑完后,关闭该窗口,此时memo的第一个字母变成大写,即Memo。 (2)修改记录 在浏览窗口中,单击要修改的字段就可以了。 (3)删除记录、 Visual FoxPro中的删除记录分为逻辑删除和物理删除两种,逻辑删除只是将记录加上删除标记,并未真正删除,还可以恢复;物理删除是从表中真正删除记录,无法恢复。
第三章 表的建立与基本操作 • 3.3.3 输入记录 • 在创建表时可以根据系统提示立即输入记录,也可以不输入记录。没有记录的表叫空表,可以随时向空表追加记录,也可以向已有记录的表追加记录。 • 一、创建时输入记录 • 见表设计器第三步,图3.5输入记录窗口。 • 二、添加记录 • 1、追加记录 • APPEND命令可以在表的末尾增加一条或多条记录。 • 命令格式: • APPEND [BLANK] [IN <工作区号>|<别名>][NOMENU] • 参数说明: • BLANK:在当前表的末尾增加一条空白记录。
第三章 表的建立与基本操作 • IN <工作区>:指定表的工作区 • IN <别名>:指定表的别名 • 忽略该选项,新记录添加到当前工作区的表中 • NOMENU:禁止在系统菜单条上显示“表”菜单,防止用户对表的格式进行编辑 • 2、添加备注字段 • APPEND命令可以把文本文件的内容复制到备注字段中。 • 命令格式:APPEND MEMO <备注字段名> FROM <文本文件名> [OVERWRITE] … • 参数说明: • OVERWRITE:如无,文件内容将追加到指定备注字段中; 如有,用文件的内容替换备注字段当前的内容。
第三章 表的建立与基本操作 • 例 3.3把stud.txt文本文件内容复制到“简历”字段中。 • USE 学生 • APPEND MEMO 简历 FROM stud.txt • MODIFY MEMO 简历 • USE
第三章 表的建立与基本操作 • 三、插入记录 • INSERT命令可以在表的指定位置添加新记录。 • 命令格式: INSERT [BEFORE][BLANK] • 参数说明: • BLANK:同APPEND命令,用来插入一个空记录 • BEFORE:打开浏览窗口,在当前表的当前记录后插入一个新记录,无该选项,在当前表的当前记录前插入一条空记录。
第三章 表的建立与基本操作 • 3.3.4 显示表记录 • 除了用菜单命令显示表记录外,还可以通过命令设置条件,有选择地显示表中的记录。 • 命令1:连续滚动显示LIST命令 • 格式:LIST [OFF] [<范围>][FOR <条件>][WHILE<条件>][FIELDS <表达式表>] • 命令2:分屏显示DISPLAY 命令 • 格式:DISPLAY [OFF] [<范围>][FOR <条件>][WHILE<条件>][FIELDS <表达式表>]
第三章 表的建立与基本操作 • 参数说明: • 1、<范围>子句: • 表示命令对表文件进行操作的记录范围,一般有4种选择: • ALL:对表文件所有的记录进行操作。 • NEXT n:只对从当前记录开始的连续若干个指定数目的记录进行操作。 • RECORD n:只对第n个记录进行操作。 • REST:只对从当前记录开始到表文件尾为止的所有记录进行操作。 • 其中,n为数值表达式的值。
第三章 表的建立与基本操作 • 2、FOR <条件> 和WHILE <条件>子句: • FOR<条件>:在指定的范围内,按条件逐个检查所有记录,直到该范围内的最后一条记录为止。 • WHILE <条件>:在指定的范围内,按条件逐个检查所有记录,一旦遇到第一个不满足条件的记录(即逻辑表达式<条件>计算结果为.F.)时,就停止查找并结束该命令的执行。 • 3、FIELDS子句。 • 该子句用于规定当前处理的字段和表达式。它有三种格式: • 该子句实现对表的字段筛选,完成关系的投影运算。 • 4、OFF子句。 • 不显示记录号。如果省略了OFF,就在每个记录前显示记录号。
第三章 表的建立与基本操作 • 3.3.5 修改记录 • 除了前面提到的在浏览窗口中修改表记录外,还可以用EDIT或CHANGE命令全屏幕编辑修改表记录。此外,经常使用REPLACE命令在程序中动态更新表记录。 • 命令格式: • REPLACE <字段名1> WITH <表达式1>[ADDITIVE] • [, <字段名2> WITH <表达式2> [ADDITIVE]]… • [<范围>][FOR <条件>][WHILE<条件>] • 参数说明: • <字段名1> WITH <表达式1>[ADDITIVE][, <字段名2> WITH <表达式2>:指定用<表达式1>的值来代替<字段名1>中的数据,用<表达式2>的值来代替<字段名2>中的数据,依此类推。
第三章 表的建立与基本操作 • 当表达式的值比数值字段的宽度长时,REPLACE采用以下方法来处理数据: • REPLACE截短表达式的小数位,然后取整剩余部分。 • 如果此时数值字段仍然放不下表达式的值,用科学计数法在字段中保存表达式的值。 • 若仍放不下表达式的值,用星号代替字段内容(数据溢出)。 • ADDITIVE:把对备注字段的替代内容追加到备注字段的后面。ADDITIVE只对替换备注字段有用,如果省略ADDITIVE,则用表达式的值改写备注字段原有内容。 • REPLACE命令的默认范围是当前记录(NEXT 1)。 • NOOPTIMIZE:使该命令的Rushmore优化无效。
第三章 表的建立与基本操作 • 3.3.6 删除记录 • 1、DELETE命令 • DELETE命令是逻辑删除,只是给记录加上删除标记,这些作了删除标记的记录仍保留在表文件中。用LIST命令显示时,仍然可以看到这些记录,逻辑删除的记录在记录号后用“*”表示。 • 命令格式:DELETE [<范围>][FOR <条件>][WHILE<条件>] [IN <工作区号>/<别名>][NOOPTIMIZE] • 命令说明: • 根据SET DELETED ON/OFF设置的不同,操作时将产生不同结果。 • SET DELETED ON:删除标记有效,处理记录时忽略有删除标记的记录。 • SET DELETED OFF(默认值):删除标记失效,处理记录时可以访问标有删除标记的记录。 • [FOR <条件>][WHILE<条件>]子句用于指定一个条件,仅给满足逻辑条件的记录做删除标记。 • 标有删除标记的记录可以用RECALL恢复(清除标记)。 • 不带选项的DELETE命令,其默认范围是当前记录(NEXT 1)。
第三章 表的建立与基本操作 • 2、RECALL命令 • 该命令恢复所选表中带删除标记的记录。 • 命令格式:RECALL [<范围>][FOR <条件>][WHILE<条件>] [NOOPTIMIZE] • 命令说明: • 缺省范围为当前记录(NEXT 1) • 一旦对表文件使用了PACK命令或ZAP命令,带删除标记的记录将永远消失,无法恢复。
第三章 表的建立与基本操作 • 3、PACK命令 • 该命令将有删除标记的记录从当前表中永久删除,减少与该表相关的备注文件所占用的空间。 • 命令格式:PACK [MEMO] [DBF] • 参数说明: • MEMO:从备注文件中删除未使用的空间,但不从表中删除标有删除标记的记录。备注字段的信息保存在一个相关的备注文件内。 • DBF:从表中删除标有删除标记的记录,但不影响备注文件。 • 如果不带MEMO和DBF子句发出PACK命令,PACK命令将同时作用于表和备注文件。
第三章 表的建立与基本操作 • 4、ZAP命令 • 该命令从表中删除所有记录,只留下表的结构。 • 命令说明: • ZAP命令等价于DELETE ALL和PACK联用,但ZAP速度更快。如果SET SAFETY为ON,Visual FoxPro会提示是否要从当前表中删除记录。 • ZAP命令只用来删除表的记录,表结构仍然存在。而删除文件的命令是删除整个文件,将记录与结构全部删除。
第三章 表的建立与基本操作 • 3.3.7 记录定位 • 对表记录的操作是靠记录指针定位的,它是一种内部标志,用来指出表文件的当前记录。对表文件的许多操作都是对当前记录进行的。在打开表文件时,记录指针指向第一个记录。随着命令的执行,记录指针会发生移动。有时也需要人为移动记录指针,称为记录指针的定位。在表的索引文件未打开的情况下,记录指针是按表的物理顺序移动的。而在表的索引文件打开的情况下,记录指针一般是按表的逻辑顺序移动的。
第三章 表的建立与基本操作 • 1、绝对移动 • 格式1:GO/GOTO [RECORD] <记录号> [IN <工作区号>/<别名>] • 格式2:GO/GOTO TOP/BOTTOM [IN <工作区号>/<别名>] • 命令说明: • RECORD <记录号>指定一个物理记录号,记录指针将移至该记录。你可以省略GO或GOTO命令而只指定记录号,但如果仅指定记录号,则只能在当前工作区中移动记录指针。该命令所指的物理记录号是记录在表中的物理顺序,执行格式1这条绝对移动命令,无论索引文件是否打开,均移到物理记录号所指的记录,与表的逻辑顺序无关。 • TOP:记录指针指向表的第一个记录上。 • BOTTOM:记录指针指向最后一个记录上。
第三章 表的建立与基本操作 • 2、相对移动。 • 格式:SKIP <记录数> [IN <工作区号>/<别名>] • 功能:使记录指针在表中向前或向后相对移动。 • 命令说明: • <记录数>:用于指定记录指针需要移动的记录数;缺省,记录指针移到下一条记录,相当于命令SKIP 1。如果<记录数>为正数,记录指针向文件尾移动<记录数>个记录;如果<记录数>为负数,记录指针将向文件头移动<记录数>个记录。 • 如果记录指针指向表的最后一个记录,并且执行不带参数的 SKIP 命令时,RECNO( ) 函数返回值比表中记录总数大1,EOF( )函数返回“真”(.T.);如果记录指针指向表的第一个记录,并执行SKIP -1命令,则RECNO( )函数返回值与第一个记录的记录号相同,BOF( )函数返回“真”(.T.)。
第三章 表的建立与基本操作 • 3.4 排序与索引 • 3.4.1 排序 • 排序命令可以对当前选定的表进行排序,并将排好序的记录输出到新表中。 • 命令格式: • SORT TO <表文件名> ON <字段名1 > [/A//D] [/C] [,<字段名2 > [/A//D] [/C]…] • [ASCENDING / DESCENDING] [<范围>][FOR <条件>][WHILE<条件>] • [NOOPTIMIZE] [FIELDS <字段名表>/LIKE<通配符>/ EXCEPT<通配符>]
第三章 表的建立与基本操作 • 命令说明: • <表文件名>:存放排序后记录的新表名,Visual FoxPro为表存取.DBF文件扩展名。 • ON <字段名1 >:指定当前选定的、要排序的表中的字段名, • [/A//D] [/C]:对于排序中包含的每个字段,可以指定排序顺序(升序或降序)。/A为字段指定了升序。/D指定了降序。默认情况下,字符型字段的排序顺序区分大小写。如果在字符型字段名后包含/C,则忽略大小写。 • ASCENDING:将所有不带/D的字段指定为升序排列。 • DESCENDING:将所有不带/A的字段指定为降序排列。 • 默认范围:ALL,即所有记录。 • FIELDS LIKE <通配符>:在新表中包含那些与字段<通配符>相匹配的原表字段,新表用SORT命令创建。 • FIELDS EXCEPT <通配符>:在新表中包含那些不与字段<通配符>相匹配的原表字段。
第三章 表的建立与基本操作 • 3.3.2 索引的概念 • 1、索引的概念 • Visual FoxPro中的索引是由指针构成的文件,这些指针逻辑上按照索引关键字值的顺序排列,这种顺序称为记录的逻辑顺序。索引文件和表文件分别存储,不改变表中记录的物理顺序。 • 2、索引文件的类型 • (1) 单项索引文件 • 扩展名为.IDX,只能容纳一项索引,只能用命令方式操作。 • (2) 复合索引文件 • 扩展名为.CDX,可以容纳多项索引,索引之间用唯一的索引标识区别,每个索引标识名的作用等同于一个索引文件名。
第三章 表的建立与基本操作 • 复合索引文件分为两种: • 结构复合索引文件 • 结构复合索引文件的主名与表文件的主名相同。表文件打开时,它随表的打开而打开,关闭表时随表的关闭而关闭。 • 非结构复合索引文件 • 与结构复合索引文件不同,该文件的主名与表文件的主名不同,定义时要求用户为其取名。因此当表文件打开或关闭时,该文件不能自动打开或关闭,必须用户自己操作。
第三章 表的建立与基本操作 • 3、索引关键字的类型 • 索引关键字是由一个或若干个字段构成的索引表达式。索引表达式的类型决定了不同的索引方式。在Visual FoxPro中,有四种类型的索引:主索引、候选索引、普通索引和惟一索引 • (1) 主索引:绝对不允许在指定的字段或表达式中有重复值。一个表只能建一个主索引。 • (2) 候选索引:同样不允许在指定的字段或表达式中有重复值。与主索引不同,一个表可以创建多个候选索引。 • (3) 普通索引:允许在指定的字段或表达式中有重复值,在数据库库表和自由表中都可以创建普通索引。 • (4) 惟一索引:也允许在指定的字段或表达式中有重复值,但是只存储索引文件中重复值的第一次出现。
第三章 表的建立与基本操作 • 3.4.3 建立索引 • 1、使用INDEX命令创建索引 • 命令格式: • INDEX ON < 索引表达式> TO <单项索引文件名> | TAG <索引标识名> • [OF <复合索引文件名>] [FOR<条件>] [COMPACT] • [ASCENDING/DESCENDING] [UNIQUE | CANDIDATE] [ADDITIVE] • 参数说明: • TO <单项索引文件名>:创建一个单项索引文件名,默认的索引文件扩展名为.IDX。 • TAG <索引标识名> [OF <复合索引文件名>]:创建一个复合索引文件。 • [FOR<条件>]:指定条件,索引文件只为那些满足条件的记录创建索引关键字,实现筛选数据
第三章 表的建立与基本操作 • [COMPACT]:创建一个压缩的.IDX文件 • [ASCENDING/DESCENDING]:指定文件是升序或降序,默认为升序,本选项只对复合索引文件有效。 • [UNIQUE]:当有多个记录的<索引表达式>值相同时,只有其中第一个记录被载入索引。 • [ CANDIDATE]:创建候选结构索引标识,只对结构复合索引标识有效 • [ADDITIVE]:指定先前打开的索引文件保持打开状态。缺省,则用INDEX命令建立索引文件时,所有先前打开的索引将关闭。
第三章 表的建立与基本操作 • 命令说明: • 该命令默认创建普通索引型索引。 • 索引表达式由当前表中的字段名或由字段名、函数、常数等组成的表达式构成。索引表达式可以是单一字段,也可以是多个字段的组合表达式。 • 索引表达式类型有4种:字符型、数值型、日期型、逻辑型 • 注意:组合表达式中数据类型必须一致。 • (1) 创建单项索引文件,命令的基本格式如下: • INDEX ON <索引表达式> TO <文件名> • (2) 创建结构复合索引文件,命令的基本格式如下: • INDEX ON < 索引表达式> TAG <索引标识>
第三章 表的建立与基本操作 • (3) 创建非结构复合索引文件,命令的基本格式如下: • INDEX ON < 索引表达式> TAG <索引标识> OF <文件名> • 例3.15 降序排序 • USE 学生 • INDEX ON - 奖学金 TO IJXJ &&单项索引文件的降序排序 • INDEX ON 年龄 DESC TAG AGE &&结构复合索引文件的降序排序 • INDEX ON 奖学金 DESC TAG JXJ OF JXJ &&非结构复合索引文件的降序排序
第三章 表的建立与基本操作 • 2、在“表设计器”中建立索引 • 打开表设计器,其中有三个选项卡,字段选项卡和索引选项卡,这两个选项卡都可以建立或修改索引,但二者有区别。 • 在字段选项卡中只能建立普通索引,索引关键字为单一字段。