清华大学:《Visual foxpro6 及其应用系统开发》第3章 查询与统计

清华大学出版社 TSINGHUA UNIVERSITY PRESS 第3章查询与统计
第3章 查询与统计

清华大学出版社 TSINGHUA UNIVERSITY PRESS 31排序与索引 排序 USE sb SORT TO Emx on部门/D价格FOR主要设备 USE bmx LIST &&主窗口显示如下 记录号编号名称启用日期价格部门主要设备备注商标 1037-2磨床07/21/9024129212221 memo ge 2016-2车床01/15/9227132.73211 memo gen 3016-1车床03/05/906204461211Memo 4100-1微机08/12/978810.00121 memo Gen
3.1 排序与索引 排序: USE sb SORT TO bmx ON 部门/D,价格FOR 主要设备 USE bmx LIST && 主窗口显示如下 记录号 编号 名称 启用日期 价格 部门 主要设备 备注 商标 1 037-2 磨床 07/21/90 241292.12 22 .T. memo gen 2 016-2 车床 01/15/92 27132.73 21 .T. memo gen 3 016-1 车床 03/05/90 62044.61 21 .T. Memo gen 4 100-1 微机 08/12/97 8810.00 12 .T. memo Gen

清华大学出版社 7索引 UNIVERSITY PRESS 结构复合索引文件CDx,主名与表的主名相同,自动维护 表31索引功能分类表 索引类型关键字重复值说明 创建修改命令索引个数 普通索引允许 可作为一对多永久关系中的“多方” INDEX 允许多个 唯一索引允许但输出无重为与以前版本兼容而设置 复值 候选索引不允许 可用作主关键字可用于在永久关系中建 INDEX 输入重复值将禁立参照完整性 CREATE TABLE 止存盘 ALTER TABLE 主索引 仅适用数据库表可用于在永久关系中建 CREATE TABLE仅可1个 立参照完整性 ALTER TABLE 建立索引文件或增加索引标识 INDEX ONTO|TAGOF]ICOMPACT) [ASCENDING DESCENDING] [UNIQUE I CANDIDATEJ ADDITIVE 确定主控索引 SET ORDER TO数值表达式>TAG [ASCENDING DESCENDINGI
索引 结构复合索引文件 .CDX,主名与表的主名相同,自动维护 表3.1 索引功能分类表 索引类型 关键字重复值 说 明 创建修改命令 索引个数 普通索引 允许 可作为一对多永久关系中的“多方” INDEX 允许多个 唯一索引 允许,但输出无重 复值 为与以前版本兼容而设置 候选索引 不允许, 输入重复值将禁 止存盘 可用作主关键字,可用于在永久关系中建 立参照完整性 INDEX CREATE TABLE ALTER TABLE 主索引 仅适用数据库表,可用于在永久关系中建 立参照完整性 CREATE TABLE ALTER TABLE 仅可1个 建立索引文件或增加索引标识 INDEX ON TO | TAG [OF ] [FOR ] [COMPACT] [ASCENDING|DESCENDING] [UNIQUE|CANDIDATE] [ADDITIVE] 确定主控索引 SET ORDER TO [||[TAG] [ASCENDING|DESCENDING]]

例3)小以我建与一个结构复合索引文件其中包括个索引E (1)记录以价格降序排列,索引标识为普通索引型。 (2)记录以部门升序排列,部门相同时则按价格升序排列索引标识为普通索引型。 (3)记录以部门升序排列,部门相同时则按价格降序排列,索引标识为候选索引型。 USE Sb INDEⅹON价格 taG ig DESCendinG&&建立 SB. CDX,关键字价格JG为普通索引型 索引标识 LIST &&记录已按价格降序排列 INDEX ON部门+STR(价格,2) TAG brig; &&关键字为字符表达式“部门+STR(价格,2)”,索引标识BMG增入 SB. CDX IIST&&索引表达式运算后升序排列使记录按部门升序、部门相同按价格升序排列 INDEX ON VALI部门)-价格/10000 IG bmg1 CANDIDATE &&bmg1为候选索引型索引标识,索引标识增入 SB. CDX IIST&&索引表达式运算后升序排列,使记录按部门升序、部门相同按价格降序排列 SETORDER TO TAG ig&&指定 SB. CDX的索引标识JG为主控索引,JG索引序号为3 LIST &&记录按价格降序排列 SETORDER TO TAG bmjg LIST &&记录按(2)排列
[例3-3] 为SB.DBF建立一个结构复合索引文件,其中包括3个索引: (1) 记录以价格降序排列,索引标识为普通索引型。 (2) 记录以部门升序排列,部门相同时则按价格升序排列,索引标识为普通索引型。 (3) 记录以部门升序排列,部门相同时则按价格降序排列,索引标识为候选索引型。 USE sb INDEX ON 价格 TAG jg DESCENDING && 建立SB.CDX,关键字价格,JG为普通索引型 索引标识 LIST && 记录已按价格降序排列 INDEX ON 部门+STR(价格,9,2) TAG bmjg ; && 关键字为字符表达式“部门+STR(价格,9,2)”,索引标识BMJG增入SB.CDX LIST && 索引表达式运算后升序排列,使记录按部门升序、部门相同按价格升序排列 INDEX ON VAL(部门)-价格/1000000 TAG bmjg1 CANDIDATE ; && bmjg1为候选索引型索引标识,索引标识增入SB.CDX LIST && 索引表达式运算后升序排列,使记录按部门升序、部门相同按价格降序排列 SET ORDER TO TAG jg && 指定SB.CDX的索引标识JG为主控索引, JG 索引序号为3 LIST && 记录按价格降序排列 SET ORDER TO TAG bmjg LIST && 记录按(2)排列

