VF数据库第8章索引及记录操作

合集下载

VF基础知识总结(1-8章)

VF基础知识总结(1-8章)

11.MIN()函数字符函 Nhomakorabea:日期时间函数:
1.LEN()函数
1.DATE()函数
2.LOWER()函数
2.TIME()函数
3.UPPER()函数
3.DATETIME()函数
4.SPACE()函数
4.YEAR()函数
5.TRIM()函数
5.MONTH()函数
6.LTRIM()函数
6.DAY()函数
小结:排序与索引的区别
1、排序要执行两次,按关键字和记录号,要打开表;而索引只执行一次,按关 键字,不需要打开表;
2、排序生成一个新表,索引是针对原表生成一个指针文件 3、升降序的表示与书写方式不同:排序/a升序/d降序/c不区分大小写,索引 ascending和descending。 4、排序与索引的to的含义不同,排序的to 表示到一个新表,索引的to表示建立 单索引文件。
3、各类文件选项卡: ①“全部”选项卡(以下五项的全部内容) ②“数据”选项卡(数据库、自由表、查询、视图) ③“文档”选项卡(表单、报表、标签) ④“类”选项卡 ⑤“代码”选项卡 ⑥“其他”选项卡
第二章 数据与数据运算
1、字段数据类型(11种)
字符型
C
数值型
N
逻辑型
L(1)
日期型
D(8)
日期时间型 T(8)
****************************************************************** 小结:
1、用use 打开表时,记录号位于第一条记录 2、执行带all的命令,记录指针指向eof()=.T. 3、当为.T.时,bof的记录号总是为1,eof的记录号是记录数+1 4、空表的总记录是0,bof的记录号是1,eof的记录号是1

VF数据库及其操作(精品课件)

VF数据库及其操作(精品课件)
精品 PPT 模板
3.6.3 设置触发器 形式:插入、删除、更新触发器. 3.6.4 创建永久关系 类型:一对一、一对多 要求:同一数据库的数据表
同一字段建立索引关系 方法:点击索引字段拖动鼠标,在另一字段上松开. 编辑关系:双击表间连线 删除关系:双击表间连线,DELETE键删除.
精品 PPT 模板
3.5.3 数据库表的建立 1.在数据库中建立数据表
打开数据库-数据库/鼠标右键-新建表…… 2.向数据库添加自由表
打开数据库-数据库/鼠标右键-添加表 3.从数据库中移去数据表
打开数据库-数据库/鼠标右键-移去-删除/移去
精品 PPT 模板
3.6 建立数据字典 3.6.1 设置表的字段属性 1.字段标题:显示时更容易了解该字段所代表的含义. 2.字段注释:为数据库表中的字段添加注释说明. 3.输入掩码:指定字段输入值的格式,屏蔽非法输入. 4.格式:输出掩码,它规定了字段显示时的样式. 3.6.2 设置表的有效性规则 1.字段级规则:控制用户输入到字段中的数据类型. 2.默认值:输入新记录时自动为该字段输入默认值. 3.记录级规则:控制用户输入到记录中的信息类型.
精品 PPT 模板
3.7.2 数据表的联接 1.数据表的关联:SET RELATION TO[关键字表达式1/数值
表达式1>INTO<工作区号>|<别名>][关键字表达式2/数值 表达式2>INTO<工作区号>|<别名>…] [ADDITlVE] 2.取消关联:SET OFF INTO <工作区号>|<别名> 3.数据表的物理连接:JOIN WITH<工作区号>|<别名>TO <新表文件名> FOR<连接条件>[FIELDS<字段名表>]

Visual FoxPro排序、索引与查询统计

Visual FoxPro排序、索引与查询统计
【方法三】在建立索引文件的同时,即打开了该索引 文件,并指定其为主控索引文件。
2020/2/14
目录 6
4-2-3 关闭索引文件
【命令1】USE 【功能】关闭打开的表文件及所有索引文件 【命令2】SET INDEX TO [0] 【命令3】CLOSE INDEX 【功能】关闭打开的所有单索引文件
2020/2/14
有第一个索引文件起作用,该索引称为主控索引
【命令】
SET ORDER TO [<数值表达式>/<索引文件名
>]【功能】指定主控索引
【说明】 [数值表达式]指定该数值号的索引为主控
索引;其值为0或缺省,则关闭已打开的索引,
以原表记录的物理顺序进行处理。
2020/2/14
目录 9
4.3 表记录查询
4-3-1 顺序查询 4-3-2 索引查询
(1)如果找到,则把记录指针指向该记录,并且将 FOUND()函数的值为“真”;
(2)如果没有找到与其相符的记录,则将记录指针 指向表的末尾,且将FOUND()函数的值置为“假 ”,将EOF()函数的值置为“真”。
2020/2/14
目录 12
(3) 如果有多个与关键字匹配的记录,则记录指针 定位于其中的第一条记录上,若查询后续记录, 可用SKIP
2020/2/14
目录 15
4-4-1 统计记录数
【命令】COUNT [TO <内存变量>] [<范围>][FOR <条件>][WHILE <条件
>] 【功能】统计指定范围内满足条件的记录个数 【说明】默认的范围是ALL
使用TO <内存变量>可将统计的结果保 存到指定的内存变量

