第4章_数据库、表的进一步操作详解.ppt
文本预览下载声明
第四章 Visual FoxPro数据库及其操作 ;Contents;4.1 表的排序和索引;4.1.2 索引的概念及类型
索引是按索引关键字的值对表中的记录进行排序的一种方法。
索引的目的是加快查询的速度
索引关键字可以是表中的单个字段或几个字段的组合
记录的物理顺序由表文件(.dbf)存储,而记录的逻辑顺序由索引文件存储(.idx或.cdx)
索引文件仅存储记录的逻辑顺序,记录数据依然由表文件存储,故索引文件必须同表一起使用;索引类型;4.1.3 创建索引
1、在表设计器中建立索引
;2、用命令方式建立索引
INDEX ON 条件表达式 TO 单索引文件名 | TAG 索引名 [OF 复合索引文件名] [FOR 索引关键字表达式][COMPACT] [ASCENDING | DESCENDING][UNIQUE | CANDIDATE]
TO建立单索引,扩展名.idx
TAG建立复合索引,扩展名.cdx
用命令为student表的“出生日期”建立索引,索引保存在名为“出生日期”的独立索引文件中
复合索引表达式:“先按…,再按…”
两字段用+连接,故都要转换为字符型
为student表建立普通索引,要求先按性别升序排列,性别相同再按出生日期升序排列。
;;4.1.4 使用索引
1.打开索引文件(自学)
SET INDEX TO 索引文件名列表
2.设置当前索引:控制当前记录顺序的索引。
格式1:SET ORDER TO [索引序号|[TAG] 索引标识名] [ASCENDING |DESCENDING]
格式2:USE 表名 ORDER [TAG] 索引标识名
例:1、按入学成绩建立索引,索引标识rxcj。
2、设置rxcj为主控索引。
3、取消主控索引,恢复原来的物理顺序。;3.使用索引快速定位
索引查找的主要目的和locate相仿,都是为了快速定位,提高查找速度。
索引查找的前提:
相应字段需建立索引,并成为主控索引。
1、索引查找姓名为“王立”的记录。
2、索引查找基本工资为3600的记录。
4.删除索引(自学)
DELELE TAG ALL|索引标识1[,索引标识2…]
;4.2 表的统计操作(自学);4.3 多区操作;4.3 多区操作;4.3.1工作区的概念
把内存里用于存储某一张表的空间称作工作区。所以打开表就是把它从磁盘调入内存的某一个工作区。
一个工作区在某一时刻只能打开一张表,如果一个工作区中已经打开了一张表,再在这个工作区中打开另一张表时,原来的表会自动关闭。所以,若需要同时使用多个表,则须在不同的工作区去打开不同的表。;工作区标识
VFP最多可以设置32767个工作区。为了标识工作区,有三种表示方法:
工作区的区号:从1开始,直到32767。
0 是一个特殊的区号,用于标识未被使用的最小的区
系统别名:前10个工作区,还可用A、B、C、D、E、F、G、H、I、J来标识
用户别名:打开一个表时,通过alias设置一个标识。
若没有设置,默认用户别名和表名相同
表刚刚打开时,1号工作区为当前工作区,在当前工作区中打开的表,称为当前工作表。所以前面操作打开的表都是打开在1号工作区中的。;4.3.2 选择工作区
1.工作区的选择
SELECT 工作区号|系统别名|用户别名
可用SELECT()返回当前工作区的区号
;补充:多表操作下表的打开和关闭;补充:多表操作下表的打开和关闭;4.3 多区操作;2.非当前工作区数据的使用
工作区别名-字段名或工作区别名.字段名
;4.3.3 建立表间临时关联
表间的临时关联是指在不同工作区的两个表间建立记录指针同步移动的关系。
建立关联后,当前工作区中的表(父表)的指针移动后,被关联的表(子表)的指针会自动移动到相关记录。由于这种关联在其中一个表关闭后,表之间的关联就消失,所以称为临时关联。
前提:建立关联的表必须有一个相同的字段,
;建立临时关联的步骤
确认两张表谁为父表,谁为子表
被关联的表(子表)必须以共同字段建立索引,并设置为主控索引。
建立临时关联的命令
SET RELATION TO [关键字段名 INTO 工作区标识]
若执行SET RELATION TO命令,则取消关联。
例:显示每个学生的姓名及其选修的课程号和总成绩
;4.3 多区操作;4.4 永久联系与参照完整性;2 域完整性与约束规则
用于控制字段值的输入范围。
规则
通过书写表达式,控制字段取值有效范围。
复合表达式须拆分
信息
当输入的字段值违反有效性规则时的提示信息。
提示信息必然是字符型数据,勿忘定界符。
;默认值
当字段经常出现某个值时,可设置其为默认值,这样可提高输入数据的效率。
设置默认值时,一定按数据类型
显示全部