清华大学出版社 3.,2查询命令 RSITY PRESS 顺序查询 LOCATE FOR[ UsE Sb INDEX ON编号 tAG bh SEEK038-1 &&不可写为:SEEK编号="038-1 ?RECNO O &&显示:4 INDEX ON启用日期 TAG gyre SEEK{3/5/90} ?FOUND O &&.显示.T.,表示找到该日期 INDEX ON价格 TAG jg SEEK1000.00
3.2 查询命令 顺序查询: LOCATE FOR [] [WHILE ] CONTINUE USE sb LOCATE FOR 价格 USE sb INDEX ON 编号 TAG bh SEEK "038-1" && 不可写为: SEEK 编号="038-1" ?RECNO() && 显示:4 INDEX ON 启用日期 TAG qyrq SEEK {3/5/90} ?FOUND() &&.显示.T.,表示找到该日期 INDEX ON 价格 TAG jg SEEK 1000.00

清华大学出版社 33数据工作期工作区的查询 部门代码表和增值表 BMDM. DBF ZZ. DBF 结构:bmdm(代码c(2),名称c(6)) 结构:zz(编号c(5),增值n(8,2)) 记录 记录 记录号代码名称 记录号编号 增值 办公室 1016-12510.00 212 设备科 2016-1 1000.00 321 车间 3038-1 200.00 车间 523三车间 选择工作区命令: SELECT<别名 CLOSE ALL &&关闭所有打开的表,当前工作区为1号工作区 SELECT O &&1号工作区未打开过表,选定的工作区即该区 se sb G03 &&移至3号记录,注意该记录的部门字段值为22 SELECT O &&选定2号工作区为当前工作区 USe bmdm INDEX0N代码 TaG dm SEeK sb.部 &&即SEEK22 ?sb.编号,a.名称,名称 &&显示“037-2磨床 车间”。这里“a.名称”指sb.名称,“名称”指bmdm.名称 SeLECt sb &&选定SB.DBF所在工作区为当前工作区 ?编号,名称,bmdm.名称 &&显示“037-2磨床车间” SELECT O SELECT &选定2号工作区为当前工作区
3.3 数据工作期工作区的查询 ⚫ 部门代码表和增值表 BMDM.DBF: ZZ.DBF: 结构: bmdm(代码 c(2),名称 c(6)) 结构: zz(编号c(5), 增值n(8,2)) 记录: 记录: 记录号 代码 名称 记录号 编号 增值 1 11 办公室 1 016-1 2510.00 2 12 设备科 2 016-1 1000.00 3 21 一车间 3 038-1 1200.00 4 22 二车间 5 23 三车间 选择工作区命令:SELECT | CLOSE ALL && 关闭所有打开的表,当前工作区为1号工作区 SELECT 0 && 1号工作区未打开过表,选定的工作区即该区 USE sb GO 3 && 移至3号记录,注意该记录的部门字段值为22 SELECT 0 && 选定2号工作区为当前工作区 USE bmdm INDEX ON 代码 TAG dm SEEK sb.部门 && 即SEEK 22 ?sb.编号,a.名称,名称 && 显示“037-2 磨床 二车间”。这里“a.名称”指sb.名称,“名称”指bmdm.名称 SELECT sb && 选定SB.DBF所在工作区为当前工作区 ?编号,名称,bmdm.名称 && 显示“037-2 磨床 二车间” SELECT() && 显示: 1 SELECT 2 && 选定2号工作区为当前工作区

清华大学出版社 数据亚作期窗园 SITY PRESS 打开:选定窗口菜单的数据工作期命令 建立视图文件(VUE): 文件菜单的另存为命令 CREATE VIEW ●打开视图文件: SET VIEW T0<视图文件名〉 数据工作期 当前工作期 默认(1 别名 关系 属性 浏览① 打开Q □口区 关闭c 编号 名称部门 1001微机 关系 101-1复印机 210-1轿车 一对多 工作区:1 记录:7
数据工作期窗口 ⚫ 打开:选定窗口菜单的数据工作期命令 ⚫ 建立视图文件(.VUE): • 文件菜单的另存为命令 • CREATE VIEW ⚫ 打开视图文件: SET VIEW TO

清华大学出版社 /VERSITY PRESS 表的关联 多一关系 父表 子表 索引字段 编号名称…部门 016-1车床 21 代码名称 016-2车床 21 11办公室 037-2磨床 12设备科 038-1钻床 23 21一车间 100-1微机 22 22二车间 101-1复印机… 车间 210-1轿车 …11 子表索引字段 父表 多关系 关联的多一关系与一多关系
表的关联 关联的多一关系与一多关系

清华大学出版社 Ts 多一关系 ERSITY PRESS 在数据工作期窗口建立多一关系 数据工作期 当前工作期 默认(1) 别名 系 □回区 『属性¢) 们名「编号设备名「启用日期 N一车间1016-2车床01/15/92 浏览 设备科100-1微机 08/12/97 打开包 设备科101-1复印机06/01/92 办公室21011轿车 05/08/95 闭c) 关系 对多〔 SET STRICTDATE TOO 工作区:1 记录:7 BROWSE FIELDS BMDM名称H=部门名 b编号Sb.名称H=设备名’Sb启用日期 FOR Sb启用日期>={01/01/92} 用命令序列实现 浏览结果:多一关系显示部门名 seLECT 2 use bmdm &&打开子表 INDEX0N代码TAG代码 ADDITIVE&&子表在代码字段建立索引 SELECT 1 USE sb &&打开父表 SET RELATI0NT0sb.部门 into bmdm additive&&指定在部门字段对子表设置多一关系
多一关系 在数据工作期窗口建立多一关系: SET STRICTDATE TO 0 BROWSE FIELDS BMDM.名称:H='部门名‘ ; Sb.编号, Sb.名称:H=‘设备名’,Sb.启用日期 ; FOR Sb.启用日期>={01/01/92} 用命令序列实现: 浏览结果: 多一关系显示部门名 SELECT 2 USE bmdm && 打开子表 INDEX ON 代码 TAG 代码 ADDITIVE && 子表在代码字段建立索引 SELECT 1 USE sb && 打开父表 SET RELATION TO sb.部门 INTO bmdm ADDITIVE && 指定在部门字段对子表设置多一关系

