收藏 分享(赏)

第4章表的创建与操作.ppt

上传人:kpmy5893 文档编号:9716926 上传时间:2019-08-27 格式:PPT 页数:37 大小:568KB
下载 相关 举报
第4章表的创建与操作.ppt_第1页
第1页 / 共37页
第4章表的创建与操作.ppt_第2页
第2页 / 共37页
第4章表的创建与操作.ppt_第3页
第3页 / 共37页
第4章表的创建与操作.ppt_第4页
第4页 / 共37页
第4章表的创建与操作.ppt_第5页
第5页 / 共37页
点击查看更多>>
资源描述

1、,第4章 表的建立与操作,引言4.1 表的建立4.2 表的显示与维护4.3 表的复制4.4 表的排序与索引4.5 表的查询4.6 表的统计与计算4.7 多个表的操作,引言,在Visual FoxPro中,表(Table)是组织数据、建立关系数据库的基本元素。 Visual FoxPro中的表有两种类型,一类是自由表,它不属于任何数据库而独立存在;另一类是数据库表,它是数据库的一部分。 处理自由表和数据库表的方法基本相同。本章暂不涉及数据库的操作,主要介绍自由表的基本操作。,4.1 表的建立,在关系模型中,用二维表来表示数据之间的联系。一个二维表由表的框架和表中的数据两部分组成,而一个表文件则由

2、表结构和记录数据两部分组成。,表结构的建立,利用表设计器创建表,菜单操作方式,利用表设计器创建表,命令操作方式 可以在命令窗口中使用CREATE命令来建立表的结构。其命令格式是: CREATE 表文件名?在命令中使用?或省略该参数时,将打开“创建”对话框,提示输入表名并选择保存表的位置。执行CREATE命令后,屏幕上弹出表设计器窗口,以后的操作方法与菜单操作相同。,向表中输入记录,在把刚建立好的表结构存盘以后,若要立即输入记录,此时,屏幕显示记录输入窗口,用户可通过它输入记录。 输入完成之后按住Ctrl+W组合键将数据存入相应的表文件之中 。,4.2 表的显示与维护,表的打开 : 菜单方式:文

3、件菜单打开选项 命令方式: USENOUPDATEEXCLUSIVE|SHARED NOUPDATE指定以只读方式打开表 EXCLUSIVE指定以独占方式打开表, SHARED指定以共享方式打开表。 表的关闭: USE 命令,后不接任何语句,表的显示,表结构的显示 : LIST|DISPLAY STRUCTURETO PRINTER PROMPTTO FILE LIST命令是连续显示,当显示的内容超过一屏时,自动向上滚动,直到显示完成为止;DISPLAY命令是分屏显示,显示满屏时暂停,待用户按任意键后继续显示后面的内容。,表的显示,表记录的显示 : LIST|DISPLAY FIELDS范围

4、FORWHILETO PRINTER PROMPTTO FILE OFF FIELDS 表达式表指定要显示的表达式 若选定FOR子句,则显示满足所给条件的所有记录。若选定WHILE子句,显示直到条件不成立时为止,这时后面即使还有满足条件的记录也不再显示。 范围、FOR子句和WHILE子句用于决定对哪些记录进行操作。 选用OFF时,表示只显示记录内容而不显示记录号。,例4.1 针对学生表,写出进行如下操作的命令。,显示前5条记录: Use 学生表 List next 5 显示第5号记录:list record 5 显示记录号为奇数的记录:list for mod(recno(),2)=1 显示汉

