收藏 分享(赏)

Visual_FoxPro_6.0编程入门1-7章.ppt

上传人:wspkg9802 文档编号:7402679 上传时间:2019-05-16 格式:PPT 页数:188 大小:2.99MB
下载 相关 举报
Visual_FoxPro_6.0编程入门1-7章.ppt_第1页
第1页 / 共188页
Visual_FoxPro_6.0编程入门1-7章.ppt_第2页
第2页 / 共188页
Visual_FoxPro_6.0编程入门1-7章.ppt_第3页
第3页 / 共188页
Visual_FoxPro_6.0编程入门1-7章.ppt_第4页
第4页 / 共188页
Visual_FoxPro_6.0编程入门1-7章.ppt_第5页
第5页 / 共188页
点击查看更多>>
资源描述

1、1,第1-7章,2,学习Visual FoxPro的两个重要部分:1. 命令的使用2. 集成开发环境的操作,3,第1章,4,知识点: Visual FoxPro 及其发展简史数据管理技术数据库系统的组成数据模型关系的基本运算Visual FoxPro6.0的数据组织结构,第1章 VFP与数据库基本概念,5,1.1 Visual FoxPro概述,Visual FoxPro的发展经历了dBASE、FoxBASE、FoxPro和Visual FoxPro等4个主要发展阶段,6,1.2 数据管理技术,人工管理 文件系统 数据库管理,1.2.1 数据管理技术的发展,7,1.2.2 数据库系统的组成,

2、数据库 数据库管理系统 计算机系统 用户,8,1.2.2 数据库系统的组成, 数据库 数据库(Data Base,DB)是统一管理的相关数据的集合。这些数据以一定的结构存放在磁盘中。其基本特点是:数据能够为各种用户共享、具有可控制的冗余度、数据对程序的独立性以及由数据库管理系统统一管理和控制等。 数据库管理系统 数据库管理系统(database management system,DBMS)是在操作系统支持下工作的管理数据的软件,是数据库系统的核心。它能够为用户或应用程序提供访问数据库的方法,包括数据库的建立、更新、查询、统计、显示、打印及各种数据控制。,9,1.2.2 数据库系统的组成, 计

3、算机系统 计算机系统(computer system)是指用于数据库管理的计算机硬件、软件系统。 用户 即与数据库系统打交道的人员。通常有3种人员: 对数据库系统进行日常维护的数据库管理员。 用数据操作语言和高级语言编制应用程序的程序员。 使用数据库中数据的人员。,10,1.3 数据模型,1.3.1 层次模型,11,1.3 数据模型,1.3.2 网状模型,12,1.3 数据模型,1.3.3 关系模型,13,1.3.3 关系模型,1.关系术语 关系:二维表,Visual FoxPro的一个表文件。 元组:表中一行,记录。 属性:表中的一列,字段。 分量:元组中一个属性值。 域:表中属性的取值范围

4、。 关键字,关键字段、码:表中具有惟一标识的属性。 关系模式: 对关系的描述,表的结构。,14,1.4 关系的基本运算,选择:从关系中找出满足条件的记录。(行) 投影:从关系中选择若干属性组成新的关系。(列) 连接:将两个关系通过公共属性名连接成一个新的关系。,15,1.5 VFP的数据组织结构,从数据管理角度看,VFP数据组织的层次由大到小依次是:数据库、表、记录和字段。 1. 字段 2. 记录 3. 表 4. 数据库,16,第2章,17,第2章 初识Visual FoxPro6.0,知识点:Visual FoxPro6.0用户界面菜单系统命令窗口Visual FoxPro6.0的设计工具V

5、FP的系统功能,18,2.1 Visual FoxPro启动与退出,启动方法 : 在桌面上双击“Visual FoxPro6.0”图标。 在Windows的“开始”菜单的程序列表中选择Visual FoxPro6.0项。 通过Windows的“资源管理器”或“我的电脑”,找到Visual FoxPro6.0程序并启动。,19,2.1 Visual FoxPro启动与退出,退出VFP,可以使用下述方法之一: 在命令窗口输入“QUIT”并按回车键。 在“文件”菜单中选择“退出”项。 直接按组合键Alt+F4。 用鼠标单击VFP主界面标题栏最右边的关闭窗口按钮。,20,2.2 Visual FoxP