重要资料VFP表操作索引、统计、关联、连接等讲解

重要资料VFP表操作索引、统计、关联、连接等讲解

查询、统计和多表操作表文件中记录的顺序通常是人们在输入数据时按输入的先后次序存储的,并以记录号表示,这个顺序只反映了存放数据的先后顺序。

但在数据处理实际应用中,由于数据库十分庞大,为了高效方便地处理数据,常常需要对记录位置进行重新整理,并按某种指定的顺序对表记录进行处理。

例如,对学生成绩表按学号为序显示输出记录,以便查找;或按总分高低为序输出记录,以便进行比较等等。

对记录位置进行重新整理通常有排序和索引两种方法。

排序是对表文件进行物理位置的整理;索引是对表文件进行逻辑位置的整理。

一、排序表文件的排序操作就是根据表的某个关键字或关键字表达式重新排列表记录的位置。

执行排序操作后将生成一个新的表文件(称为:排序文件)。

新文件的结构和数据可以与源文件完全相同,也可以只取源文件的部分字段。

新文件不改变源文件内容和记录顺序。

【命令】 SORT TO<新文件名>ON <字段名1>[/A] [/D] [/C] [,<字段名2> [/A] [/D] [/C]…] [ASCENDING|DESCENDING][<范围>][FOR<条件>|WHILE<条件>][FIELDS<字段名表>| FIELDS LIKE<通配符>|FIELDS EXCEPT<通配符>]【功能】对当前表中指定范围内、满足条件的记录按指定字段升序或降序重新排序,并将排序结果存入新文件名中。

【说明】①排序结果存入由TO <新文件名>指定的表文件中,系统默认文件扩展名为.DBF。

②在ON子句中的字段名表示排序的关键字段。

当使用一个关键字时,叫“单重排序”;使用多个关键字时,叫“多重排序”。

在多重排序中,关键字有主次之分。

主关键字是指能够唯一标识某个记录的关键字;次关键字是指标识具有某种相同属性的某些记录的关键字。

在关键字表达式中,主关键字排在前面,次关键字排在后面。

Visual_FoxPro索引及记录操作

Visual_FoxPro索引及记录操作
Visual FoxPro 应用基础与面向对象程序设计教程
1.主索引:其索引表达式的值是唯一能够标识每个记录处理 顺序的,即每个记录的索引表达式的值是唯一的。 2.候选索引:它的索引表达式的值也是能够唯一标识每个记 录逻辑顺序的值,即索引表达式无重复值。 3.普通索引:把由索引表达式为每个记录产生的值存入索引 文件中。如果多个记录的索引表达式值相同,则可以重复存储, 并用独立的指针指向各个记录。 4.唯一索引:把由索引表达式为每个记录产生的唯一值,存 入索引文件中,如果表中记录的索引表达式值相同,则只存储第 一个索引表达式值。
②定义索引文件名;
③按“表达式”选项按钮,打开“表达式生成器”窗口,输入索引表达式。 (3)打开“显示”菜单,选择“浏览”命令,进入表“浏览”窗口。
(4)打开“表”菜单,选择“属性”命令,进入“工作区属性”窗口。
(5)在“工作区属性”窗口,打开“索引顺序”下拉列表框,选择索引表 达式,其记录顺序将发生改变。
(2)在表“浏览”窗口,把鼠标移到要进行逻辑删除的
记录上,对准其删除标记栏单击左键,这时要进行逻辑删除的 记录就被加上了删除标记 。 (3)在“浏览”窗口,打开“表”菜单,选择“删除记 录”命令,进入“删除”窗口。在“删除”窗口,可以通过选 择“作用范围”确定要进行逻辑删除的部分记录,也可以在 “For”文本框中,设置逻辑删除“条件表达式”来确定逻辑 删除的记录。
5.4 记录的定位
Visual FoxPro 应用基础与面向对象程序设计教程
5.4.1 绝对定位
5.4.2 相对定位
5.4.3 条件定位
5.4.1 绝对定位
Visual FoxPro 应用基础与面向对象程序设计教程
1.菜单方式
打开表“浏览”窗口,然后,打开“表”菜单,再选择“转到

