VF6.0数据库原理与应用 胡晓燕 第3章 数据的检索、统计与多工作区操作

上传人:E**** 文档编号:89350268 上传时间:2019-05-23 格式:PPT 页数:109 大小:1.33MB
返回 下载 相关 举报
VF6.0数据库原理与应用  胡晓燕 第3章  数据的检索、统计与多工作区操作_第1页
第1页 / 共109页
VF6.0数据库原理与应用  胡晓燕 第3章  数据的检索、统计与多工作区操作_第2页
第2页 / 共109页
VF6.0数据库原理与应用  胡晓燕 第3章  数据的检索、统计与多工作区操作_第3页
第3页 / 共109页
VF6.0数据库原理与应用  胡晓燕 第3章  数据的检索、统计与多工作区操作_第4页
第4页 / 共109页
VF6.0数据库原理与应用  胡晓燕 第3章  数据的检索、统计与多工作区操作_第5页
第5页 / 共109页
点击查看更多>>
资源描述

《VF6.0数据库原理与应用 胡晓燕 第3章 数据的检索、统计与多工作区操作》由会员分享,可在线阅读,更多相关《VF6.0数据库原理与应用 胡晓燕 第3章 数据的检索、统计与多工作区操作(109页珍藏版)》请在金锄头文库上搜索。

1、第3章 数据的检索、统计与多工作区操作,3.1 排序与索引 3.2 数据的统计 3.3 多工作区操作 3.4 排序、索引和统计(实验六) 3.5 多工作区操作(实验七) 习题三,3.1 排序与索引,3.1.1 排序 表的排序是指按一定的条件在已有的表之外产生一个新的有序表,从而实现数据的重新组织。,格式:SORTTOON/A/C/D; ,/A/C/DASCENDING/DESCENDING; FORFIELDS 功能:将当前表中指定范围内满足条件的记录,根据指定的关键字段按字符顺序、数值大小或时间顺序进行重新排列,生成一个新的表。,3.1.2索引 对于记录较多的表进行排序,一方面要花费较长的时

2、间,另一方面新生成的表文件要占用较多的磁盘空间,这时最好采用建立索引的方法。建立索引文件,改变表的物理顺序,也不生成新的表文件,而只是改变表的逻辑顺序。 主索引。 候选索引。 普通索引。 惟一索引。,1.建立索引文件 格式:INDEXONTO/TAG; FORASCENDING/DESCENDINGUNIQUECANDIDATE ADDITIVE 功能:在当前表中,对满足指定条件的记录按进行索引,生成索引文件。,图3-1运行结果,2.打开和关闭索引文件 (1)若索引文件已经存在,则可用下列命令打开: 格式:USEINDEX; ORDER/ 功能:将索引文件连同指定的表文件一起打开。 (2)若索

3、引文件已经存在,且对应的表已经打开,则可用下列命令打开索引文件: 格式:SETINDEXTOADDITIVE 功能:打开已建立的索引文件。,3.确定主控索引 一张表可以有多个单索引文件和一个结构复合索引文件,当它们都打开时,在同一个时间只可能有一个单索引文件或结构复合索引文件中的某一个索引起作用,称之为主控索引。确定主控索引的命令如下: 格式:SETORDERTO/TAG; ASCENDING/DESCENDING 功能:设置某个单索引文件或复合索引文件中的某个索引为主控索引。,4.关闭索引文件 格式一:USE 格式二:SETINDEXTO 格式三:CLOSEINDEX 功能:关闭当前工作区内

4、已打开的索引文件。,5重新索引 当表中记录的内容发生变化时,如果未打开单索引文件,则单索引文件不会自动更新,要更新这些单索引文件,可在单索引文件打开后使用重新索引命令。结构复合索引文件可以自动更新,不需要使用重新索引命令。,格式:REINDEX 功能:重建当前打开的所有单索引文件。 说明:使用REINDEX命令前必须首先打开需要重建索引的全部单索引文件。,3.1.3数据的查询 1直接查询 直接查询也叫顺序查询,它按照记录的物理顺序逐条进行比较的查询。常用的命令有LOCATE和CONTINUE。 1) LOCATE命令 格式:LOCATEFOR/WHILE 功能:在当前表中短语限定的范围内开始查