6、ro用户界面,2.2.1窗口 命令窗口 命令窗口是一个标题为“命令”(Command)的小窗口。它的主要作用是输入并显示VFP命令,实现与用户的单步交互操作。 程序主窗口 即启动VFP后屏幕上出现的VFP主界面。程序主窗口由标题栏、菜单栏、工具栏、工作区和状态栏组成。主要用于显示VFP的处理结果,其中状态栏用于显示当前的操作状态。,21,2.2 Visual FoxPro用户界面, 全屏幕编辑窗口 全屏幕编辑窗口是一种能够实现数据或过程代码编辑操作的环境,一般又分为表数据编辑窗口、表结构编辑窗口和过程编辑窗口。 对话框 对话框是一类特殊窗口,仅当所执行的菜单项后带“”符号时才会出现。借助于对话

7、框,用户可以选择所需要的数据或操作,而VFP则利用对话框引导用户正确地操作,或者向用户提供警告、提示信息等。,22,2.2 Visual FoxPro用户界面,2.2.2 菜单 菜单是一种用选项来组织命令的重要工具。VFP使用的菜单有:下拉式菜单和快捷菜单。 2.2.3 工具栏 工具栏是一种用图标的方式组织命令的工具。Visual FoxPro包含的工具栏有11种:常用、报表控件、报表设计器、表单控件、表单设计器、布局、查询设计器、调色板、打印预览、视图设计器和数据库设计器。默认情况只有“常用”工具栏可见。,23,2.3 辅助设计工具,2.3.1设计器 设计器是辅助用户创建文件的工具。例如辅助

8、用户创建表、数据库、表单、查询、报表等文件来管理数据。设计器主要包括表设计器、数据库设计器、菜单设计器、表单设计器、查询设计器、视图设计器等。 2.3.2生成器 生成器是Visual FoxPro6.0提供的一种可视化辅助工具。它用于简化、修改表单及其他复杂控件的过程。每个生成器都有一系列选项卡组成,允许用户访问并设置所选对象的属性。,24,2.3 辅助设计工具,2.3.3向导 向导是帮助用户迅速完成诸如建立表单和建立查询等常用任务的交互式工具,它根据已有的一些实例,通过一系列的向导窗口和人机对话,完成一个任务。 2.3.4项目管理器 项目管理器是Visual FoxPro6.0提供的一个重要

9、工具,它使用简洁的可视化的方法对自由表、文件、数据库、报表和查询等进行组织和管理,是应用程序的控制中心。当开发一个应用系统时,可用项目管理器来跟踪所有相关文件。,25,2.4.1 VFP的工作方式 界面操作工作方式 命令操作 程序操作,2.4 VFP的系统功能,26,2.4 VFP的系统功能,2.4.2 VFP菜单的约定及其使用 VFP主菜单 启动VFP6.0后,窗口标题栏的下部就是菜单栏,如图2-3所示。,在菜单栏上显示的是VFP主菜单的默认项,名称有:文件、编辑、显示、格式、工具、程序、窗口和帮助。每个菜单名都对应自己的一组下拉式菜单。,27,2.4.2 VFP菜单的约定及其使用, 菜单的

10、约定 子菜单项后带“”符号:执行这样的菜单,会弹出一个对话框。 子菜单项的颜色为灰色:当菜单项呈灰色时,表示当前状态下不可以使用。 子菜单项后带黑三角“”符号:表示它有下级子菜单,当鼠标指向该菜单项时,自动出现下级子菜单。 子菜单项前有钩“”:是选择标记。当菜单栏前有该符号时,表示该命令有效。若再选择该命令,则删除该标记,表示该命令不再有效。,28,2.4.3 命令的一般格式,1、命令格式 VFP可以执行的命令由“命令动词 +命令子句”组成,常用形式: 命令动词 FOR WHILE FIELDS OFF 2、命令使用注意事项,29,2.5 用VFP组织数据的例子,2.5.1 设置默认目录 利用

11、“工具/选项”菜单 用SET命令例如,SET DEFAULT TO D: JIANG,30,2.5.2 创建表文件的例子,1、设计表结构,31,2.5 用VFP组织数据的例子,2.5.2 创建表文件的例子2、建立表结构3、填写数据 2.5.3表文件的保存/关闭、打开与查看“文件/保存”“文件/关闭”“文件/打开”“显示/浏览”,32,第3章,33,第3章 Visual FoxPro6.0应用基础,知识点: 数据类型常量与变量运算符与表达式常用函数VFP常用文件,34,3.1 数据类型,VFP6.0提供了14种数据类型,分别是:数值型、字符型、逻辑型、日期型、通用型、备注型、货币型、日期时间型、