5、族男学生的记录: LIST FOR ! 少数民族否 AND 性别=男 显示湖北或湖南籍学生的姓名、性别、年龄以及简历。 LIST 姓名,性别,YEAR(DATE()-YEAR(出生日期),简历 FOR 湖$籍贯,表的修改,表结构的修改 :MODIFY STRUCTURE 表中记录的修改: 浏览窗口的操作 :打开表后,在“显示”菜单中选择“浏览”命令,则打开浏览窗口,表的内容将出现在浏览窗口中。也可以在打开表后,输入BROWSE命令打开浏览窗口。 数据的两种显示方式:浏览窗口中的数据有浏览和编辑两种显示方式。 浏览窗口的分割与同步:浏览窗口左下角有一黑色小方块,可用于窗口的分割。,表的修改,成批

6、替换修改 : REPLACEWITHADDITIVE ,字段2 WITH 表达式2 ADDITIVE ,范围 FOR 条件 WHILE 条件 若不选择范围和FOR子句或WHILE子句,则默认为当前记录。如果选择了FOR子句,则范围默认为ALL,选择了WHILE子句,则范围默认为REST ADDITIVE只能在替换备注型字段时使用。,表记录指针的定位 :,在表中,系统给每个记录提供一个记录号。对打开的表都自动设置一个指针,用以指示当前被操作的记录,即当前记录。刚打开表时,记录指针自动指向第一个记录。绝对定位 :GO TO|TOP|BOTTOM 相对定位:SKIP 记录数 注意:如果记录数的值为正

7、数,则记录指针往表尾方向移动,若为负数,则往表头方向移动。,表记录的增加,插入记录 :INSERT BLANK BEFORE 若给出BLANK选项,则插入一个空记录; 若给出BEFORE选项,则在当前记录的前面插入一新记录 追加记录 :APPEND BLANK 该命令在当前表的末 尾追加一个新记录。若选用BLANK选项,则追加一个空记录到表的末尾。 这两个命令区别在于: APPEND命令是在当前表的末尾增加新记录,而INSERT命令可以在指定位置上增加新记录。,表记录的删除,Visual FoxPro对部分记录的删除分两步进行:逻辑删除与物理删除。(1) 给记录加删除标志: DELETE FO

8、RWHILE (2) 取消删除标记: RECALL FORWHILE (3) 真正删除记录: PACK 该命令清除所有带删除标志的记录。 (4) 删除全部记录:ZAP该命令删除当前表的全部记录,只留下表结构。,4.3 表的复制,复制表的结构 : COPY STRUCTURE TO FIELDS该命令将当前表的结构复制到指定的表中。它仅复制当前表的结构,不复制其记录数据。 表结构和记录同时复制 : COPY TOFIELDS FORWHILETYPESDFDELIMITEDXLSWITHBLANK,从其他文件向表中添加数据,APPEND FROM 文件名 FIELDS 字段名表FOR 条件 WH

9、ILE 条件 TYPE 文件类型,表与数组间的数据传送,将表中的记录数据传送到数组 SCATTERFIELDS TO MEMO 将数组数据传送到表中的记录 GATHER FROM FIELDSMEMO 把表的一批记录同时复制到数组 (必须是二维数组) COPY TO ARRAYFIELDS FORWHILE条件 从数组向表中添加记录 APPEND FROM ARRAYFOR FIELDS ,4.4 表的排序与索引,在一般情况下,表中的记录是按其输入的先后顺序存放的,在对数据记录进行操作时,就按照这种顺序进行处理。但有时希望按别的顺序将数据记录重新组织,例如,对学生表,希望数据记录按入学成绩由高

10、到低排列,按出生日期的先后顺序排列等。要完成这种操作有两种方法:排序和索引。排序是生成一个新的表,而索引是建立一种对应关系,两者都能达到重新组织数据记录的目的。,表的排序,排序是根据不同的字段对当前表的记录做出不同的排列,产生一个新的表。新表与旧表内容完全一样,只是它们的记录排列顺序不同而已。 SORT TOON/A/D/CFIELDSFORWHILE 思考:排序有什么缺点? 造成数据的重复,排序一次就生成一个新表。 不能及时更新,改动数据就要重新排序。,索引概述,索引并不是重新排列表中记录的物理顺序,而是另外形成一个索引关键表达式值与记录号之间的对照表,这个对照表就是索引文件。Visual

11、FoxPro提供了两种不同类型的索引文件:单索引文件和复合索引文件。 (1) 单索引文件是指一个索引文件中只能保存一个索引,其扩展名为.idx。 (2) 复合索引文件可以存储多个索引,其扩展名为.cdx。当索引名与表文件名相同时,称为结构化复合索引,索引的类型,主索引:是不允许在指定字段或表达式中出现重复值的索引,每一个表只能建立一个主索引,只有数据库表才能建立主索引。 候选索引:也是一个不允许在指定字段和表达式中出现重复值的索引。数据库表和自由表都可以建立候选索引,一个表可以建立多个候选索引。惟一索引:系统只在索引文件中保留第一次出现的索引关键字值。 普通索引:这是一个最简单的索引,数据库表

12、和自由表都可以建立普通索引。,索引文件的建立,命令格式: 单索引文件:INDEX ONTO FOR COMPACTASCENDINGDESCENDING UNIQUE ADDITIVE 复合索引文件:INDEX ONTAG OF FOR COMPACTASCENDINGDESCENDING UNIQUE ADDITIVE,在表设计器中建立索引,注意:在表设计器中建立的都是结构化复合索引,索引文件的使用,索引文件必须先打开才能使用 : 同时打开表和索引文件:USE 表文件名 INDEX 索引文件名表 (2) 打开表后再打开索引文件:SET INDEX TO ADDITIVE确定主控索引 : SE

13、T ORDER TOTAG OF,索引文件的使用,关闭索引文件: CLOSE INDEXSET INDEX TO 删除索引 : DELETE FILE 索引文件名DELETE TAG ALL索引标志名表 更新索引 :索引文件依赖于表而存在,当表中的数据发生变化时,打开的索引文件也应相应地被更新。,4.5 表的查询,顺序查询 : LOCATE FOR |WHILE按表中记录的物理顺序逐个查询符合条件的记录,找到后,记录指针指向该记录,当查找到第一个满足条件的记录后,如果执行CONTINUE命令,则继续寻找满足条件的记录,直到范围结束为止。,顺序查询使用示例:,例4.18在学生表中查询汉族男生的姓

14、名、入学成绩和年龄。 USE 学生 LOCATE FOR ! 少数民族否AND 性别=男 DISP 姓名,入学成绩, YEAR(DATE()-YEAR(出生日期)CONTINUE ? RECNO(),姓名,入学成绩, YEAR(DATE()-YEAR(出生日期),索引查询,SEEK 表达式 在当前表中,按已确定的主索引文件关键字来查询与指定表达式值相匹配的第一条记录,找到后将记录指针定位于该记录。该命令只能使记录指针定位于符合条件的第一条记录,可用SKIP命令使指针指向下一个符合条件的记录。 注意: 索引查询只能查询建立了索引的关键字那一字段,索引查询使用示例:,例4.19查询学生表中1983

15、年9月7日出生的学生的记录。USE 学生INDEX ON 出生日期 TAG sy4D=19830907SEEK DDISP,4.6 表的统计与计算,统计记录个数 : COUNT FOR WHILE TO 求和与求平均值 :SUMAVERAGEFORWHILETOARRAY ,统计函数的计算,CALCULATEFOR WHILETO|ARRAY 表达式表中的表达式至少应包含一种统计函数。 AVG(数值表达式):求数值表达式的平均值。 CNT():统计表中指定范围内满足条件的记录个数。 MAX(表达式):求表达式的最大值。 MIN(表达式):求表达式的最小值。 SUM(数值表达式):求表达式之和。

16、 NPV(数值表达式1,数值表达式2,数值表达式3):求数值表达式的净现值。 STD(数值表达式):求数值表达式的标准偏差。 VAR(数值表达式):求数值表达式的均方差。,分类汇总,TOTAL ONTO FIELDS FOR WHILE 条件 该命令对当前表的某些数值型字段按关键字表达式进行分类统计,并把统计结果存放在文件名指定的表中。 为了进行分类汇总,必须对当前表按关键字表达式进行排序或建立索引文件。,4.7 多个表的操作,工作区 :工作区是用来保存表及其相关信息的一片内存空间。在每个工作区中只能打开一个表文件。 工作区号与别名:不同工作区可以用其编号或别名来加以区分。 工作区的选择:SELECT 0 工作区的互访 :在当前工作区中可以访问其他工作区中的表的数据 。,表的关联,所谓关联,就是当前表记录指针的移动,关联能引起别的表按某种条件相应地移动记录指针。 一对一的关联 : SET RELATION TOINTO, INTO ADDITIVE 一对多的关联 : SET SKIP TO 别名1,别名2,表的连接,JOIN WITH| TO FOR 条件 FIELDS 字段名表 该命令将当前表与指定工作区的表按指定的条件进行连接,连接产生一个新的表。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报