5、找满足条件的第一条记录。,2)CONTINUE命令 格式:CONTINUE 功能:使LOCATE命令从当前满足条件的记录开始继续查找下一条满足条件的记录。 说明:CONTINUE命令能被重复执行,直到记录指针指到表的结尾或指定范围的尾部。,2快速查询 1) FIND命令 格式:FIND/ 功能:在已建立索引并且表文件和索引文件均已打开的表中,查找索引关键字值与指定的字符型或数值型常量相匹配的第一条记录。如果找到,则指针指向该记录,否则指针指向文件尾。,2) SEEK命令 格式:SEEK 功能:在主控索引文件中将记录指针定位在索引关键字内容与命令中指定的表达式相匹配的第一条记录。,3.2 数据的

6、统计,3.2.1统计记录个数命令 格式:COUNT FOR/WHILETO 功能:统计当前表中指定范围内满足条件的记录条数,并将其存于内存变量中。,3.2.2求和命令 格式:SUM FOR/WHILE; TO/TOARRAY 功能:对当前表中指定范围内满足条件的数值型字段或是由数值型字段组成的数值型表达式纵向累加求和,并可把结果存放在对应的变量或数组中。,图3-2工资表浏览,3.2.3求平均值命令 格式:AVERAGE FOR/WHILE; TO/TOARRAY 功能:对当前表中指定范围内满足条件的记录的数值型字段纵向求算术平均值,并可把结果存入中或存入指定的数组中。,3.3 多工作区操作,3

7、.3.1工作区的区号与别名 工作区是内存中划分出来的一系列的存储空间。VFP6.0共提供了32767个工作区,每个工作区的区号分别用132767表示。此外,每一个工作区还有一个系统别名,其中工作区110对应的系统别名分别为AJ,工作区1132767对应的系统别名分别为W11W32767。因此单个字母AJ不能用来为表命名,因为它是系统的保留字。,另外每个工作区中打开的表还可以由用户自定义别名,分为以下两种情况: (1)当用命令USE打开表时,系统默认的表别名就是该表的文件名。 (2)为用命令USEALIAS打开表时,就为表另外起了个别名,这时的表文件名就不再是表的别名了。,3.3.2工作区的选择

8、 若想改变当前工作区,可以使用SELECT命令来实现: 格式:SELECT/0 功能:选择某一个工作区作为当前工作区,并使该工作区中打开的表成为当前表。,图3-3Student表浏览图3-4Score表浏览,用菜单操作方式在不同的工作区中打开表,可以选择“窗口”菜单下的“数据工作期”选项打开“数据工作期”窗口后单击“打开”按钮进行操作。在这里因为已经用命令方式打开了表,所以进入“数据工作期”窗口后可以看见当前所有已经打开的表别名,以及它们各自所位于的工作区,见图3-5。,图3-5“数据工作期”窗口,3.3.3 表的关闭 格式一:USE 功能:关闭当前工作区中打开的表,可与选择工作区命令配合使用

9、。 格式二:USEIN/ 功能:关闭指定工作区中打开的表文件,不改变当前工作区。,3.3.4非当前工作区数据的调用 对于多工作区操作,用户除了可以操作当前工作区中表的记录外,还可以操作其他工作区中表的记录,实现多表之间的数据处理。在当前工作区调用其他工作区的数据时,非当前工作区中的表文件的字段名前要加上别名和相应的符号进行引用。格式如下: 格式一:- 格式二:.,3.3.5表的关联 1临时关联 随着表的关闭而自动撤消的关联称为表间的临时关联。 1) 在“数据工作期”窗口中创建临时关联 选择“窗口”菜单下的“数据工作期”菜单项,打开“数据工作期”窗口。单击“打开(O)”按钮,选择要建立临时关联的

10、表。,图3-6 “设置索引顺序”对话框,图3-7表达式生成器,图3-8在“数据工作期”窗口中建立临时关联,2) 用命令建立和删除临时关联 格式:SETRELATIONTOINTO/ADDITIVE 功能:在两个表之间建立临时关联。,3)临时关联的解除 当某些临时关联不再使用时,及时解除关联可以提高系统的运行速度。 格式一:SETRELATIONTO 功能:解除当前工作区中的表与其他工作区中的表之间已建立的临时关联。 格式二:SETRELATIONOFFINTO/ 功能:解除当前工作区与由/指定的工作区中的表之间的临时关联。,2永久关联 永久关联是一种在数据库中建立的关联,它被作为数据库的一部分