12、整型、双精度型、浮点型、二进制字符型、二进制备注型、对象型。,35,3.1 数据类型,数值型数据(N):由数字09、一个符号(+或-)和一个小数点组成。 字符型数据(C):由字母、数字空格等一切可打印的ASCII字符组成。 逻辑型数据(L): .T. or .F. (.Y. or .N.) 。 日期型数据(D):可用set date,set century ,set mark to来设置日期格式。 日期时间型数据(T):用于保存日期、时间或二者兼有的数据。例1: tMydatetime=2005-9-5 11:00 a , tMytimeonly=11:00 a 货币型数据(Y):加符号$ 。

13、 例2:money1$1000.5 ,money2$1234.56789 。 双精度型数据(N):提高更高的精度,占用8个字节。 浮点型数据(N):与数值型数据相同,以提供与其它软件和系统的兼容性。 整数型数据(N):不包含小数,以二进制形式存储,占4个字节。 通用型数据(G): 存储OLE对象,长度为4个字节。 备注型数据(M):存放较多内容的文本信息(.FPT), 长度4个字节。 二进制字符型数据(C):与字符型数据类似,以二进制存储。 二进制备注型数据(M) :与备注型数据类似,以二进制存储。 对象型数据(O):Windows应用程序中生成的对象。如VFP的主窗口对象为_SCREEN。,

14、36,3.2 常量与变量,3.2.1 常量 常量是以直观的数据形态和意义直接出现的数据,在程序执行过程中常量的值是固定不变的。 3.2.2 变量 在程序执行过程中可以变化的数据项,称为变量。,37,3.2.1 常量,数值型常量 数值型常量可以是整数和实数,用于表示一个数量的大小。例如3.14,1.23E+5。 数值型常量的长度包括整数位数、小数位数和小数点。,38,3.2.1 常量,字符型常量 字符型常量是用定界符界定的一串字符,又称为字符串。可用的定界符有三对,即单引号、双引号“”、方括号等。例如,123、 计算机、”A”都是书写正确的字符型常量。,39,3.2.1 常量,逻辑型常量 逻辑型

15、常量属于逻辑型数据,只有两个值:逻辑真和逻辑假。逻辑真常量用.T.、.t.、.Y.、.y.表示;逻辑假常量用.F.、.f.、.N.、.n.表示。如果书写时少了字符左右的两点,就会被计算机当作变量。,40,3.2.1 常量,日期型常量 日期型常量必须用一对花括号将数据括起来, 例如,11/05/1972和1972-05-11,均表示 “1972年5月11日”这一日期数据。也可以用CTOD(”11/05/72”)来表示,意思是把字符型常量”11/05/72”转换成日期型常量。空白的日期型常量用表示。,41,3.2.1 常量,日期时间型常量 日期时间型常量与日期型常量类似,也必须用一对花括号将数据括

16、起来,只是在日期数据后面加上“时:分:秒”即可。例如,08/29/1987 05:26:30表示1987年8月29日5时26分30秒。 货币型常量 货币型常量用来表示货币值,使用时,在数值前加上货币符号。,42,3.2.2 变量, 变量分类,43,3.2.2 变量, 变量的命名规则 变量名是用来标识变量的符号,最多10个字符,可以由字母,数字和嵌在中间的下划线组成。,44,3.2.2 变量, 内存变量定义与操作 赋值命令 命令“=” 格式 := 功能:计算赋值号右边表达式的值(一个数据),然后将这个值赋给左边的内存变量。它具有计算和赋值的双重功能。,45,3.2.2 变量,命令“STORE”

17、格式:STORE TO 功能:计算的值,然后将结果分别赋给变量表中的所有变量。所谓表示有多个变量,变量与变量之间用逗号“,”分隔。注意,“,”为英文标点。,46,3.2.2 变量,内存变量的显示 格式:DISPLAY/LIST MEMORY LIKE TO PRINTERPROMPT/TO FILE 功能:显示当前内存变量的定义。 内存变量的清除 RELEASE 格式1:RELEASE 格式2:RELEASE ALL LIKE /EXCEPT 功能:从内存中清除指定的变量。,47,3.2.2 变量,保存与恢复 内存变量的保存 格式:SAVE TO ALLLIKE /EXCEPT 功能:将所指定