VFP使用命令建立和操作索引文件

VFP使用命令建立和操作索引文件

⼀.建⽴索引⽂件:对打开的索引⽂件,可⽤下列命令建⽴索引:格式:index on 索引关键字|tag 索引名|to 索引⽂件名说明:(1).tag 索引名:指定索引名,此索引存放在与表名相同的.cdx⽂件中。

(2).to 索引⽂件名:选择此项⽣成独⽴索引,即⼀个索引存放在⼀个索引⽂件中;否则⽣成的是结构化复合索引。

例1:建⽴“⼯资情况”表的结构化复合索引⽂件,其索引关键字分别为姓名和⼯资,⽽索引名分别为xm和gz.use ⼯资情况browseindex on 姓名 tag xmindex on ⼯资 tag gzbrowse&&分别执⾏以上命令后,⽣成了“⼯资情况.cdx”⽂件,其中存放了xm和gz两个索引。

例2:⽤“姓名”作索引关键字,建⽴“职⼯档案.dbf”的独⽴索引⽂件,⽂件名为a.idx。

use 职⼯档案index on 姓名 to hello &&执⾏此命令,检查默认⽬录e:\myvfp,会发现多了⼀个⽂件:hello.idxuse⼆.打开索引:打开表时,系统会⾃动打开结构化复合索引,但此时显⽰的仍是物理顺序。

要使索引起作⽤,必须指定主控索引。

主控索引就是控制当前显⽰顺序的索引。

也可以在打开表的同时指定主控索引。

1.打开表的同时打开索引并指定主控索引:格式:use 表名 [index 索引⽂件名] [order tag 顺序号|索引名]说明:(1).index 索引⽂件名:⽤于打开独⽴索引⽂件。

(2).order tag 顺序号|索引名:⽤于打开结构化复合索引。

其中,顺序号为该索引在复合索引⽂件中的先后顺序,即在“表设计器”的“索引”选项卡中看到的该索引的位置。

例:在命令窗⼝输⼊以下命令依次执⾏:use 职⼯档案 index hello &&打开表的同时打开独⽴索引hellobrowse &&显⽰的是按姓名索引的顺序,useuse ⼯资情况 order tag 2 &&显⽰的是gz索引的顺序,因为gz在“表设计器”中位置为2,use2.打开表后再打开索引:格式1:set index to 索引⽂件名功能:打开独⽴索引⽂件格式2:set orer to 顺序号|tag 索引名功能:打开结构化复合索引例:在命令窗⼝依次执⾏以下命令:use 职⼯档案brow &&显⽰物理顺序,set index to hello &&打开独⽴索引⽂件hello.idxbrowse &&显⽰的是按姓名索引的顺序,useuse ⼯资情况browse &&显⽰物理顺序set order to 1 &&即将xm指定为主控索引,因为xm在“表设计器”中位置为1,browse &&显⽰按姓名索引的顺序,set orer to gz &&将gz指定为主控索引browse &&显⽰的是gz索引的顺序,use三.关闭索引:格式1:set index to格式2:set order to说明:上两条命令后不加选项,可关闭当前索引。

5数据库应用技术VF-数据表记录索引的操作

5数据库应用技术VF-数据表记录索引的操作

课时计划第周Array
一、任务下达:
根据需求,数据表记录索引的操作。

二、任务规划:
任务一、索引的类型
1、主索引,唯一性,自由表不能创建。

2、候选索引,唯一性,适应自由表。

3、普通索引,不唯一,字段可以重复值。

4、唯一索引,兼容旧版本,选定一组记录,根据字段值第一次出现的
位置,选择和排序记录。

任务二、建立索引
任务三、使用索引
1、打开索引文件
SET INDEX TO
2、设置主控索引
Set order TO TAG 入学成绩
3、查看索引结果,选择属性。

任务四、重新索引
REINDEX(保持索引的有效性)
任务五、查找索引记录
Use 学生管理
Set order to 入学成绩
Seek 362
Display
任务六、关闭和删除索引
Use 学生管理表
Delete tag 学号
三、任务实施:
1、对字段设定索引。