11、保存起来,在每次使用表时无须重新建立,所以称为永久关联或永久关系。每当用户在查询设计器或视图设计器中使用表时,或者在创建表单时通过数据环境设计器使用表时,永久关联将作为表间的默认关系。,1)用“数据库设计器”创建和删除永久关联 如果需要建立关联的数据库表的索引还没有建立,那么先用“表设计器”为相应的表建立索引,注意,“父表”中应具有主索引或候选索引。然后在“数据库设计器”中将鼠标放在学生表的主索引xh上,按下鼠标左键并拖动到选课表的普通索引xh上(注意方向一定不能弄反),此时在两索引之间建立一条“一对多”关系的连线。用同样的方法在课程表的主索引kcbh和选课表的普通索引kcbh之间建立一条“一

12、对多”关系的连线,如图3-9所示。,图3-9建立永久关联,若想编辑或是删除永久关系,则只需将鼠标放于相应的关系连线上,单击左键使其变粗表示选定,然后单击右键打开快捷菜单,在上面选择“编辑关系”或是“删除关系”即可,如图3-10所示。,图3-10编辑或删除永久关联,2) 用命令创建和删除永久关联 格式:ALTERTABLEADDFOREIGNKEY; TAGREFERENCES,3.3.6建立参照完整性规则 使用“参照完整性生成器”,可以帮助建立参照完整性规则,参照完整性规则分为三类:更新规则、删除规则和插入规则。实施参照完整性规则,VFP6.0可以确保数据的一致性。例如,通过参照完整性规则可以

13、对相关的表做出以下限制:,(1)当父表中没有相关的记录时,记录不得追加到相关的子表中; (2)当父表中某条记录在相关子表中有相关记录时,这条父表记录不允许删除; (3)当父表的关系字段值改变将导致相关子表中出现无关记录时,在父表中不允许做这种改变。,由此可见,在创建数据库时,如果建立参照完整性规则,那么在用户输入、修改或删除记录时就能保证数据的一致性。建立参照完整性规则的步骤如下: (1) 在“数据库设计器”窗口打开的情况下,选择“数据库”菜单下的“清理数据库”选项。 (2) 选择“数据库”菜单下的“编辑参照完整性”选项。打开“参照完整性生成器”,如图3-11所示。,(3)在“参照完整性生成器

14、”中,单击对话框下部要实施参照完整性规则的关系行,然后进行下列操作:单击“更新”列右边的箭头按钮,如图3-11所示。,图3-11参照完整性生成器,(4)当我们在设置完参照完整性规则以后,单击“确定”按钮,如图3-12所示。这时VFP6.0保存参照完整性规则设置,生成参照完整性代码,最后关闭“参照完整性生成器”。,图3-12设置好的参照完整性规则,我们把学生表里的第一条记录的学号改为01,再来看一下选课表里的相关内容,可以发现所有相关的学号全部都改为01了,这是因为更新规则设置的是级联,如图3-13所示。,图3-13设成级联的更新规则,3.4 排序、索引和统计(实验六),1.实验目的 (1)掌握

15、对记录数据的排序操作。 (2)掌握对记录数据的索引操作。 (3)掌握对记录数据的统计操作。,2.实验内容 (1)记录的排序。 (2)记录的索引。 (3)记录的统计。,3.实验步骤 1) 记录的排序 当一个较小的表要进行排序时,常用“SORTON”命令。排序操作是在表已被打开的情况下进行的,分为升序和降序两种。下面以“学生”表为例。 注意SORTON命令中,“/a”表示升序,“/d”表示降序。 (1)升序命令方式如图3-14所示。 (2)降序命令方式如图3-15所示。,图3-14升序命令图3-15降序命令,2) 索引与排序的比较 采用SORT命令排序时,一方面要花费较长的时间,另一方面新建成的表

16、文件要占用较多的磁盘空间。特别是当表较大,并且要求分别按不同的字段进行排序时,就会显得很繁琐。,3)创建索引 (1)用菜单操作方式创建索引。 选择主菜单“表”下的“属性”选项,出现“工作区属性”对话框(一个工作区只打开一个数据表,工作区属性即工作区中的数据表属性)。在“索引顺序”项的下拉列表中,选择一个索引标记为主控索引,以决定索引顺序,如图3-16所示。,图3-16设置索引顺序,也可单击“修改”按钮进入“表设计器”对话框进行修改,如图3-17所示。修改完之后,单击“确定”按钮返回到“工作区属性”对话框即可。,图3-17 表设计器中创建索引,(2)用命令操作方式创建索引。 格式:INDEXONTO/TAG,图3-18升序方式图3-19降序方式,4)打开索引文件 (1)打开表的同时打开索引文件。 格式:USEINDEX 打开表单同时打开索引文件的命令如图3-20所示。 经过

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号