18、的内存变量存入内存变量文件中。内存变量的恢复 格式:RESTORE FROM ADDITIVE 功能:将内存变量文件中的所有内存变量恢复到内存中去。,48,3.2.2 变量, 数组 数组在使用之前必须用命令来声明,包括数组名和数组的大小。 数组的声明 格式:DIMENSION/DECLARE (,),(,) ,功能:用于定义一个或多个数组。,49, 数组,几点说明: 数组名后面的括号,既可以用圆括号也可以用方括号。 定义数组后,系统自动将每个数组元素定义为逻辑型,初值为逻辑假 .F. 。 数组中的元素位置是有序而固定的。 给数组变量赋值时,如果未指明下标(即未指明第几个元素),则对该数组中所有

19、元素赋同一个值。 数组定义后,数组元素可以重新定义,定义方法与内存变量相同。数组中各个元素的数据类型可以不同。 在引用数组时,如果未指明下标,则引用该数组的第一个元素。 内存变量和数组不能重名。 使用数组时,下标不能超界。,50,3.2.2 变量,5.系统内存变量(1)默认属性是public属性(2)保持固有信息,通过一个前导下划线识别(3)类型固定(数值型,字符型,逻辑型,日期型,对象型),51,3.3 运算符与表达式,表达式可以一个常量、变量、函数,或者由这些元素由运算符连接起来的有意义的式子。 运算符是描述各种不同运算的符号,有四种类型:算术运算符、字符运算符、关系运算符和逻辑运算符。用

