当前位置:
文档之家› VF数据库第8章索引及记录操作
VF数据库第8章索引及记录操作
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,建立结构化复合索引文件。