清建立关联命令 TSINGHUA UNIVERSITY PRESS SET RELATION TO IS表达式1INTO,,表达式N>INTO][ ADDITIVE 说明一多关系的命令 SET SKIP TO【表别名1>L<表别名21 多关系的命令序列示例 CLOSE ALI SELECT 2 USE bmdm &&子表1 父多子 SETORDER TO TAG代码 浏览窗口 seLECT 3 USE ZZ &&子表2 INDEX ON编号 TAG bh SelECT 1 口区 USE sb &&父表 编号价格 增值部门名 SET RELATION TO SE部门 INTO bmd 06-1162044612510.00一车间 SET RELATION TO SH编号INTO 水本*本木本本木本水末*1000.00一车间 一车间 ADDITIVE 车间 SET SKIP TO ZZ &&子表ZZ为多方 38+1525001200车间 BROWSE FIELDS编号,价格,z增值,bmdm名 1001810.00 设备科 101-11030501设备科 称H-'部门名 210-1151000 办公室
建立关联命令: SET RELATION TO [ INTO ,…, INTO ] [ADDITIVE] 说明一多关系的命令: SET SKIP TO [[,]…] 一多关系的命令序列示例: CLOSE ALL SELECT 2 USE bmdm && 子表1 SET ORDER TO TAG 代码 SELECT 3 USE zz && 子表2 INDEX ON 编号 TAG bh SELECT 1 USE sb && 父表 SET RELATION TO sb.部门 INTO bmdm SET RELATION TO sb.编号 INTO zz ADDITIVE SET SKIP TO zz && 子表ZZ为多方 BROWSE FIELDS 编号,价格,zz.增值,bmdm.名 称:H='部门名' 一父多子 浏览窗口
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 清华大学:《Visual foxpro6 及其应用系统开发》第2章 表的基本操作.ppt
- 清华大学:《Visual foxpro6 及其应用系统开发》第1章 绪论.ppt
- 天津农学院:《C语言》课程教学资源(教程讲义)第十三章 文件.doc
- 天津农学院:《C语言》课程教学资源(教程讲义)第十二章 位运算.doc
- 天津农学院:《C语言》课程教学资源(教程讲义)第十一章 结构体与共用体.doc
- 天津农学院:《C语言》课程教学资源(教程讲义)第十章 指针.doc
- 天津农学院:《C语言》课程教学资源(教程讲义)第九章 预处理命令.doc
- 天津农学院:《C语言》课程教学资源(教程讲义)第八章 函数.doc
- 天津农学院:《C语言》课程教学资源(教程讲义)第七章 数组.doc
- 天津农学院:《C语言》课程教学资源(教程讲义)第六章 循环控制.doc
- 天津农学院:《C语言》课程教学资源(教程讲义)第五章 分支结构程序.doc
- 天津农学院:《C语言》课程教学资源(教程讲义)第四章 最简单的C程序设计—顺序程序设计.doc
- 天津农学院:《C语言》课程教学资源(教程讲义)第三章 数据类型、运算符与表达式.doc
- 天津农学院:《C语言》课程教学资源(教程讲义)第二章 程序的灵魂—算法.doc
- 天津农学院:《C语言》课程教学资源(教程讲义)第一章 C语言概述(靳润昭).doc
- 郑州大学:《C程序设计》课程教学资源(PPT课件讲稿,第三版)第十三章 文件.ppt
- 郑州大学:《C程序设计》课程教学资源(PPT课件讲稿,第三版)第五章 选择结构程序设计.ppt
- 郑州大学:《C程序设计》课程教学资源(PPT课件讲稿,第三版)第一章 C语言概述(赵新灿).ppt
- 郑州大学:《C程序设计》课程教学资源(PPT课件讲稿,第三版)第四章 顺序程序设计.ppt
- 郑州大学:《C程序设计》课程教学资源(PPT课件讲稿,第三版)第十章 指针.ppt
- 清华大学:《Visual foxpro6 及其应用系统开发》第4章 程序设计初步.ppt
- 清华大学:《Visual foxpro6 及其应用系统开发》第5章 菜单设计.ppt
- 清华大学:《Visual foxpro6 及其应用系统开发》第6章 表单设计基础.ppt
- 清华大学:《Visual foxpro6 及其应用系统开发》第7章 表单控件设计.ppt
- 清华大学:《Visual foxpro6 及其应用系统开发》第8章 表单高级设计.ppt
- 清华大学:《Visual foxpro6 及其应用系统开发》第9章 报表设计.ppt
- 清华大学:《Visual foxpro6 及其应用系统开发》第10章 系统开发实例.ppt
- 《程序设计教程》教学资源(PPT讲稿)第10章 动态链接库开发.ppt
- 《程序设计教程》教学资源(PPT讲稿)第11章 数据库应用程序开发基础.ppt
- 《程序设计教程》教学资源(PPT讲稿)第12章 Borland数据提供者.ppt
- 《程序设计教程》教学资源(PPT讲稿)第13章 数据库应用程序开发.ppt
- 《程序设计教程》教学资源(PPT讲稿)第14章 创建ASP .NET应用程序.ppt
- 《程序设计教程》教学资源(PPT讲稿)第15章 ASP .NET Web服务.ppt
- 《程序设计教程》教学资源(PPT讲稿)第16章 Internet编程.ppt
- 《程序设计教程》教学资源(PPT讲稿)第17章 开发自定义组件.ppt
- 《程序设计教程》教学资源(PPT讲稿)第18章 异常处理与程序调试.ppt
- 《程序设计教程》教学资源(PPT讲稿)第1章 认识Delphi 2005.ppt
- 《程序设计教程》教学资源(PPT讲稿)第2章 .NET Framework概况.ppt
- 《程序设计教程》教学资源(PPT讲稿)第3章 Delphi语言基础.ppt
- 《程序设计教程》教学资源(PPT讲稿)第4章 Object Pascal的高级技术.ppt