20、在两个数据之间的运算符称为二目运算符,用在单个数据上的运算符称为单目运算符。,52,3.3 运算符与表达式,数值型表达式 (,/,%,( ) 字符型表达式 (,) 日期型表达式(1)两个日期型数据可以相减,结果为数值型(2)日期型数据可加上一个整数,结果为日期型(3)日期型数据可减去一个整数,结果为日期型 关系型表达式 (,$,) 逻辑型表达式 (NOT ,AND,OR) 计算表达式命令 (),53,3.4 标准函数,基本形式 函数名 () 数值函数 字符型函数 测试函数 日期时间函数 数据库和表函数 数组函数 其他函数,54,3.4.1一般函数,1、数值函数(1)绝对值函数 ABS( )(2

21、)平方根函数 SQRT( )(3)指数函数 EXP ( )取模函数 MOD( )(4)对数函数LOG( )(5)取整函数 INT( ),55,3.4.1一般函数,1、数值函数(6)四舍五入函数 ROUND( )(7)最大值函数MAX( )(8) 最小值函数MIN( )(9) 函数 PI() 正弦函数 SIN(),56, 字符函数,字符重复函数REPLICATE ( ) 查找子串函数AT ( ) 截取子串函数SUBSTR( ) 左子串函数LEFT( ) 右子串函数RIGHT( ) 字符串修改函数STUFF ( ),57, 字符函数,删除空格函数删除左空格函数LTRIM( )删除右空格函数RTRI

22、M( )删除前后空格函数ALLTRIM( ) 空格函数SPACE( ),58, 字符函数,宏替换函数& 表达式计算函数EVALUATE( ) 名表达式 ( ),59,日期时间函数,系统时间函数 time( ) 日期函数 date( ) 日期时间函数 date time( ) 年份、月份、日期和星期函数 yearmonthday dow / cdow 时、分、秒函数 Hour Minutesec,60, 日期时间函数,系统时间函数TIME() 系统日期函数 DATE() 年份函数YEAR( ) 月份函数MONTH( ) 星期函数DOW()/CDOW() 日期函数DAY(),61, 转换函数,字母

23、小写转大写函数UPPER () 字母大写转小写函数LOWER () 字符转日期函数CTOD () 日期转字符函数DTOC() 数值型转换成字符型函数STR() 字符型转换成数值型函数VAL() 字符转换成ASCII码函数ASC () ASCII码转换成字符函数CHR (),62, 测试函数,字符串长度函数LEN() 数据类型测试函数TYPE() 条件函数IIF() 文件测试函数FILE() 自定义对话框函数MESSAGEBOX(),63,3.4.2 数据库函数,字段数函数FCOUNT () 字段名函数FIELDS () 表头测试函数BOF() 表尾测试函数EOF() 记录号测试函数RECNO

24、() 记录数测试函数RECCOUNT () 表文件名函数DBF() 查询结果测试函数FOUND(),64,3.5 Visual FoxPro6.0常用文件类型,3.5.1 数据文件 表文件 数据库文件 索引文件 查询文件,65,3.5.2 文档文件 表单文件 报表文件 菜单文件 项目文件 3.5.3 程序文件 源程序文件 编译后的程序文件 应用程序文件,66,第4章,67,第4章 自由表的建立与操作,知识点: 表的设计与实现 表结构的修改 表数据的编辑 表数据的浏览与输出 记录定位 表内容的统计计算 VFP的文件管理,68,第4章 自由表的建立与操作,4.1.1设计表结构 VFP系统对表文件的

25、规定 注意事项 学生管理中的表结构设计,69,第4章 自由表的建立与操作,4.1.2 建立表结构 菜单方式“文件/新建” 命令方式 格式:CREATE /? 功能:在当前目录(文件夹)中建立一个新表文件。,70,4.2表结构的查看与修改,4.2.1 显示表结构 格式:DISPLAY/LIST STRUCTURE IN /功能:显示当前表或指定工作区已打开表的结构。 4.2.2 修改表结构 菜单方式 命令方式 格式:MODIFY STRUCTURE 功能:用表设计器修改当前表结构。,71,4.2.3 复制表结构,格式:COPY STURCTURE TO FIELDS 功能:将当前表文件的结构复制

26、到指定的新的文件中。 例如,由当前表文件”学生DBF”创建XS.dbf,结构与学生完全相同。 在命令窗口输入下述命令序列:USE 学生 COPY STRUCTURE TO XS,72,4.3 表数据的输入与输出,4.3.1表文件的打开与关闭 1、表文件的打开 菜单方式 单击菜单栏上的“文件/打开”;或单击常用工具栏上 按钮。 命令方式 格式:USE 功能:在当前工作区打开指定的表文件。,73,4.3.1表文件的打开与关闭,2、关闭表文件菜单方式 单击菜单栏上的“窗口/数据工作期”,弹出“数据工作期”对话框,74,关闭表文件,命令方式,可根据情况选择使用下述方法之一。 执行命令USE。立即关闭当

27、前工作区中打开的表。 执行命令CLOSE TABLES。关闭所有工作区中打开的自由表。 执行命令CLEAR ALL。清除所有内存变量,同时关闭所有工作区中打开的表。 执行命令CLOSE ALL。关闭所有已打开的文件,包括表文件。 在同一工作区打开另一个表时,原来在该工作区中打开的表自动关闭。,75,4.3.2 输入数据, 菜单方式 在菜单栏上选择“表/追加新记录”项。 在菜单栏上选择“显示/浏览”+“显示/追加方式”项。 在菜单栏上选择“表/追加记录”项。,76,4.3.2 输入数据, 命令方式 APPEND 格式:APPEND BLANKIN/ 功能:在数据表的表尾添加一条或多条新记录。等价

28、于菜单方式的“显示/浏览+显示/追加方式”。 APPEND FROM 格式:APPEND FROM 功能:从一个指定文件中读入记录,添加到当前表文件的尾部。,77,4.3.3输出数据,格式:DISPLAY/LIST FOR WHILE FIELDS OFF TO PRINTERPROMPT/TO FILE 功能:显示当前表中指定数据。,78,4.4 表内容的修改,4.4.1记录的定位 GO命令 格式1:GO n 功能:将指针定位在当前表中记录号为n的记录上。 格式2:GO TOP 功能:将指针定位在首记录上。 格式3:GO BOTTOM 功能:将指针定位在末记录上。,79,4.4.1记录的定位

29、, SKIP命令格式1:SKIP功能:将指针从当前记录开始下移一条记录。格式2:SKIP n功能:将指针从当前记录开始,下移n条记录。格式3:SKIP n功能:将指针从当前记录开始,上移n条记录。,80,4.4.2 插入记录,格式:INSERT BEFOREBLANK 功能:在当前表当前记录前面或后面插入一条新记录,并进入编辑状态。,81,4.4.3 记录的浏览与编辑, BROWSE 格式:BROWSE FOR FIELDS LAST TITLE 功能:打开当前表的浏览窗口,可实现记录的显示、修改、删除和追加等操作。 例1:各种类型数据的编辑。 例2: M型、G型数据的输入与编辑。,82,4.

30、4.4 修改指定字段的数据,格式:REPLACE WITH ADDITIVE , WITH ADDITIVE FOR/WHILEIN/ 功能:用表达式的值成批修改多个指定字段的值。 例如,给第一条记录增加5元奖学金。 执行以下命令序列: USE 学生 REPL 奖学金 WITH 奖学金+5,83,4.5 记录删除,4.5.1 逻辑删除 菜单方式 在BROWSE窗口实现操作。 命令方式 格式:DELETE FORWHILEIN/ 功能:逻辑删除指定的记录,即给要删除的记录打上删除标记。,84,4.5 记录删除,4.5.2 设置逻辑删除的有效性 格式:SET DELETE ON/OFF 功能:指定

31、标有删除标记的记录是否参与其他命令的处理。,85,4.5 记录删除,4.5.3 取消删除 菜单方式 命令方式 格式:RECALL FORWHILE 功能:将指定记录的逻辑删除标记清除,即让有删除标记的记录恢复正常。,86,4.5 记录删除,4.5.4 物理删除 菜单方式“表/彻底删除” 命令方式 PACK 永久删除当前表中逻辑删除的记录。 ZAP 永久删除当前表中全部记录。,87,4.6表内容的统计计算,4.6.1 数值字段求和命令SUM 4.6.2 数值数据求平均值 AVERAGE 4.6.3 计数命令COUNT 4.6.4 分类求和命令TOTAL,88,4.7文件管理,4.7.1 表文件的

32、备份 COPY TO 4.7.2 列文件目录 DIR 4.7.3 修改文件名RENAME 4.7.4删除文件ERASE/DELETE FILE,89,第5章,90,第5章 排序、索引与查找,知识点: 什么是排序 建立排序文件 索引 建立索引文件 索引查找 一般查找,91,5.1 排序,排序是指将当前表按照指定的排序字段(又称关键字)重新排列记录顺序,并将排序结果存储在一个新的表文件中。 命令格式:SORT TO ON /A/D/C, /A/D/CFORWHILE FIELDS/ 功能:对当前表进行排序,并将排过序的记录输出到新表中。,92,5.1 排序,表记录排序的例子。 按奖学金升序建立排序

33、文件JXJPX.DBF。 在命令窗口执行下述命令: USE 学生 SORT TO JXJPX ON 奖学金 USE JXJPX,93,表记录排序的例子,94,5.2 索引,索引只是按照指定字段为当前表建立一个索引表,以索引文件的形式存储在磁盘上。 索引表中的顺序是按照字段值的大小排列的。为表文件建立索引之后,就可以用索引来控制表数据的显示。,95,5.2.1 索引文件分类, 单项索引文件 结构复合索引文件 独立复合索引文件,96,5.2.1 索引文件分类,1、单项索引文件,扩展名为.IDX。这种索引文件只有一个索引表达式。 2、复合索引文件,其扩展名为.CDX。在复合索引文件中,每一个索引都有

34、一个特殊的标识名(TAG),TAG的命名与自由表中字段命名方法相同(=10字符)。 3、结构复合索引文件和独立复合索引文件都属于复合索引文件。 无论是哪一种索引文件,都只能与表文件同时使用。,97,5.2.2 建立索引文件, 菜单方式 利用表设计器来生成索引。方法如下。 打开表设计器:先打开表,再选择“显示/表设计器”,进入表设计器窗口。 选择索引字段:在“字段”选项卡中,单击要建索引的字段,在“索引列”单击其下三角按钮,在列表中选择升序或降序, 选择索引类型 单击“确定”按钮,完成索引建立。,98,索引类型,主索引:要求索引表达式必须是表的主关键字段,该字段的值在表中是惟一的、确定的,且表允

35、许有空值。主索引仅用于数据库表,且一个表只能创建一个主索引。 候选索引:要求同主索引。数据库表和自由表都可以建立候选索引,一个表可以建立多个候选索引。 唯一索引:相同索引值的记录只留下一条。等同于命令中的UNIQUE选项。如果按性别建立索引,并选择“唯一索引”,则索引表中只有2条记录。数据库表和自由表都可以建立唯一索引。 普通索引:没有限制。索引表中记录数同原表文件。数据库表和自由表都可以建立普通索引。,99,5.2.2 建立索引文件, 命令方式 建立单项索引文件 格式:INDEX ON TO UNIQUECOMPACTADDITIVE 功能:对当前表根据索引表达式按升序建立单项索引文件。 【

36、例5.2】建立单项索引文件。 以出生年月为关键字建立单索引文件CSNY.IDX。 请在命令窗口执行下述命令: USE 学生 INDEX ON 出生年月 TO CSNY,100,5.2.2 建立索引文件, 建立结构复合索引 格式:INDEX ON TAG UNIQUE ADDITIVE ASCENDING/DESCENDING 功能:对当前表根据索引表达式建立索引并以为标识存入结构复合索引文件中。,101,5.2.2 建立索引文件,建立独立复合索引 格式:INDEX ON TAG UNIQUE ADDITIVEOFASCENDING/DESCENDING 功能:对当前表根据“索引表达式”建立索引

37、并以为标识存入指定的独立复合索引文件中。,102,5.2.3 索引文件的打开与关闭, 打开索引文件 打开表的同时打开索引文件 格式:USE IN INDEXEXCLUSIVE/SHARED ORDER /TAGOFASCENDING/DESCENDING 功能:在当前工作区或指定工作区打开表文件并同时打开指出的各个索引文件。,103,5.2.3 索引文件的打开与关闭, 关闭索引文件 关闭索引文件有2条命令,格式如下: 格式1:CLOSE INDEXES 格式2:SET INDEX TO 功能:关闭当前工作区除结构复合索引以外的所有打开的索引文件。,104,5.2.4 确定主控索引,格式:SET

38、 ORDER TO / TAGOFIN 功能:重新确定主控索引文件或主控标识。 5.2.5索引文件更新 先打开索引,再执行索引重建命令。 格式:REINDEX,105,5.3 表内容的查找,5.3.1 索引查找 FIND命令 格式:FIND 功能:搜索某个已建立索引的表,查找满足条件第一个记录。 说明:FIND命令只查找字符型或数值型数据,字符型数据可不加定界符FIND命令要求选定表已建立索引若找到匹配记录,RECNO( )返回匹配记录的记录号,Found( )返回T,EOF( )返回F若找不到匹配记录,RECNO( )返回值等于表的记录数加1,Found( )返回F,EOF( )返回T,10

39、6,5.3.1 索引查找,SEEK命令 格式:SEEKORDERTAGOFADIN 功能:SEEK命令在一个表中搜索首次出现的一个记录,这个记录的索引关键字必须与指定的表达式匹配。 说明:SEEK命令查找对象可以是变量、常量和表达式,数据类型多种(字符型数据必加定界符)ORDER子句:指定用来搜索关键字的索引序号,单项索引文件名或复合索引文件的索引标记,107,5.3.2 一般查找, 顺序查找命令 格式:LOCATE FOR WHILENOOPTIMIZE 功能:按表内容的排列顺序(物理顺序或逻辑顺序)依次搜索满足条件的第一条记录。,108,LOCATE 命令说明,说明: 该命令用于查找未索引

40、或已索引的表文件。 :默认为全部记录,即ALL。 如果找到匹配记录,指针指向该记录,RECNO()返回匹配记录的记录号,FOUND()的值为.T., EOF()值为.F.;若找不到,指针指向表尾部,FOUND()的值为.F., EOF()值为.T.。 只能在当前工作区中查找。,109,5.3.2 一般查找, 继续查找命令 格式:CONTINUE 功能:配合LOCATE命令在表的剩余部分寻找满足条件的下一条记录。,110,第6章,111,第6章 数据库的建立与操作,知识点: 数据库的常用概念 数据库的建立 VFP的工作区 表间的联系 设置数据库的参照完整性,112,6.1 VFP数据库的常用概念

41、, 主关键字 数据之间的联系类型 一对一关系 一对多关系 多对多关系 外部关键字,113,6.1 VFP数据库的常用概念, 数据库表、自由表 数据库的完整性 实体完整性 参照完整性 用户自定义完整性,114,6.2 数据库的建立,6.2.1 一个数据库的例子,115,6.2.2数据库的建立与编辑, 创建数据库 创建数据库可以采用下述方法之一。 使用“项目管理器”; 使用“文件”菜单中的“新建”命令; 使用CREATE DATABASE命令。 打开数据库 格式:OPEN DATABASE 数据库文件名/? 功能:该命令用于在命令窗口或程序中直接打开指定的数据库。,116,6.2.2数据库的建立与

42、编辑, 修改数据库 使用“项目管理器” 在“项目管理器”中选择数据库名称; 单击“项目管理器”窗口的“修改”按钮,弹出数据库设计窗口。 使用MODIFY DATABASE命令 格式:MODIFY DATABASE 数据库名/? 功能:打开数据库设计器,让用户交互地修改当前数据库。,117,6.2.2数据库的建立与编辑, 关闭数据库 格式:CLOSE DATABASE ALL 功能:关闭当前数据库和表。 说明: 有ALL:关闭所有打开的数据库和其中的表;所有打开的自由表和索引。 没有ALL:表示关闭当前数据库和表。,118,6.2.2数据库的建立与编辑, 删除数据库 使用“项目管理器” 删除一个

43、数据库的方法 在“项目管理器”中选择待删除的数据库名; 单击“项目管理器”窗口的“移去”按钮,在接下去的提示中选择删除。 使用DELETE DATABASE命令删除一个数据库 格式:DELETE DATABASE 数据库名/? 功能:从磁盘上删除数据库。,119,6.2.3 数据库表的建立与操作, 创建数据库表 当有数据库打开时,创建的数据表均为数据库表。 将表加入到数据库 所添加的数据表不能属于任何其他的数据库。 如果需要将一个属于其他数据库的表添加到一个新的数据库中,必须先将该表移出原来所属的数据库。当向数据库中添加一个数据库表时,Visual FoxPro将显示出错信息;添加表操作完成后

44、,该表就变成了数据库表,同时也具备了数据库表的各种特性。 将表从数据库中移出,120,6.2.4 数据库表的性能优化, 设置字段的一般属性 定义长字段名设置字段标题设置字段注释建立输入掩码设置字段的默认值 设置有效性规则 字段级有效性规则表的记录级有效性规则,121,6.3 VFP的工作区,122,6.3.2 工作区的使用, 选择工作区 系统启动时,1号工作区就是当前工作区,若想改变当前工作区,可使用SELECT命令。 格式:SELECT/ 功能:选择一个工作区作为当前工作区。,123, 工作区的使用规则 在一个工作区中只能打开一个表文件。 对非当前工作区中的表文件进行操作时,必须采取引用的方

45、式。即,别名.字段名,或别名-字段名。 对当前表进行的所有操作均不影响其他工作区中表文件的记录指针。 一个表文件能在多个工作区中多次打开。 指定工作区的方法:SELECT / 指定当前可用的最小号工作区:SELECT 0 或 USE IN 0 6.3.3 工作区操作示例,124,6.4 表间的联系,6.4.1联系类型 数据表之间的联系类型有两种:一种是临时性关联;一种是永久性关联。 什么是临时关联 建立数据表之间的临时性关联的主要目的是,让相关联的表之间实现指针联动,即,当指针在父表中移动并指向某一记录时,子表指针会指向与其相关的记录上。 数据表之间的临时性关联特点之一是其临时性,需要时建立,

46、一旦关闭了表文件,表之间的关联也就自动解除。,125,6.4.2 临时关联, 创建临时关联 利用“数据工作期”创建表间的临时性关联。 用SET RELATION命令建立临时关系格式:SET RELATION TOINTO/,INTO/IN/ADDITIVE功能:在两个打开的表之间建立关系。,126,建立一对多临时关联,【例6.10】建立“学生.DBF”和“成绩.DBF”一对多的临时关联。执行下述命令序列。 SELECT 1 USE 成绩 INDEX ON 学号 TO X1 SELECT 2 USE 学生 SET RELATION TO 学号 INTO 成绩 BORWSE SELECT 成绩BR

47、OWSE,127,6.4.3 永久关联, 什么是永久关联 建立数据表之间永久关联的主要目的是,实现数据库中表之间的参照完整性。因此,表之间的永久关联主要用于在更新、删除、插入等操作中,保证数据库数据的可靠性和一致性。 数据表之间永久关联的特点之一是其永久性,一旦建立,就被存储在数据库文件中,要解除永久关联,需要人工处理。,128,6.4.3 永久关联,创建永久关联 在“数据库设计器”中创建表的永久关联,是一种最简便的方法。首先在父表的关联字段上建立主索引,在子表的关联字段上建立普通索引,然后,在数据库设计器中通过鼠标的拖拉,便可以完成创建工作。,129,6.4.3 永久关联, 删除永久关联 可

48、以采用下述方法之一。 在数据库设计器窗口,右击表示关联的连线,在快捷菜单中选择“删除关系”项。 在数据库设计器窗口,单击表示关联的连线,然后按DELETE键。 通过删除数据库文件来删除表之间的永久关联。,130,6.5 设置数据库的参照完整性,6.5.1参照完整性规则 为数据库中多个关联的表设置了参照完整性规则,当插入、更新、删除记录时,可以保证数据库表中数据的有效性和一致性,防止下列情况的发生: 当父表中没有关联记录时,将记录添加到相关子表中,造成子表出现“孤立”记录。 改变父表关键字值,而子表未作相应的改变,造成子表中出现“孤立”记录。 删除父表记录,而子表未作相应的改变,造成子表中出现“孤立”记录。,

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

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

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


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

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

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