2、打开索引文件
3、查看索引效果
4、重新索引
5、索引查找记录
6、关闭和删除索引
四、任务评估:
五、任务拓展:
分小组,讨论课堂内容,形成经验,提交博客园,分享心得。

课。

VFP讲稿(索引)

VFP讲稿(索引)

索引一、索引的概念。

索引文件和表文件分别存储。

索引不改变表中记录的物理顺序。

二、四种索引类型:●主索引主索引不允许表中有重复的关键字,一个表只能有一个主索引。

●候选索引候选索引不允许表中有重复的关键字,一个表可有多个候选索引。

●唯一索引唯一索引允许表中有重复的关键字,但索引项不重复。

一个表可有多个唯一索引。

●普通索引普通索引允许表中有重复的关键字,索引项也对应重复。

一个表可有多个普通索引。

三、三种索引文件:●结构复合索引文件索引文件的扩展名是cdx,主名与表文件的主名相同。

一个结构复合索引文件可包含多个索引。

一个表只有一个结构复合索引文件。

●*非结构复合索引文件索引文件的扩展名是cdx,主名不能与表文件的主名相同。

一个非结构复合索引文件可包含多个索引。

一个表可有多个非结构复合索引文件。

●*独立索引文件索引文件的扩展名是idx。

一个索引文件只包含一个索引。

一个表可有多个独立索引文件。

四、建立索引1.在表设计器中建立索引只能建立结构复合索引文件。

2.用命令建立索引①结构复合索引●创建索引INDEX ON <关键字表达式> TAG <索引标识>[FOR <条件>][ASCENDING|DESCENDING][UNIQUE|CANDIDATE][ADDITIVE][COMPACT]说明:同一个表的所有索引都可保存在同一个索引文件中;索引文件的主名与表文件的主名相同;打开表时,索引文件自动打开。

主索引和候选索引必须属于该索引。

*②非结构复合索引●创建索引INDEX ON <关键字表达式> TAG <索引标识> OF <索引文件名>[FOR <条件>][ASCENDING|DESCENDING][UNIQUE][ADDITIVE][COMPACT] 说明:同一个表的所有索引都可保存在同一个索引文件中;索引文件的主名与表文件的主名不能相同;当在索引文件中创建第二个索引时,原索引文件可以不预先打开;索引文件不能自动打开;*③独立索引(.IDX)●创建索引INDEX ON <关键字表达式> TO <索引文件名>[ FOR <条件>][UNIQUE][COMPACT][ASCENDING][ADDITIVE]●打开表和索引USE <表名> INDEX <索引文件名序列>●打开索引SET INDEX TO <索引文件名> [ADDITIVE]●关闭索引SET INDEX TO说明:每一个索引都有一个独立的索引文件;索引文件的主名与表文件的主名可相同也可不同;只能升序;打开表时,索引文件不能自动打开。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
USE 学生档案表 index on 籍贯+str(高考成绩,5) desc tag jgcj index on 学号 tag xh
8.2建立表间的关联关系
1、建立表间“一对一”关系(p150) 2、建立表间“一对多”关系
3、设置参照完整性
8.3 记录排序
1、物理排序
排序就是根据数据表的某些字段(称为 关键字段)的“值”(称为关键字值)的大 小重排记录,(可为升序、可为降序)排序后将 产生一个新的可单独使用的数据表文件 (*.DBF)。原数据表文件不变。
候选索引:索引表达式的值不允许重复、有资格被选做主索引的索引。数据库 表和自由表都可以建立侯选索引,一个表可以有多个候选索引。
普通索引:是除了上面几种索引之外的一种索引,它允许索引关键字有重复的 值,对有相同索引表达式值的记录按原有的先后顺序集中排列在一起。
惟一索引:允许索引关键字有重复的值的索引,当有重复值出现时,索引文件 只保存重复的第一次值。
&&显示查询结果
Continue
&&继续定位查询下一个记录
?Found()
&& Found()函数为.T.
Display
&&显示第二条”王”姓记录
Continue
&&“End Of Locate Scope”显示定位结束
?Eof()
&& Eof())函数为.T.
7.3 索引定位
索引定位是一种快速定位记录的方法,利用索引定位 将明显提高查询效率,适用于大型表的查询。
命令方式:
(1)命令格式: SORT TO <新文件名> ON <字段名1> [/A|/D][/C] [,<字段名2> [/A|/D][/C] [<范围>] [For<条件表达式1>] [Fields<字段名表>]
(2)命令功能: 根据”关键字段”的值(称为关键字值)的大小重
排记
录,产生一个新的可单独使用的数据库文件(*.DBF)。 选项/A和/D分别表示升序或降序,不选择则默认为按
3、创建索引
1)利用表设计器创建索引
2)利用命令创建索引
A、创建非结构索引
INDEX ON <索引表达式> To <索引文件名> [FOR<条件表达式>] [ASCENDING] [Descending]
命令功能:为当前表按<索引表达式> 的值建立一个非结构索引文件,索引 文件扩展名.IDX。 例1:将学生档案表.DBF数据表信工系(学号第3位为2)
的学生按学号升序建立非结构索引文件xh.idx。 USE 学生档案表 INDEX ON 学号 TO xh FOR SUBS(学号,3,1)=”2” ascending 当索引建立后,新建立的索引文件将自动打开且处于
主索引的位置,记录随即按该索引顺序来排列。
B、创建结构索引
INDEX ON <索引表达式> TAG<索引标识名> [FOR<条件表达式>]
2)找后续(继续查询): Continue &&按照Locate指定的条件继续定位下一条记录
例: 在学生挡案表.Dbf表中,查找姓“王”的学生。
Use 学生挡案表

