《第三章表的使用.ppt》由会员分享,可在线阅读,更多相关《第三章表的使用.ppt(54页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第三章第三章表的使用表的使用主要内容主要内容l 表结构的创建和使用表结构的创建和使用l 表记录的编辑修改表记录的编辑修改l 表的使用表的使用l 表的索引表的索引l 建立表之间的临时关系建立表之间的临时关系第一节第一节 表结构的创建和使表结构的创建和使用用1 1、表的相关概念、表的相关概念2 2、创建表结构、创建表结构3 3、表结构的修改、表结构的修改3.1.1 3.1.1 表的相关概念表的相关概念l数据表即一张二维表,简称表数据表即一张二维表,简称表(Table)Table)l表中的一列为表中的一列为字段字段(Field)Field)l表中的一行为表中的一行为记录记录(Record)Recor
2、d)l表分为数据库表和自由表两种;数据库表分为数据库表和自由表两种;数据库表比自由表功能强表比自由表功能强l表文件的扩展名为表文件的扩展名为.dbf .fpt .cdx字段的基本属性字段的基本属性1 1、字段名、字段名(Field Name)Field Name)见名知义,不能同名见名知义,不能同名2 2、数据类型、数据类型(Type)11Type)11种种 CC字符型字符型 NN数值形数值形 DD日期型日期型 LL逻辑型逻辑型 MM备注型备注型 GG通用型通用型 YY货币型货币型 II整型整型 FF浮点型浮点型 BB双精度型双精度型 TT日期时间型日期时间型3 3、宽度、宽度(Width)W
3、idth)(以下类型宽度固定)以下类型宽度固定)货币型、日期型、日期时间型、双精度型:货币型、日期型、日期时间型、双精度型:8 8字节字节整型、备注型、备注型(二进制)、通用型:整型、备注型、备注型(二进制)、通用型:4 4字节字节逻辑型:逻辑型:1 1字节字节4 4、小数位数、小数位数(Decimal)Decimal)有小数的字段:有小数的字段:数值型数值型、浮点型浮点型、双精度型、双精度型 字段宽度字段宽度=整数部分宽度整数部分宽度+小数点小数点1位位+小数位宽度小数位宽度 整数部分宽度可以为整数部分宽度可以为 05、空值支持、空值支持(Null)空值是用来标识一个字段空值是用来标识一个字
4、段“没有值没有值”的标志的标志空值表示没有任何值或没有确定值空值表示没有任何值或没有确定值空值不等同于数值空值不等同于数值0、空字符串或逻辑、空字符串或逻辑“假假”用函数用函数ISNULL()测试空值,表中用测试空值,表中用Ctrl+0输入空值输入空值3.1.2 创建表结构创建表结构l 使用表设计器来创建表结构使用表设计器来创建表结构 (1)打开打开“表设计器表设计器”文件文件/新建新建/表表/新建文件新建文件/输表名输表名/保存保存 项目管理器项目管理器/自由表自由表/新建新建/新建表新建表/输表名输表名/保存保存表包含在项表包含在项目管理器中目管理器中l 使用使用SQL命令创建表结构命令创
5、建表结构 CREATE TABLE-SQL命令命令(2)在在“表设计器表设计器”中创建表结构中创建表结构格式:格式:CREATE TABLE|DBF CREATE TABLE|DBF 表文件名表文件名 ;(字段名(字段名1 1 类型类型(宽度宽度,小数位数小数位数););,字段名字段名2 2 类型类型(宽度宽度,小数位数小数位数)例:创建学生表例:创建学生表STU2STU2 CREATE TABLE STU2;CREATE TABLE STU2;(SNO (SNO C C(6),SNAME(6),SNAME C C(8),PHOTO(8),PHOTO G G)3.1.3 表结构的修改表结构的修
6、改1、使用表设计器修改表结构、使用表设计器修改表结构方法方法1:文件菜单打开文件(独占方式):文件菜单打开文件(独占方式)显示菜单启动表设计器显示菜单启动表设计器方法方法2:项目管理器:项目管理器选定表选定表修改修改方法方法3:USE XS MODIFY STRUCTURE方法方法4:浏览:浏览“表表”“属性属性”“修改修改”方法方法5:“窗口窗口”“数据工作期数据工作期”“属性属性”“修修改改”2、使用、使用SQL命令修改表结构命令修改表结构 ALTER TABLE-SQL命令命令格式:格式:ALTER TABLE 表名表名 字段处理子句字段处理子句l添加字段:添加字段:ADD COLUMN
7、 子句子句例:教师表添加例:教师表添加WAGE 字段字段 ALTER TABLE JS ADD COLUMN WAGE N(10)l重命名字段:重命名字段:RENAME COLUMN 子句子句例:例:教师表教师表WAGE字段重命名为字段重命名为GZ ALTER TABLE JS RENAME WAGE TO GZl删除字段:删除字段:DROP COLUMN 子句子句例:例:删除教师表删除教师表GZ字段字段 ALTER TABLE JS DROP COLUMN GZl修改字段类型、宽度:修改字段类型、宽度:ALTER COLUMN 子句子句例:修改教师表例:修改教师表GH字段的宽度为字段的宽度为
8、C型型8字节宽度字节宽度 ALTER TABLE JS ALTER GH C(8)第二节第二节 表记录的编辑修改表记录的编辑修改1 1、追加记录、追加记录2 2、表的浏览、表的浏览3 3、定位记录定位记录4、修改记录、修改记录5 5、删除记录删除记录6、筛选记录与字段、筛选记录与字段3.2.1 追加记录追加记录1、浏览窗口、浏览窗口:方法一:立即输入记录方法一:立即输入记录方法二:显示方法二:显示追加方式追加方式方法三:表方法三:表追加新记录追加新记录2、命令:、命令:a、INSERT-SQL命令命令INSERT INTO 表名表名(字段字段1,字段,字段2);VALUES(表达式表达式1,表
9、达式,表达式2)位置一致!位置一致!INSERT INTO JS;(GH,XM,XB);VALUE (“A0008”,”王勇王勇”,”男男”)3、从其它数据表中追加纪录、从其它数据表中追加纪录 菜单:表菜单:表追加记录追加记录 命令:命令:APPEND FROM 数据文件数据文件 文件类型文件类型 文件类型:文件类型:xls xl5 sdf delimited 等等b、APPEND BLANK APPEND 弹出编辑窗口,弹出编辑窗口,在当前已打开表的末尾追加在当前已打开表的末尾追加一条或多条记录,一条或多条记录,。APPEND BLANK 不弹出编辑窗口,在表末尾追加一条空白记不弹出编辑窗口
10、,在表末尾追加一条空白记录。录。二、记录的浏览二、记录的浏览1、菜单方式、菜单方式l 打开表文件打开表文件显示显示浏览浏览l 项目管理器项目管理器选定某个表选定某个表浏览浏览2、命令方式、命令方式BROWSE 字段名子句字段名子句 条件子句条件子句 LIST/DISPLAY 范围范围 表达式列表子句表达式列表子句 条件子句条件子句 TO PRINT OFFbrowsebrowseBrowse fields Browse fields ghgh,xmxm,xbxbBrowse fields Browse fields ghgh,xmxm,xbxb for for xbxb=“=“男男”关于条件子
11、句中的表达式关于条件子句中的表达式l算术算术:+,-,*,/l关系关系:=,=,l逻辑逻辑:not and orl例如:例如:年龄年龄40 男男 研究生研究生 nl40 and xb=男男 and xl=研究生研究生 All,record n ,next,rest(解释)解释)范围范围lALLALL当前数据表中的所有记录当前数据表中的所有记录lREST REST 当前记录开始直到表尾的所有记录当前记录开始直到表尾的所有记录lNEXT nNEXT n 表示从当前记录起的连续表示从当前记录起的连续n n条记录条记录lRECORD nRECORD n 表示指定记录号为表示指定记录号为n n的一条记录
12、的一条记录条件子句有:条件子句有:lFOR FOR 条件表达式条件表达式 表示对所有满足条件的记录处理表示对所有满足条件的记录处理lWHILE WHILE 条件表达式条件表达式 表示当满足条件时处理记录,若条表示当满足条件时处理记录,若条件不满足时立即停止处理记录件不满足时立即停止处理记录如何定制浏览窗口?如何定制浏览窗口?l重新安排列的位置:拖动重新安排列的位置:拖动l改变列的宽度:拖动改变列的宽度:拖动l显示或隐藏表格线:显示显示或隐藏表格线:显示/网格线网格线l把浏览窗口分为两个窗格:左下角拖动把浏览窗口分为两个窗格:左下角拖动l查看同一表中的两个不同区域:各自移动查看同一表中的两个不同
13、区域:各自移动l同时在浏览和编辑方式下查看同一记录同时在浏览和编辑方式下查看同一记录l两个窗格间的链接:表两个窗格间的链接:表/链接分区链接分区3.2.3 3.2.3 记录的定位记录的定位 表文件示意图及记录指针标志表文件示意图及记录指针标志 记录的定位方式记录的定位方式 记录定为实现记录定为实现1、表文件示意图及记录指针的标志表文件示意图及记录指针的标志.第第1条记录条记录第第2条记录条记录文件头文件头第第n条记录条记录开始标志开始标志 函数函数BOF()当前记录当前记录 函数函数RECNO()结束标志结束标志 函数函数EOF()记录指针记录指针记录开始标志记录开始标志记录结束标志记录结束标
14、志当前记录当前记录2、记录的定位方式、记录的定位方式1、绝对定位、绝对定位 go2、相对定位相对定位 skip3、条件定位条件定位go topgo bottomgo 10 skip 1skip -1 Locate for 条件条件Continue 例例1 1假设假设xs表有表有13条记录,先后执行以下命令条记录,先后执行以下命令 bof()eof()recno()use xs f f 1 (打开)打开)skip-1 t f 1 skip-1 出错出错 go bott f f 13 skip f t 14 skip 出错出错 例例2 2Use xsgo 5 skip+2 skip-3 locat
15、e for 15743、记录定位的实现、记录定位的实现界面方式界面方式(“表表”“转到记录转到记录”)l记录号:绝对定位记录号:绝对定位 Go nl定位:条件定位定位:条件定位 Locate for 条件条件l作用范围:作用范围:all,next,record,rest,for命令方式命令方式 绝对定位:绝对定位:Go n Go TOP|BOTTOM 相对定位:相对定位:Skip n 条件定位:条件定位:Locate For 条件条件 Continue 3.2.4 3.2.4 记录的修改记录的修改1、在浏览窗口中修改、在浏览窗口中修改EDIT|CHANGE|BROWSE项目管理器项目管理器/浏
16、览浏览例:修改例:修改xs表中第表中第5条记录条记录 use xs edit record 52、批量记录的修改、批量记录的修改(1)界面方式界面方式 “表表”“替换字段替换字段”字段条件字段条件 (2)命令方式命令方式:UPDATE-SQL命令命令(表不必打开表不必打开)UPDATE 表名;表名;SET 字段字段1=表达式表达式1,字段,字段2=表达式表达式2;WHERE 条件表达式条件表达式例:把例:把teacher表中所有工资不满表中所有工资不满2000的教师的工龄的教师的工龄加加100 UPDATE teacher SET wage=wage+100 WHERE wage2000例:把
17、例:把teacher表中所有工资不满表中所有工资不满2000的教师的工龄的教师的工龄加加100 USE JS REPLACE wage WITH wage+100 FOR wage2000REPLACE 命令命令REPLACE 范围范围 字段字段1 WITH 表达式表达式1;,字段字段2 WITH 表达式表达式2 FOR 条件表达式条件表达式3.2.5 3.2.5 记录的删除记录的删除目的:目的:节省时空节省时空(删除无用记录)删除无用记录)删除与恢复操作:删除与恢复操作:1、标记要删除的记录(逻辑删除)、标记要删除的记录(逻辑删除)方法方法1:浏览窗口:左边小方框:浏览窗口:左边小方框 白色
18、白色黑色黑色方法方法2:“表表”“删除记录删除记录”方法方法3:DELETE 范围范围 FOR 条件表达式条件表达式方法方法4:DELETE-SQL命令:命令:DELETE FROM 表名表名WHERE 过滤条件表达式过滤条件表达式2、彻底删除(物理删除)、彻底删除(物理删除)v界面操作:界面操作:“表表”“彻底删除彻底删除”v命令:命令:PACK(独占)独占)v命令:命令:ZAP=delete all+pack(独占)独占)例:删除教师表中年龄在例:删除教师表中年龄在60岁以上的记岁以上的记delete from js where year(date()-year(js.csrq)3、恢复带
19、删除标记的记录、恢复带删除标记的记录 方方法法1:小方框:小方框 黑黑白白 方法方法2:“表表”“恢复记录恢复记录”方法方法3:RECALL 范围范围FOR 条件表达式条件表达式例:例:recall recall all recall all for xb=男男(这里的这里的all 可省)可省)说明:说明:缺省范围(缺省范围(当前记录,全部记录当前记录,全部记录)4、对带删除标记记录的访问、对带删除标记记录的访问(1)测试记录的删除标记测试记录的删除标记 Delete()(2)控制对带删除标记记录的访问控制对带删除标记记录的访问 Set Deleted On|Off实验:实验:l先删除若干记录
20、(逻辑删除)先删除若干记录(逻辑删除)lLIST (默认为默认为OFF)lSET DELETED ONlLIST3.2.6 筛选记录筛选记录l界面界面 “表表”“属性属性”“数据过滤器数据过滤器”例:找出所有例:找出所有gl小于小于10年的教师年的教师l命令命令 SET FILTER TO SET FILTER TOl例:例:USE XSlSET FILTER TO XB=“女女”注意注意:是隐藏记录而非删除记录是隐藏记录而非删除记录与与FOR子句不同子句不同对对 SELECT-SQL、DELETE-SQL、UPDATE-SQL命令无效命令无效3.2.7 筛选字段筛选字段l界面操作:界面操作:
21、表表属性属性字段筛选字段筛选l命令操作:命令操作:SET FIELDS TO 字段名列表字段名列表 SET FIELD ON|OFF第三节第三节 表的使用表的使用 1 1、工作区、工作区 2 2、打开表和关闭表、打开表和关闭表 3 3、独占和共享、独占和共享 4 4、数据缓存、数据缓存1、概念、概念工作区:用以标识一张打开的表的区域工作区:用以标识一张打开的表的区域一个工作区在某一时刻只能打开一张表一个工作区在某一时刻只能打开一张表工作区中打开的表都有一个别名工作区中打开的表都有一个别名lUSE XS(默认为默认为1号号)lLISTlUSE JS(XS自动关闭自动关闭)lLIST3.3.1 工
22、作区工作区可以同时在多个工作区中打开多张表可以同时在多个工作区中打开多张表选择当前工作区命令:选择当前工作区命令:SELECT 区号区号|别名别名一张表可以在多个工作区同时被打开一张表可以在多个工作区同时被打开lSELE 1 sele 1lUSE XS use xslLIST sele 2 lSELE 2 use xs againlUSE JS listlLIST sele 1lSELE 1 listlLIST2、表的别名、表的别名 USE ALIAS 例:例:use xs allas student注:若没有定义别名,则默认表文件名为别名;注:若没有定义别名,则默认表文件名为别名;再次打开同
23、一表时若不定义,则默认在再次打开同一表时若不定义,则默认在110号工作区以字母号工作区以字母AJ为别名,大于为别名,大于10号的工作区号的工作区以以W数字为别名,例如数字为别名,例如120号工作区以号工作区以 W120 为为别名。别名。3、选择当前工作区选择当前工作区:正在使用的工作区:正在使用的工作区(1)界面操作:界面操作:窗口窗口数据工作期数据工作期选择别名选择别名(2)命令操作:命令操作:SELE 工作区号工作区号|别名别名常用函数:常用函数:SELECT(别名别名):测试当前工作区的区号):测试当前工作区的区号ALIAS(区号区号):测试指定工作区中表的别名):测试指定工作区中表的别
24、名注意:注意:select(0)select(1)select 0 含义含义l操作非当前工作区中的表操作非当前工作区中的表把其它的工作区选为当前工作区lSELE 2在命令中强行指定工作区lGO TOP IN JS选用一个未被使用的编号最小的工作区为当前工作区lSELE 0&选择编号最小工作区l?SELE()&测试当前工作区1、表的打开、表的打开界面l文件打开l窗口数据工作期打开lUSE?命令 lUSE IN 区号 AGAIN;ALIAS 别名3.3.2 打开和关闭表打开和关闭表2、表的关闭、表的关闭界面界面l窗口窗口/数据工作期数据工作期/关闭关闭命令命令lUSElUSE IN lCLOSE
25、ALL&数据库、索引、项目管理器等也被关闭数据库、索引、项目管理器等也被关闭lCLOSE DATABASES&如果当前没有打开的数据库,如果当前没有打开的数据库,则把自由表全部关闭则把自由表全部关闭lCLOSE TABLES&关闭表,不关闭库关闭表,不关闭库l退出退出VFP注意:注意:SQL语句能自动打开表,但不会自动关闭表语句能自动打开表,但不会自动关闭表!表的共享使用:一张表可以同时被多个用户打开(表的共享使用:一张表可以同时被多个用户打开(shared)表的独占使用:一张表只能被一个用户打开表的独占使用:一张表只能被一个用户打开(默认默认)(exclusive)l设置独占与共享打开表的默
26、认状态设置独占与共享打开表的默认状态工具工具/选项选项/数据数据SET EXCLUSIVE OFF/ON(共享/独占)l强行用一种方式打开表强行用一种方式打开表“打开打开”“独占独占”复选框复选框USE USE SHARED/EXCLUSIVESHARED/EXCLUSIVE注:注:设置改变,并不改变已经打开的表的状态(演示)设置改变,并不改变已经打开的表的状态(演示)一张表同时被多次打开时,只以第一次的打开方式为准一张表同时被多次打开时,只以第一次的打开方式为准3.3.3 表的独占与共享使用表的独占与共享使用1、数据缓冲、数据缓冲 在多用户环境下,用以保护对表记录所做的数据更新以及数据维护操
27、作的一种技术2、缓冲类型、缓冲类型(1)记录缓冲:一次访问、修改一个记录(2)表缓冲:对多个记录缓冲更新 两种锁定方式:(1)保守式:编辑记录时就锁定记录(2)开放式:记录只在被写入时加锁3.3.4 利用缓冲访问表中的数据利用缓冲访问表中的数据3、设置表的数据缓冲、设置表的数据缓冲(1)界面操作:窗口数据工作期属性(2)命令操作:CursorSetProp(Buffering,缓冲类型,别名)例:为XS表打开开放式表缓冲:SET MULTILOCKS ONUSE XS=CURSORSETPROP(Buffering,5)4、检测缓冲区中的数据是否与数据源表一致、检测缓冲区中的数据是否与数据源表
28、一致(1)CURVAL()返回当前值(2)OLDVAL()返回初始值5、执行和放弃对缓冲数据的更改执行和放弃对缓冲数据的更改(1)TABLEUPDATE()执行对缓冲区的修改(2)TABLEREVERT()放弃对缓冲区的修改第四节第四节 表的索引表的索引1、索引的相关概念、索引的相关概念2、索引的索引的类型和文件类型、索引的索引的类型和文件类型3、创建结构复合索引文件、创建结构复合索引文件5 5、索引的修改和删除、索引的修改和删除6 6、索引的使用、索引的使用1、记录的物理顺序与逻辑顺序、记录的物理顺序与逻辑顺序物理顺序:物理顺序:记录在磁盘中的存储顺序,在检索数据时,按记录在磁盘中的存储顺序
29、,在检索数据时,按记录顺序进行查找,检索速度慢。记录顺序进行查找,检索速度慢。逻辑顺序:逻辑顺序:根据某个字段(或字段表达式)的取值按升序根据某个字段(或字段表达式)的取值按升序(或降序),建立索引文件,再按索引文件的顺序(或降序),建立索引文件,再按索引文件的顺序排列记录,称为逻辑顺序。检索数据时,可以用二排列记录,称为逻辑顺序。检索数据时,可以用二分法查找关键字值,检索速度快。分法查找关键字值,检索速度快。索引:不改变物理顺序,所索引:不改变物理顺序,所有关键字按升(降)排列,有关键字按升(降)排列,每个值对应原文件的一个记每个值对应原文件的一个记录号,确定记录的逻辑顺序录号,确定记录的逻
30、辑顺序3.4.1 索引的相关概念索引的相关概念 2.索引文件结构索引文件结构索引文件结构:索引文件结构:关键字值(有序排列)关键字值(有序排列)+记录号记录号注意:注意:1.关键字值为单个字段或多个字段的组合。关键字值为单个字段或多个字段的组合。2.多个字段,一般统一转换为一个字符型表达式多个字段,一般统一转换为一个字符型表达式3.表达式的计算结果将影响索引的结果表达式的计算结果将影响索引的结果 例如:例如:XIMING+XB 与与 XB+XIMING4.多个数值型字段,一般根据实际意义作相应处理多个数值型字段,一般根据实际意义作相应处理 例如:例如:GZ+GL 与与 STR(GZ)+STR(
31、GL)索引标识名(索引标识名(TagTag)索引名(一般和字段名相同)索引名(一般和字段名相同)=10字节字节3.4.2 索引文件种类索引文件种类1 1、结构复合索引、结构复合索引(CDX)2 2、非结构复合索引、非结构复合索引(CDX)3 3、独立索引、独立索引(IDX):):与与FoxBase兼容兼容o文件名与数据表同名,文件名是在表文件创文件名与数据表同名,文件名是在表文件创建时由系统自动给定建时由系统自动给定o结构复合索引文件与表文件同步打开、更新、结构复合索引文件与表文件同步打开、更新、关闭,是表的一部分关闭,是表的一部分o文件名由用户给出文件名由用户给出o非结构复合索引文件中不能创
32、建主索引非结构复合索引文件中不能创建主索引3.4.3 索引的类型索引的类型1 1、主索引、主索引(Primary Primary indexsindexs)2 2、侯选索引侯选索引(Candidate Candidate indexsindexs)3 3、普通索引普通索引(Regular Regular indexsindexs)4 4、唯一索引唯一索引(Unique Unique indexsindexs)o组成主索引的字段或表达式组成主索引的字段或表达式,表的所有记录中表的所有记录中不能有重复的值不能有重复的值o主索引仅用于数据库表的结构复合索引文件中,主索引仅用于数据库表的结构复合索引文
33、件中,自由表不能建立主索引;每张表只能创建一个自由表不能建立主索引;每张表只能创建一个主索引主索引o字段或表达式中不允许有重复值字段或表达式中不允许有重复值o一张表中可以建立多个侯选索引一张表中可以建立多个侯选索引o侯选索引可用于数据库表和自由表侯选索引可用于数据库表和自由表o允许字段或表达式的值出现重复允许字段或表达式的值出现重复o侯选索引可用于数据库表和自由表侯选索引可用于数据库表和自由表o允许字段或表达式的值出现重复;允许字段或表达式的值出现重复;o索引对照表中索引对照表中,具有重复值的记录仅存储其中具有重复值的记录仅存储其中的第一个。的第一个。3.4.4 3.4.4 索引文件的创建索引
34、文件的创建1、表设计器、表设计器“表设计器表设计器”“索引索引”选项卡选项卡2、Index命令命令INDEX ON TAG OF 非结构复合索引文件名非结构复合索引文件名|TO 独立索引文件名独立索引文件名 FOR ASCENDING|DESCENDING;UNIQUE|CANDIDATE升升|降序降序默认升序默认升序唯一或侯选索引唯一或侯选索引不能对备注字段和通用字段建立索引不能对备注字段和通用字段建立索引不要建立无用的索引不要建立无用的索引3.4.5 3.4.5 索引的修改和删除索引的修改和删除l索引的修改索引的修改表设计器表设计器l“表设计器表设计器”“索引索引”选项卡选项卡命令命令lI
35、NDEX命令修改原索引命令修改原索引l索引的删除索引的删除表设计器表设计器l“表设计器表设计器”“索引索引”选项卡选项卡DELETE TAG 删除索引标识删除索引标识3.4.6 3.4.6 索引的使用索引的使用l1、设置主控索引、设置主控索引 o主控索引主控索引:决定显示或访问表中记录的顺序的决定显示或访问表中记录的顺序的 o打开表的同时指定主控索引打开表的同时指定主控索引 Use 教师表教师表 order xsxh 打开后再设置主控索引打开后再设置主控索引l窗口窗口/数据工作期数据工作期/属性属性/索引顺序索引顺序l命令命令 SET ORDER TO TAG l set order to x
36、sxho主控索引可以是主控索引可以是:复合索引文件中的一个标识复合索引文件中的一个标识(主控标识主控标识)/一个独立索引文件一个独立索引文件(主控索引文件主控索引文件)l2、取消主控索引、取消主控索引窗口窗口 数据工作期数据工作期 属性属性索引顺序索引顺序无无顺序顺序SET ORDER TOl3、索引函数索引函数CDX(1)ORDER()TAG(N)N=1l4、利用索引快速定位记录利用索引快速定位记录SEEK 命令命令 SEEK 表达式表达式 ORDER 索引名索引名 IN 别名别名lSEEK 命令只能在索引过的表中使用命令只能在索引过的表中使用,并且只并且只能搜索索引关键字值能搜索索引关键字
37、值lEOF()与与FOUND()SEEK()函数函数 相当于相当于SEEK命令命令+FOUND()例如:例如:seek(0000001)教师教师编号编号姓名姓名工资工资35梁玲140063李玉良 125002王平权 100012周明友 180017方立125053王发永 1400记录记录 号号123456数据表数据表教师教师编号编号记录记录号号023124175351536632索引表索引表1250 李玉良6321400王发永5361400梁玲3511250方立1751800周明友1241000王平权023工资工资姓名姓名教师教师编号编号记录记录 号号逻辑顺序逻辑顺序1400王发永531250方立171800周明友121000王平权021250李玉良631400梁玲35工资工资姓名姓名 教师教师编号编号654321记录记录 号号物理顺序物理顺序关于字段名关于字段名字段名由汉字、字母、数字和下划线组成,字段名由汉字、字母、数字和下划线组成,字段名必须以汉字、字母、和下划线开头。字段名必须以汉字、字母、和下划线开头。q在表中必须唯一在表中必须唯一q自由表,字段名最多为自由表,字段名最多为10个字符个字符q数据库表支持长字段名,字段名最多为数据库表支持长字段名,字段名最多为128个字符。个字符。q字段名避免使用系统的保留字字段名避免使用系统的保留字。