Locate For Subs(姓名,1,2)=”王”
&&如果用 Locate For “王”$姓名 可能会产生什么问
题?
Display
升序排列。选项/C表示不区分字母的大小写。
2、按索引字段排序
a、先在“表设计器”窗口中,为表建立多个索引; b、选择“显示”下拉菜单“浏览”,进入“浏览”窗 口; c、在“浏览”窗口下,打开“表”,选择“属性”, 进入“工作区属性”窗口,查看所有操作。
3、按索引表达式排序
8.4 记录定位
7.1 绝对定位 1、菜单方式 2、命令方式 无条件记录定位:goto(go);goto top;goto bottom; 有条件记录定位:直接(顺序)定位和索引(快速)定位; 定位命令仅仅是对记录指针进行定位的一种操作,它并不能
在VF中,同一个数据库中的多个表以相同属性字段建立索引后,可根 据索引表达式的值建立数据库中多个表间的关联关系。
第8章 索引及记录操作
2、索引的种类 根据关键字段值是否重复可将索引分为四种类型:主索引、候选索引、惟一 索引、普通索引。
主索引:索引表达式的值唯一能够标识每个记录的索引,即索引表达式的值不允 许重复。主索引只能在数据库表中建立,一个表只能创建一个主索引。
8.1 索引概述
1.索引的概念

所谓索引就是按照索引表达式(数据表的某个字段或字段的组合)的
值使表中的记录有序排列的一种技术。

一般情况下,标中记录的顺序是由数据输入的前后次序决定的,并
用记录号予以标识。除非有记录插入或记录删除,否则表中的记录顺序
总是不变的。

索引实际就是一种排序,但是他不改变表中数据的物理顺序,而是
另外建立一个数据号列表。索引文件不能单独使用,必须同源数据表文
件一起使用。
索引一旦建立后,就产生了一个相应的索引文件。索引文件中只包含两 项信息:一是每条记录索引关键字表达式的值,另一项是与其对应的记 录号。既在索引文件中只保留索引关键字和记录号信息,并不存在记录 的字段数据,因此它不能单独使用,必须同时打开原数据文件,才能使 索引文件有效。
显示定位的记录内容。如要显示,则需要使用并且只能使用 Display命令。 3、相对定位 skip;
7.3 条件(顺序)定位 所谓顺序定位是指在表中从第一条记录开始,
按照顺序搜索表,把记录指针定位在满足条件的第 一条记录上。 顺序定位适合于复杂条件或小型表的定位。 命令格式: 1)找首条: Locate For <条件表达式> [范围]
[ASCENDING|DESCENDING][Unique][Candidate] 说明: ①TAG<索引标识名>:结构化索引文件每个索引都必须有一
个索引标识。 ②记录的顺序默认为升序,也可用“Ascending”表示,降序用 “Descending”;][Unique]建立唯一索引,[Candidate]建立候选索引,否则 建普通索引 。 例: 将学生档案表.dbf按籍贯和高考成绩降序索引,索引标识为jgcj,按学号 升序索引,索引标识为xh,建立结构化复合索引文件。
相关文档
最新文档