2011年高考计算机专业对口升学考试大纲

序号
内容
备注
1
数据库:
是数据库系统的核心和管理对象,数据库是存储在一起的相互有联系的数据集合。数据库中的数据是集成的、共享的、最小冗余的、能为多种应用服务,数据是按照数据模型所提供的形式框架存放在数据库中。
2
数据库管理系统:

为数据库的建立、使用和维护而配置的软件成为数据库管理系统DBMS(DataBase Management System),我们现在学习的VisualFoxPro6.0就是关系型DBMS。

VisualFoxPro系统支持近40种文件类型,下面简单介绍几种比较常用的文件【更多文件类型】。

1.数据文件(.DBF和.FPT)

VisualFoxPro中有两种形式的数据文件,一种是扩展名为.DBF的文件,用来存储用户的除备注型、通用型以外的信息数据。在逻辑上以记录(行)和字段(列)的二维表格形式存储数据,简称为表文件。

另一种是扩展名为.FPT的文件,称为备注文件,如果创建有备注字段或通用型字段的数据表文件,则系统自动建立辅助文件,其文件名与表文件名相同,用来存储用户的备注型和通用型字段的数据。

2.程序文件(.PRG和.FXP)

扩展名为.PRG的文件,又称命令文件,用于存储用VisualFoxPro语言编写的用户应用程序,它是ASCII码文件,是使用数据库进行数据处理、实现各种管理任务的文件。

扩展名为.FXP的文件是用于存储编译好的目标程序的文件。

3.索引文件(.IDX和 .CDX)

索引文件是对表文件记录按索引关键字的值排序后建立的辅助文件,文件中仅包含排了序的字段值以及对应的记录号,用于快速查询库文件信息。

4.内存变量文件(.MEM)

用来保存已定义的内存变量。使用内存变量文件可提高内存空间利用率,需要使用变量时将其读入内存,不用时存入内存变量文件。

5.查询文件(.QPR)

用于保存通过RQBE窗口设置的查询条件和对查询输出的要求。

6.报表格式文件(.FRX和.FRT)

扩展名为.FRX的文件包括了用来生成报表所需要的报表格式信息。这些信息是用REPORT命令采用人机对话方式提示用户输入信息而建立的。而扩展名为.FRT的文件则用来保存报表定义的备注文件。

7.屏幕格式文件(.SCX和.SCT)

屏幕格式文件是由用户自行设计的定义屏幕格式的一组文件,用于数据的输入和输出。其中.SCX是屏幕格式的定义文件,.SCT为定义备注文件。系统则根据屏幕格式的定义文件自动生成程序文件,其中.SPR为源文件,.SPX为目标程序文件。

8.菜单格式文件(.MNX和.MNT)

菜单格式文件是由用户自行设计的定义菜单格式的一组文件。.MNX和.MNT分别为保存菜单格式的定义文件和定义备注文件,菜单格式定义后,系统根据菜单格式的定义自动生成相应的程序,其中.MPR为源程序,.MPX为目标程序。

9.视图文件( .VUE)

用于保存程序运行环境的设置,以备需要时恢复所设置的环境参数。

3
数据库系统:

数据库系统DBS(Database System)是由硬件、软件、数据库和用户四部分构成整体。

  • 数据库:是数据库系统的核心和管理对象,数据库是存储在一起的相互有联系的数据集合。数据库中的数据是集成的、共享的、最小冗余的、能为多种应用服务,数据是按照数据模型所提供的形式框架存放在数据库中。
  • 硬件:数据库系统是建立在计算机系统上,运行数据库系统的计算机需要有足够大的内存以存放系统软件、需要足够大容量的磁盘等联机直接存取设备存储数据库庞大的数据。需要足够的脱机存储介质(磁盘、光盘、磁带等)以存放数据库备份。需要较高的通道能力,以提高数据传送速率。要求系统联网,以实现数据共享。
  • 软件:数据库软件主要指数据库管理系统DBMS(DataBase Management System)。
  • DBMS是为数据库存取、维护和管理而配置的软件,它是数据库系统的核心组成部分,DBMS在操作系统支持下工作。DBMS主要包括数据库定义功能、数据操纵功能、数据库运行和控制功能、数据库建立和维护功能、数据通信功能。
  • 用户:数据库系统中存在一组管理(数据库管理员DBA)、开发(应用程序员)、使用数据库(终端用户)的用户。
4
层次模型、网状模型、关系模型

数据库管理中一个重要概念是数据模型。

 

数据模型是数据库系统中用以提供信息表示和操作手段的形式框架。
在数据库中数据模型是用户和数据库之间相互交流的工具。用户要把数据存入数据库,只要按照数据库所提供的数据模型,使用相关的数据描述和操作语言就可以把数据存入数据库,而无须过问计算机是如何管理这些数据的细节。

目前在数据库管理软件中常用的数据模型有三种,即关系模型、层次模型和网状模型。

  • 关系模型是把存放在数据库中的数据和它们之间的联系看作是一张张二维表。这与我们日常习惯很接近。
  • 层次模型是把数据之间的关系纳入一种一对多的层次框架来加以描述。例如学校、企事业单位的组织结构就是一种典型的层次结构。层次模型对于表示具有一对多联系的数据是很方便的,但要表示多对多联系的数据就不很方便。
  • 网状模型是可以方便灵活地描述数据之间多对多联系的模型。它用一个矩形框表示客观世界的一个实体,这些实体之间的联系通过连线来表示。

关于:

目前在微型机上最常用的数据库管理软件都是支持关系模型的关系数据库系统。其中ORACLE,SYBASE,INFOMIX和SQL SERVER是目前世界上最流行的数据库管理软件,它们将SQL作为数据描述、操作、查询的标准语言

5
关系模型、关系模式、关系、元组、属性、域、主关键字和外部关键字

关系的描述

  • 关系中的每一行称为一个元组,或一个记录;
    每一列称为一个属性,或者字段。
    对于每一个关系可以给它一个唯一标识这个关系的名字,称为关系名。
    对于每一列给它一个唯一标识该列的名字,称为属性名或字段名。
    这样,我们就可以用工资表(编号,姓名,基本工资,工龄工资,扣除,实发工资)来表示这个关系的结构。
  • 关系结构描述了关系中数据的意义,是二维表的框架。
    在这个框架中的具体数据构成了关系的内容。
    如在表10-1中101,102,103等是“编号”这个属性的内容,刘安、陈林、赵刚等均是“姓名”这个属性内容,分别称它们为编号的属性值和姓名的属性值。
    关系中的一个记录是由该行全体属性值组成。这些记录的全体组成了一个关系。一般来说,关系中的一个记录往往描述了现实世界中的一个具体对象,它的属性值描述了这个对象的属性。

表10-1工资表

编号  姓名 基本工资  工龄工资 扣除实  发工资

101  刘安  1520.00  532.00  545.00  1507.00

102  陈林  1426.00  524.00  530.50  1420.50

103  赵刚  1388.00  525.00  540.50  1373.50

201  刘达  1388.00  515.00  533.00  1370.00

202  陆海  1476.00  512.00  522.50  1466.50

203  李万  1698.00  527.00  560.00  1665.00

  • 我们把数据存入数据库是为了方便地使用这些数据。
    关系数据库管理系统为了便于用户使用,向用户提供了可以直接对数据库进行操作的查询语句。这种查询语句可以通过对关系(即二维表)的一系列运算来实现。

 

关系数据库系统至少应当支持三种关系运算,即选择、投影和连接。

  • 选择是从二维表中选出符合条件的记录,它是从行的角度对关系进行的运算。
  • 投影是从二维表中选出所需要的列,它是从列的角度对关系进行的运算。
  • 连接是同时涉及到两个二维表的运算,它是将两个关系在给定的属性上满足给定条件的记录连接起来而得到的一个新的关系。

由于关系数据库是建立在关系模型基础上的,而选择、投影、连接是作为关系的二维表的三个基本运算,因此,很好理解、掌握这三种基本运算,将有助于灵活地使用VFP命令。

6
Visual FoxPro 6.0的特点
Visual FoxPro 6.0 能够得到广泛的使用,这是与其具有的强大的功能分不开的,Visual FoxPro 6.0 与其前期的版本相比,有更高的性能指标和鲜明的特点。
   ⑴ 提供多种可视化编程工具,最突出的是面向对象编程。
   ⑵ 在表的设计方面,增添了表的字段和控件直接结合的设置。
   -------------------------------------------------------------------------------------
   除此之外,Visual FoxPro 6.0 具有一系列的新特色,如:
   ① 成功解决了计算机2000年的问题。
   ② 增强了 Internet 技术和 WWW 数据库的设计。
   ③ ActiveX 和向导、生成器及控件等集成化工具。
   ④ 新引入了网络图象文件格式:gif 和 jpeg 。
   -------------------------------------------------------------------------------------
   ⒈ 对项目及数据库控制的增强
   在 Visual FoxPro 6.0 中可以借助“项目管理器”创建和集中管理应用程序中的任何元素;可以访问所有向导、生成器、工具栏和其他易于使用的工具。
   ⒉ 提高应用程序开发的效率
Visual FoxPro 6.0 增加了面向对象的语言和方式。借助 Visual FoxPro 6.0 的对象模型,可以充分使用面向对象程序设计的所有功能。
   ⒊ 互操作性和支持 Internet
   Visual FoxPro 6.0 支持具有对象的链接与嵌入(OLE)拖放,可以在 Visual FoxPro 6.0 和其他应用程序之间,或在 Visual FoxPro 6.0 应用程序内部移动数据。
   ⒋ 充分利用已有数据
   Visual FoxPro 6.0 为升级数据库提供了一个方便实用的转换器工具,可以将早期版本中的数据移植过来使用;对于电子表格或文本文件中的数据,Visual FoxPro 6.0 也可以方便的实现数据共享。
7
Visual FoxPro 6.0 的运行环境
Visual FoxPro 6.0 的功能很强大,但是对整个开发环境的要求却不是很高。现在,普通的家用电脑一般都能够运行它。配置的相关基本要求(最低配置要求)如下:
   ● 处理器:486处理器以上,推荐使用 Pentium 或更高档处理器的 PC 兼容机。
   ● 内存:16MB 以上的内存,推荐使用 24MB 以上的内存。
   ● 硬盘:典型安装需要 85MB 的硬盘空间,完全安装需要 90MB 的硬盘空间。
   ● 操作系统:Windows 95/98(中文版),或 Windows NT4.0(中文版),或更高版本。
8
安装、启动和用户界面

启动VisualFoxPro

  • 安装VFP6.0时,安装程序将创建一个名为“Microsoft Visual FoxPro6.0”的Windows程序群组,或将VFP6.0中文版放在Windows98/2000/XP的“开始”菜单中。启动VFP6.0可以有多种方法,通常可使用以下三种。
  • 1)从“开始”菜单启动。依次单击“开始”→“程序”→“Microsoft Visual FoxPro6.0”,启动VFP6.0系统。
  • 2)从“资源管理器”中启动。依次单击“开始”→“程序”→“资源管理器”,进入“资源管理器”窗口,在VFP98文件夹下找到名为VFP6的图标,双击该图标,即可启动VFP6.0。
  • 3)从“运行”对话框中启动。依次单击“开始”→“运行”,在弹出的“运行”对话框中输入VFP6.0.EXE,然后单击“确定”按钮,即可启动VFP6.0。
  • 启动VFP6.0后,进入VFP系统环境,如图所示。
  • 启动界面

用户界面

  • VisualFoxPro系统窗口主要由标题栏、菜单栏、命令窗口、主窗口和状态条五部分组成。
  • 标题栏:显示系统窗口的名称及小图标。
  • 菜单栏:提供多个菜单选项,通过点击选项,实现对数据库的基本操作。
  • 命令窗口:是输入命令的区域。允许通过直接键入命令,操作数据库。
  • 主窗口:用来显示操作命令执行结果和编辑命令文件。
  • 状态条:用来显示与窗口中操作有关的状态信息。
  • 使用菜单操作时,显示选中的命令。
  • 打开数据库时,显示数据库名、记录个数、当前记录。

退出VisualFoxPro

  • 退出VisualFoxPro可使用菜单操作或直接键入命令,即可任选下列几种方式之一实现退出:
  • 1)在图11.1中的命令窗口中键入命令QUIT,然后按回车键。
  • 2)从菜单栏的“文件”菜单项中选择 “退出”命令。
  • 3)双击标题栏左边的小图标(狐狸头)。
  • 4)单击标题栏左边的小图标(狐狸头),在下拉菜单中选择“关闭”命令。
  • 5)按Alt+F4组合键。

 

9
Visual FoxPro 6.0 的三种操作方式及命令的语法规则

VisualFoxPro可以提供三种不同的工作方式:
命令方式,程序方式,菜单方式

  • 命令方式:用户根据系统的语法规则构造命令,系统对命令解释执行。
  • 程序方式 :把多条命令以命令序列的形式集中起来,构成程序。在程序中的一行通常叫做一条语句。如完成某项任务需要执行若干条命令,程序方式很方便。
  • 菜单方式:VisualFoxPro系统提供了一图形用户界面,用户可通过选择某菜单项中的某个选项来操纵数据库。这使用户可不用记住命令的具体规定,借助对话框,通过和系统的对话来完成相应的工作。

特点:各有长短,紧密相关。

  • 命令方式与程序方式是XBASE系列中早已使用的传统方式,而菜单方式则是Windows应用软件大力推行的工作方式。菜单方式通过对话,不要求书写命令,易于使用,但需要了解数据库基本操作的功能,否则不知如何回答提问,况且有些任务难以用菜单完成。程序方式功能强,运行效率高,对编程人员来讲,需要一段学习才能掌握,但对使用者来说无须了解内部细节。命令方式是其他两种方式的基础,最为重要,只有掌握了系统的主要命令的格式,才能更好的使用菜单或使用命令编写程序。

 

10
项目的创建及项目管理器的定制与使用
11
”全部、数据、文档、类、代码、其它”等6个选项卡的功能
12
Visual FoxPro向导、设计器、生成器的基本使用方法
13
Visual FoxPro 6.0 的8种数据类型及每种数据类型的特点

数据类型:按表现形式分(常量、变量、函数、表达式)

常量分为数值型、字符型、逻辑型、货币型、日期型和日期时间型

变量分为内存型变量、字段类型

  • 字段变量:(数据库中的库表和自由表结构中包含的数据类型)
    VFP系统提供了13种字段类型
    字符型、数值型、浮点型、日期型、日期时间型、双精度型、整型、逻辑型、货币型、备注型、通用型、二进制字符型、二进制备注型。
    不同类型的数据在存储器中的存储方法不同,对其所能进行的运算也不同。但同一字段只能存放同一类型的数据。


  • ⑴字符型(Character) 用于存放从键盘输入的可以显示或打印的字母、数字、汉字或标点符号等,长度不超过254个字节。这是最常使用的一种数据类型。
  • ⑵数值型(Numeric) 用于存放由数字、小数点、正负号组成的能参加数值运算的数据。字段长度介于1~20个字节之间,精度为16位。
  • ⑶浮点型(Float) 与数值型字段类似,浮点型字段用以存放能参加数值运算的浮点型数据,最大宽度也为20个字节,通常用于科学计算。由于浮点型字段和整型字段的内部结构不同,所以在进行运算时,它们的运算速度不同。
  • ⑷日期型(Date) 用于存放日期型数据,在中文VFP中其默认格式为yyyy/mm/dd。也可设置为其它格式,如mm/dd/yyyy或dd/mm/yyyy,其中yyyy的取值范围是0000~9999,mm的范围是01~12,dd 的范围视月份而定。
  • ⑸日期时间型(Date Time) 日期时间型数据用于存放日期和时间,存储格式为:"mm/dd/yyyy hh:mm:ss Am/Pm",其中mm/dd/yyyy的含义同日期型;hh:mm:ss 表示时间,hh表示小时(两个字节),mm表示分钟(两个字节),ss表示秒(两个字节),Am表示上午,Pm表示下午。
  • ⑹逻辑型(Logical) 用于存放逻辑值,逻辑“真”用.T.或.Y.来表示,逻辑“假”用.F.或.N.来表示。
  • ⑺整型(Integer) 用于存放整数,占4个字节。
  • ⑻双精度型(Double) 可以提供更高的数据精度,占8个字节
  • ⑼货币型(Currency) 货币型数据是数值型的货币值,占8个字节,最多允许4位小数。
  • ⑽备注型(Memory) 备注型字段的宽度为4个字节,但这4个字节并不存放真正的数据,而存放一个指向真正数据的指针。备注字段的值存储在一个扩展名为.FPT的备注文件中。在显示数据时,不显示备注字段的具体内容,而只简单地显示为memo或Memo(前者表示该字段无数据,后者表示该字段已存入数据)。
  • ⑾通用型(General) 通用型字段一般用于存放OLE对象,具体内容可以是电子表格、文档、图片等。这些OLE对象由相应的应用程序建立。通用型字段与备注型字段类似,宽度为4个字节,但这4个字节并不存放真正的数据,而存放一个指向真正数据的指针。
  • ⑿二进制字符型数据(Character Binary) 二进制字符型数据和字符型数据的使用方法类似,只不过是以二进制方式将字符存储在文件中,最多可以存放254个字符。
  • ⒀二进制备注型数据(Memo Binary) 二进制备注型数据和备注型数据的使用方法类似,只不过以二进制方式将备注信息存储在备注文件中。 字段宽度:是指某个字段中的内容可能取值的最大宽度。从而也决定了该字段的取值范围。 小数位数:如果一个字段的类型为数值型或浮点型,则该字段还有小数位,小数位的宽度不能超过相应字段的宽度。

 

14
常量的分类和书写方法

常量是指在运算过程中不改变的量,它的值就是其本身字面所表达的值。
VisualFoxPro常量包括数值型、字符型、逻辑型、货币型、日期型和日期时间型等

  • 1.数值型常量
  • 928.36,-4,76,1000,-8.32等都是数值型常量。
  • 2.字符型常量
  • 字符型常量是由单引号 ,双引号 [ ]方括号括起来的字符串。字符串里的字符允许有汉字,但一个汉字占两个字节的位置。
  • 例:12345ABCDEF,〔HOW ARE YOU!〕,北京等都是字符型常量。
  • 3.逻辑型常量
  • 逻辑型常量只有两个值:真与假。“真”值常量可写为 .T. ,.t.,.Y.,.y.中的任何一种。“假”值常量可写为 .F.,.f.,.N.,.n.中的任何一种。注意:逻辑型常量两边一定要加上圆点。
  • 4.日期型常量
  • 用以表示日期,VFP的日期要包含年、月、日三个值,每两个值之间有一个分隔符正斜杠“/”或空格隔开,日期数据一定要用{ }括起来,且开始位置上要加一个“^”符号。严格的格式为:{^yyyy/mm/dd}。例如:
  • {^2003/11/20}
  • 5.货币型常量
  • 货币型常量用来表示货币值,其表示方法必须以货币符号“$”开头,且小数位数固定为4位。例如:$7856.23。
  • 6.日期时间型常量
  • 保存的常量值中既含日期又含时间,日期值包括年、月、日,时间值包括时、分、秒,其中时分秒的分隔符为冒号(:),书写方式近似于日期型。
  • 例如:{^2003/11/20 11:42:23}。
15
变量的分类、命名规则

定义:变量是运算过程中内容可发生变化的量。

分类:包括字段变量与内存变量两种

  • 每个变量都必须有一个名字,叫变量名。VisualFoxPro通过变量名存入或引用变量的值。

命名规则

  • 内存变量的命名与字段变量一样,由不超过254个字符的英文字母、汉字、数字和下划线构成 ,且第一个字符必须是英文字母或汉字,变量名中不得有空格符。
  • 最多允许同时使用256个内存变量。
    内存变量不需事先定义其类型,内存变量的类型由其接受的数据的类型决定。
16
字段变量和内存变量的概念以及内存变量的应用、区别
  • 1.字段变量
    字段变量是在建立表结构时定义的变量,有数值型(N)、浮点型(F)、字符型(C)、逻辑型(L)、日期型(D)、备注型(M)、通用型(G)。字段变量一旦定义后,它的类型和宽度就不能随意改变,除非对表结构重新修改定义。
    例如:工资GZ表文件中姓名、基本工资等都是字段变量。
  • 2.内存变量
    • 内存变量是独立于表文件的变量,有字符型、数值型、货币型、日期型、日期时间型和逻辑型六种类型,内存变量无备注型、
    • 无通用型、无浮点型。
      内存变量的命名与字段变量一样,由不超过254个字符的英文字母、汉字、数字和下划线构成 ,且第一个字符必须是英文字母或汉字,变量名中不得有空格符。最多允许同时使用256个内存变量。
      内存变量不需事先定义其类型,内存变量的类型由其接受的数据的类型决定。
    • 定义内存变量有两种方法:
      (1)STORE〈表达式〉TO〈内存变量名清单〉
      (2)〈内存变量名〉=〈表达式〉
  • 3.显示内存变量
    • 显示内存变量命令可用来显示已定义并赋值的内存变量名及其类型和值,并显示已使用的内存变量属性是全局变量还是局部变量,以及已经使用内存变量的总数目和未使用内存变量的总数目。
17
常用函数的使用方法和常用函数
  • VisualFoxPro为用户提供了功能丰富的标准函数。【常用函数
    函数总是以表达式的形式出现,或者包括在某个表达式之中。
    函数值可和其它数据进行相应的运算,而函数的自变量可以是与表字段有关的内容,同时求出的函数值可作为置入表中的字段值。因此说函数与数据处理加工有着密切的联系。
  • 函数的一般形式:标准函数名(〈自变量1〉,...,< 自变量n))
  • 函数值是函数运算后返回的值,函数值会因函数名和参数的不同而不同。
  • 函数相当于一段子程序,它根据传递的参数,经过计算,返回一个结果值(又称返回值)。
  • 根据函数的功能,可将函数分成字符运算函数、数学函数、日期与时间函数、转换函数及状态检验函数等五类,下面仅对常用的部分函数介绍。
18
表达式的书写规则

定义:

  • 表达式是有效地运用VisualFoxPro的重要工具之一,它是由字符变量、内存变量、常量、 函数和运算符组成的一个式子。表达式的类型取决于表达式的构成,系统提供四种运算符:算术型、关系型、逻辑型和字符型运算符。

书写规则:

19
常用运算符的运算方法

算术运算符:

  • 有+,-,*,/,%,**或^,分别表示加、减、乘、除、取余、乘方。
    算术运算符运算顺序是:先乘方、再乘除、后加减,括号的优先级最高,它可以改变运算的顺序。同一优先级别由左向右依次运算。

字符型串运算符:

  • 连接字符串型常量、变量或函数的表达式,包括“+”和“-”,即加号和减号,另外还有$,包含于运算符。

关系运算符:

  • 包括>,>=,<,<=,<>或#,=,(),==(字符全同比较),$(字符串包含比较)
  • 分别表示大于,大于等于,小于、小于等于,不等于,相等,括号。
  • 关系运算符的连接的是数值型常量、字符串、内存变量、字段变量、函数和算术表达式,但运算符两端的数据类型必须相同
  • 关系表达式的运算符除了可以用括号改变运算顺序以外,它们没有优先顺序。
  • 关系运算符产生一个比较动作,比较结果产生“真”或“假”的逻辑值。往往用于以逻辑值的真假来判断命令的执行与否的条件表示。

逻辑运算符:

  • 有三个.AND. 、.OR. 、.NOT.
  • .AND. .T. .F.
    .T. .T. .F.
    .F. .F. .F.
    .OR. .T. .F.
    .T. .T. .T.
    .F. .T. .F.
    .NOT.  
    .T. .F.
    .F. .T.
    总结:两者同时为真是为真,否则为假。 总结:两者同时为假是为假,否则为真。 总结:真变假,假变真。
20
算术表达式、字符表达式、日期和时间型表达式、关系表达式逻辑表达式的概念及使用
21
数据库的操作

新建数据库: 【图例创建】

  • 数据库库的创建:

    • 为了充分利用VFP提供的强大功能,需要把若干表组织到一个数据库中
      从而可以存储一系列的表或视图,设置属性和数据验证规则,在表间建立关系,使相关联的表协同工作等。

    • 要建立数据库, 可以通过如下过程来完成:
      流程:
      ①单击“文件”,选择“新建”,系统打开“新建”对话框,在该对话框的文件类型选项按钮中选择“数据库”选项,单击“新建文件”按纽。
      ②弹出“创建”对话框(如图11),在“创建”对话框中,输入数据库文件的路径和名称(如STUDENT),单击“保存”按纽。
      ③弹出“数据库设计器”窗口(如图12)
      同时“数据库”菜 新建表 添加表 移去表 修改表 浏览表( 图13)数据库设计器 单项也自动增加到系统菜单中,这时就能通过工具栏和“数据库”菜单对数据库进行操作。

  • 或 从命令窗口中输入命令: create database 数据库名

库中常用操作:

  • 1)创建新表 → 用表设计器 (设置字段属性和表属性)
  • 2)添加表 → 用数据库设计器按钮或数据库菜单
  • 3)创建视图 → 用视图向导、视图设计器
  • 4)建立关系 → 用鼠标将父表的索引拖到子表的相关索引上
  • 5)编辑关系 → 用数据库菜单或快捷菜单 → 参照完整性生成器
  • 6)移去关系 → 用快捷菜单或按delete键
  • 7)修改表 → 用表设计器
  • 8)删除表或视图 → 用数据库设计器按钮或数据库菜单

打开数据库

  • 从文件菜单中单击打开 → 在打开对话框中给出库文件名和保存位置并确定之。
  • 或 从命令窗口中输入命令: open database 数据库名

关闭数据库

  • 从命令窗口中输入命令:
    close database && 关闭当前数据库
  • 或 close all && 关闭所有被打开的数据库
  • 注意:
    1) 关闭了数据库表不等于关闭了数据库,但关闭了数据库则其中的数据表被同时关闭;
    2) 用鼠标关闭了数据库设计器窗口并不能代表关闭数据库。

用数据库表设计器

  • 调出表设计器,建立一个新数据表
    方法1:从数据库菜单中选择新表。
    方法2:右击数据库设计器窗口,从快捷菜单中选择新表。
    方法3:单击数据库设计器工具栏的新表按钮。
    方法4:从文件菜单中单击新建,在对话框中选择表。
  • 注意:
    数据库表的表设计器中内容比自由表的多,增加了字段属性和表属性的设置。设置验证规则目的是为了使输入的数据符合要求,在有矛盾时发出错误提示信息。

 

 

22
数据表的创建

表(数据表)

  • 是指存放在磁盘文件中的一张二维表。(相当FoxBase版本中的数据库)
  • 自由表:不属于任何数据库的表。
  • 数据库表:包含在一个数据库中的表(一个表只能属于一个数据库)。
    数据库表和自由表的区别?(字段长度不同的限定,库表有特殊的属性,比如:标题,有效性检验,触发器等设置)
    表文件名:
  • 表名可以由字母、数字或下划线组成,系统自动给出的扩展名为 .DBF。
    记住表(.dbf .fpt)、数据库(.dbc .dct .dcx)、工程(.pjx .pjt)、索引(.cdx)的文件名后缀(扩展名)其他文件类型
    备注文件名:
  • 当表中有备注型或通用型字段时,系统自动生成与所属数据表的表名相同、扩展名为:.FPT的文件名。
  • 表结构:存储表记录的公共结构。(就是指一张表的表头结构,即字段的属性)。
    字段列表的书写方法:FIELD 名称,名称2,。。。。以FIELD引导,空格后的各字段名之间用,分开。
    记录:表中的一行。它是多个字段的集合,同一张表的每个记录都有相同的字段。
    每一条记录可以用一个一维数组表示。
    字段:表中的一列。它规定了数据的特征。

关系型数据表的特点

  • (1)每一个字段不可再分解,也不能有名字相同的字段。
    (2)每一列中的数据都有相同的数据类型。
    (3)表中没有内容完全相同的行(记录)

字段的属性:

  • 包括:字段名、数据类型、字段宽度、小数位数、空值支持
属性 介绍
字段名
  • 即每个字段的名字,必须以字母开头,可由字母、数字、下划线组合而成,字母大、小写无区别,但其中不许有空格或其它字符。
  • 自由表的字段名最多由10个字符组成,数据库表的字段名支持长名,最多可达128个字符。如果从数据库中移去一个表,那么此表的长字段名将被截短成 10 个字符。
  • VFP允许长字段名和长表名,但使用长名称对于跨平台的操作可能遇到难以预料的结果。
数据类型

指该字段的数据特征:数据类型介绍。【13种字段类型

字段宽度
  • 指该字段所能容纳数据的的最大字节数。
    在数据表中确定 的类型有限定,只能在范围内指定。
小数位数
  • 小数位数:指数值型数据将保留几位小数。此时的字段宽度 = 整数位数+1+小数位数(小数点也占一位)。
索引标志  
空值支持
  • 无明确的值。NULL 值不等同于零或空格。一个 NULL 值不能认为比某个值(包括另一个 NULL 值)大或小,相等或不同。
    在设计时勾选则表示要以接受空值

 

表结构的创建

  • 创建表结构其实就是设计字段的基本属性。可以使用表设计器、表向导来创建表结构。
  • (1)使用表设计器创建表
    步骤:
    从文件菜单中单击新建 → 在新建对话框中选择表并单击新文件 → 在创建对话框中给出文件名并确定所需的保存位置 →
    在表设计器对话框中逐个输入所需字段(用↓或鼠标换行),全部字段输入完成后单击确定。
  • (2)使用表向导创建表
    步骤:
    从文件菜单中单击新建 → 在新建对话框中选择表并单击向导→在表向导中做第1步:选取字段,完成后单击下一步 →
    在表向导中做第1步:选择数据库,完成后单击下一步 → 在表向导中做第2步:修改字段设置,完成后单击下一步 →
    在表向导中做第3步:为表建索引,完成后单击下一步 → 在表向导中做第4步:完成,选择表的保存方法,完成后单击完成 →
    在另存为对话框中给出文件名并确定所需的保存位置。
  • 注意:
    先选择一个与待建数据表类似的样表,再从中挑选出所需的部分字段,然后在下一步根据实际需要修改或直接采用原字段的宽度。

库表、自由表:【库表的益处

  • 包含在某一数据库中的表称为数据库表,否则称为自由表。
  • 数据库表和自由表可以相互转换,若将自由表加入到某一数据库中便称该自由表为数据库表,同时它将失去原有的自由特性,并受到数据库的制约而获得新的特性。
  • 数据库中包含了关于表、索引、关系、触发器等相关信息。
  • VFP与它的以前版本相区别的强大的新功能之一就是它使用了数据库。
  • 单独使用表,可以为用户存储和查看信息提供很多帮助,但是如果把若干表组织到一个数据库中,用户就可以充分利用VFP提供的强大功能(存储一系列的表或视图;设置属性和数据验证规则;在表间建立关系等)使相关联的表协同工作。

 

 

 

 

23
数据库表的基本操作

 

基本操作 说明

建立表的结构

在VFP中自由表的创建   【库表、自由表的区别
可以通过三种方式来实现:菜单方式、命令方式项目管理器

  • 1.利用菜单方式创建自由表
    ①单击“文件”,选择“新建”,弹出“新建”对话框(如图1)
    ②在“文件类型”中选择“表”,单击“新建文件”按钮,系统弹出“新建表”对话框(如图.2)
    单击“新建表”按钮,系统弹出“创建”对话框(如图3),选择保存文件夹,输入所要创建的表的文件名。
  • ③系统打开“表设计器”窗口(如图4)
  • ④在“表设计器”窗口中定义表的结构,过程如下:

    1)输入字段名:在“字段名”一栏里输入字段名,例如“编号”。
    2)选择字段类型:按下键盘上的“Tab”键,光标自动跳到“类型”列,在此列可以通过下拉列表框来选择字段的类型。可供选择字段类型有:字符型、货币型、数值型、浮点型、日期型、日期时间型、双精度型、整型、逻辑型、备注型、通用型、二进制字符型、二进制备注型。
    3)定义字段宽度:按下“Tab”键,如果该字段类型为日期型或者逻辑型、备注型、通用型,系统为该字段定义默认宽度,光标自动跳到下一行。否则光标自动跳到“宽度”列,等待输入字段的宽度。
    4)定义小数位数:按下“Tab”键,如果字段类型为数值型或者为浮点型,还要确定字段的小数位数,则此时光标自动停在“小数位数”列上,等待输入小数位。否则光标自动跳到下一行,等待输入下一字段的信息。

  • 5)重复1)~4)步的设置,直到输完设计的所有字段(如表13-2内),结果(如图5)。
  • ⑥点确定按钮,在命令窗口中输入browse命令再按Ctrl+Y(编辑模式与浏览模式切换),出现(图6)。(6.0会问你现在输入记录吗,为省掉这些)
    101 刘安 男 07/08/1992 13933214525 072550 徐水南城
    102 陈林 男 09/12/1991 13933284428 072550 徐水安肃镇
    103 赵刚 女 12/01/1992 15933487258 071000 保定市南市区
    这时可以按提示依次输入下面的三条记录: 录入完毕,按“Ctrl+W”命令(或单击窗口关闭按钮)存盘并返回命令窗口。

通过命令方式创建自由表

  • 在VFP中,可以通过在命令窗口中使用CREATE命令来建立一个新的表结构。
  • 命令格式:
    CREATE [文件名]
  • 图7命令窗口
  • 命令功能:创建一个新表,并将该文件存入磁盘。
    若缺省扩展名,系统默认为.DBF。
  • 要通过命令方式建立工资表(GZ.DBF),过程如下。
    ①在命令窗口里输入如下命令:CREATE xx2 (如图7)。(默认扩展文件名为:.dbf,保存在默认的目录中)
    ②执行该命令后,屏幕上弹出“表设计器”窗口(如图4)。输入表结构,步骤同前。

利用项目管理器创建自由表

  • ①打开项目文件(如图8),展开“数据”项列表,选择“自由表”(如图8)。
  • ②单击“新建”按钮,系统弹出“新建表”对话框(如图9)。单击“新建表”按钮,系统弹出“创建”对话框(如图2),选择保存文件夹,输入所要创建的表的文件名。
  • ③系统打开“表设计器”窗口(如图4),其余步骤同菜单方式④~⑥步。

 

利用菜单方式创建自由表
单击文件选择新建
图1

选择创建类型

图2

保存文件(取表名)
图3

填写字段属性

图4

输入所有字段信息

图5

输入记录

图6

命令建立自由表

图7

打开项目文件

图8

选择表再点新建按钮

图9

 

 

修改表的结构

modify structure
如:use abc
   modi stru
对已经打开的数据表abc的结构进行修改。
包括的操作:增加字段、删除字段、修改字段。

记录的编辑

包括的操作:增加记录、删除记录、修改记录。
【SQL命令方式】【增加记录】【删除记录】【修改记录

【普通命令方式】【增加记录】【删除记录】【修改记录】
新表建立后,就可以对表中的数据进行编辑修改,表中数据的编辑修改包括增加记录、修改记录、删除记录和查询记录

查看表的内容:

  • 查看表内容的最直接方法是使用“浏览”窗口。
  • 在“浏览”窗口中显示的内容由一系列可以滚动的行和列组成的。
  • 若要浏览一个表,步骤如下:
    ①单击“文件”,选择“打开”,选择并打开要查看的表。
    ②单击“显示”,选择“浏览”,打开浏览窗口,在菜单“显示”中选择“编辑”模式。
  • 在VFP的“浏览窗口”中(如图10),可以进行很多操作:
    1)使用滚动条、箭头键和Tab键可以来回移动表,显示表中不同的字段和记录。
    2)拖动列头可以改变字段的显示顺序,而不影响字段在表结构中的顺序。
    3)拖动列头右边的分隔线可以改变字段的显示宽度,而不影响字段的宽度。
    4)拖动窗口分割条可以将窗口分为以不同的方式显示两部分(编辑方式或浏览方式)。
    5)直接用鼠标单击删除标记区,能够给记录加上删除标记。
    6)通过菜单还可以对窗口进行更多的控制,当有表打开并在浏览窗口显示时,系统的“显示”菜单条自动增添了一些新的菜单项,并在菜单栏上出现一个“表”菜单条【动态菜单】,对表和浏览窗口的有关操作都集中在这两个菜单条上。

    查看表的内容

菜单方式记录操作:【普通命令方式操作

增加记录:

  • 若在表中快速加入新记录,可以将“浏览”窗口设置为“追加”方式(方法是单击“显示”,选择“追加方式”)。
  • 在“追加”方式中,文件底部显示了一组空字段,可以在其中填入内容来建立新记录。
  • 每完成一条记录,在文件底部又会出现一条新的空记录,此方式适于批量数据的录入 。
  • 快捷键方式【Ctrl+Y】。

修改记录:

  • 编辑字段 对于“字符型”、“数值型”、“逻辑型”、“日期型”、“日期时间型”字段内容的修改,可以把光标移到字段中编辑信息,或者选定整个字段并键入新的信息。
  • 对于“备注型”字段,可以在“浏览”窗口中双击该字段或按下Ctrl+PgDn键。这时会打开一个“编辑”窗口,可在其中修改、添加“备注型”字段的内容。

删除记录:

  • 在VFP中,删除表中的记录需要两个步骤:逻辑删除、物理删除
  • 在“浏览”窗口中单击每个要删除记录左边的删除标记区(黑色的方块),标记要删除的记录(逻辑删除)。
  • 被标记过的记录并未从磁盘上消失,要想真正删除记录,应选择菜单“表/彻底删除”命令,将删除所有带删除标记的记录(物理删除),并关闭“浏览”窗口。

普通命令方式:

  • 对于一个表文件,可以在建立表文件结构结束之后,立即向表文件中输入记录。
  • 也可以在以后通过输入命令来完成。
  • VFP提供了两种向表文件中输入记录的方式:在表文件的尾部追加记录;在表文件的记录中间插入记录。
  • 1.尾部追加记录
    命令格式:APPEND [BLANK]
    命令功能:在当前表文件的末尾添加一组记录。
    说明:数据编辑窗口 若有BLANK可选项,只在当前表文件的末尾添加一条空白记录,并不进入全屏幕编辑状态,若要录入记录数据,必须使用相关的命令,该方式一般在程序方式下使用。缺省时(无BLANK可选项)表示在当前表文件的末尾添加记录,并进入全屏幕编辑状态,直接从键盘录入记录的数据。该命令执行之后,屏幕上弹出添加记录的编辑窗口(如图13.29)。
  • 在此窗口中可以按照提示依次输入记录中各字段的数据,各种类型的字段的输入方法,在前面已经介绍过。输入完一个记录之后,系统会自动添加下一条空记录。
    输入记录:
    202 陆海 1476.00 512.00 522.50 1466.50
    203 李万 1698.00 527.00 560.00 1665.00
    输入结束后,按“Ctrl+W”存盘并返回命令窗口,或按“Esc”放弃存盘并返回。
  • 2.插入记录 插入记录是指在表文件的记录中间插入新的记录。
    命令格式:INSERT [BEFORE][BLANK]
    命令功能:在当前表文件中指定的位置插入一组记录,每插入一条记录,下面的各记录依次下移,记录号顺序增加1。
    说明
    (1)BEFORE可选项表示在当前记录前插入一条或一组记录,缺省时则表示在当前记录的后面插入一条或一组记录。
    (2)BLANK可选项表示在指定的位置插入一条空记录,不进入全屏幕编辑状态。缺省时则表示在指定的位置插入一组记录,并进入全屏幕编辑状态,等待从键盘输入新记录的数据。
    在表的第4个记录的前面插入如下记录 201 刘达 1388.00 515.00 533.00 1370.00

    使用命令
    USE xx2
    GO 4
    INSERT BEFORE
    总结:此时,屏幕上弹出插入记录的窗口,等待用户输入插入记录的内容,新插入的记录的记录号为4,原第4号记录的记录号变为5,以后各记录的记录号依次加1。此例可以在第4条记录的前面插入若干条记录,停止插入时按“Ctrl+W”(或单击窗口关闭按钮)存盘返回命令窗口。
  • 3.记录的修改 为了便于修改表中的内容(只是记录内容,结构的修改有专用命令)
    系统提供了4条基本的记录修改命令:BROWSE、CHANGE、EDIT和REPLACE

    BROWSE命令【详细说明

    BROWSE命令是一个功能强大的命令,它不仅具有很好的浏览功能,同时也可以修改记录数据,还可以向表文件中追加记录,而且还能删除表文件中的记录。
    命令格式: BROWSE [范围][FIELDS 字段名表][FOR(条件表达式)][PARTITION 数值表达式] [NOAPPEND][NODELETE][LOCK 数值表达式][NOLINK][NOEDIT]
    可选项含义
    [范围]:显示修改指定范围的记录,有四种选择:
  • ALL 表示文件的全部记录
    RECORD 〈表达式〉/N N表示序号为N的记录,表达式值为正整数。
    NEXT N 表示从当前记录算起的N个记录。
    REST 表示从当前记录到最后一条记录。

  • [FIELDS 字段名表]:显示修改记录的指定字段。
    [FOR(条件表达式)]:选择满足条件的记录。
    [PARTITION 数值表达式]:将Browse窗口分割成左右两个窗口,用“数值表达式”指定分割线在Browse窗口中所在的列。 [NOAPPEND]:禁止用Ctrl+N追加新记录。
    [NODELETE]:禁止用Ctrl+T删除记录。
    [LOCK 数值表达式]:在左分区窗口中锁定“数值表达式”值个的字段数。
    [NOLINK]:清除两个分区的关联,使各自的记录独立,一个分区的内容滚动时,另一分区的内容保持不变。
    [NOEDIT]:禁止修改记录的数据。

    命令功能:此命令执行后,在屏幕上弹出Browse浏览窗口。
    用户即可在这个窗口下对数据库中的记录进行修改、浏览、追加和删除操作,方法与菜单方式下的操作方法相同。
    操作结束时,按“CTRL+W”(或单击窗口关闭按钮)保存操作结果,返回系统命令窗口。

  • CHANGE和EDIT命令CHANGE详细说明】【
    CHANGE命令和EDIT命令主要是用于记录的编辑和修改
    这两个命令在命令格式、命令功能以及使用方法上基本相同。

    CHANGE命令是以垂直方向显示记录,每个字段占一行,一个记录占用编辑窗口的行数取决于字段个数。如果一个记录未占满编辑窗口,空余部分继续显示下一个记录(如图13.31)。

  • REPLACE命令详细说明
    BROWSE/CHANGE命令具有全屏幕编辑功能,使用直观方便。
    但是在修改记录数据时,它们一次只能编辑修改一个记录的数据,若一次要对多个记录的数据进行有规律修改,用这两个命令操作比较麻烦。
    对于成批有规律的数据修改,最好使用REPLACE命令来完成,而且REPLACE命令并不进入全屏幕编辑状态,所以它是程序设计中最常用的修改数据的命令。
  • 命令格式: REPLACE <字段名1> WITH <表达式1>[ADDITIVE][,<字段名2> WITH <表达式2>[ADDITIVE]…][<范围>][FOR<条件表达式>]
    命令功能: 此命令是在指定的范围内,将满足条件的记录的指定字段内容用对应的表达式的值替换。
    说明: REPLACE命令可以对表文件中任意字段的内容进行替换,但替换内容与对应字段的类型要保持一致。
    在替换备注型字段内容时,可以用可选项ADDITIVE,若选取该项,则将替换内容追加到备注字段中原有内容后,否则用替换内容覆盖备注型字段中原有的内容。
  • 当命令中省略“范围”和“FOR<条件表达式>”两个可选项时,REPLACE仅对当前记录起作用。

  • 记录的删除 【逻辑删除】delete 【物理删除】pack【取消删除标志】recall【删除所有】zap
    在表的使用过程当中,随着内容的不断更新,常会出现一些无用记录。要删除这些无用记录,一般先须给待删除的记录加上删除标记(逻辑删除);然后再将这些记录从表文件中删掉(物理删除)。如果需要的话,带有删除标记的记录在物理删除之前还可以被恢复。 1.逻辑删除

  • 逻辑删除
    命令格式:DELETE [范围] [FOR/WHILE(条件表达式)]
    命令功能:在当前表文件中,给指定范围内满足条件的记录加上删除标记。
    说明:
  • 若省略所有可选参数,则仅给当前记录加上删除标记。
    若省略条件参数,则给指定范围的全部记录加上删除标记。
    若选择[范围]及FOR(条件表达式),则将满足这两个选择条件的记录加上删除标记 。
    DELETE命令执行后,系统并未真正地把记录从表文件中删去,仅是在记录号与第一个字段之间加了一个星号“*”。
    所以被删除的记录在需要时还可以用恢复命令“RECALL”进行恢复。
  • 带有删除标记的记录认为是无效记录,在对表文件进行诸如复制(COPY)、连接(JOIN)或分类(SORT)等操作时,将不再对这些无效记录进行处理。但其仍在磁盘文件中存在,仍可用命令LIST、DISPLAY显示,用BROWSE命令浏览。
  • 例:  
    DELETE ALL FOR LEFT(姓名,2)= "李"  &&逻辑删除姓李的人
    DELETE RECORD 50 &&逻辑删除记录号是50的记录
    DELETE ALL &&逻辑删除当前文件的全部记录

    当执行命令SET DELE ON 之后,带有删除标记的记录就不再起作用,如同真正删除一样。

  • 物理删除
    物理删除记录是系统提供的另一种删除方式,用此命令删除的记录将从数据库中永远消失,且不可恢复。
    命令格式:PACK
    命令功能:删除当前表文件中所有带有删除标记的记录,并且重新调整数据记录号。

  • 取消删除标记(记录恢复)
    命令格式:RECALL [范围][FOR/WHILE(表达式)]
    命令功能:用以取消由DELETE命令加在数据记录上的删除标记,使这些记录变成正常的记录。
    命令格式中的[范围]、(表达式)的含义和用法都与DELETE中的相同
    即:只恢复带删除标记记录中满足条件的记录。
    若省略所有可选参数,只对当前记录有效。
    若正好当前记录是带删除标记的记录,将恢复当前记录为正常记录。
    若被指定的记录中不带删除标记,命令执行为空操作。

    RECALL命令不能恢复那些已用PACK或ZAP命令从表文件中删去的记录。
    例:
    USE GZ
    DELETE RECORD 2
    DELETE RECORD 6
    LIST

    记录号 编号 姓名 基本工资 工龄工资 扣除 实发工资
    1 101 刘安 1520.00 532.00 545.00 1507.00
    2 *102 陈琳 1926.00 524.00 530.00 1920.00
    3 103 赵刚 1888.00 525.00 540.00 1873.00
    4 201 刘达 1888.00 592.25 533.00 1947.25
    5 202 陆海 1976.00 588.80 522.00 2042.80
    6 *203 李万 1698.00 606.05 560.00 1744.05
    RECALL RECORD 2
    PACK
    LIST
    记录号 编号 姓名 基本工资 工龄工资 扣除 实发工资
    1 101 刘安 1520.00 532.00 545.00 1507.00
    2 102 陈琳 1926.00 524.00 530.00 1920.00
    3 103 赵刚 1888.00 525.00 540.00 1873.00
    4 201 刘达 1888.00 592.25 533.00 1947.25
    5 202 陆海 1976.00 588.80 522.00 2042.80

    发现记录“ *203 李万 1698.00 606.05 560.00 1744.05”已经被删除。

  • 删除所有记录
    命令格式:ZAP
    命令功能:ZAP命令用来删除当前表文件中所有记录。
    说明
    无论表文件中的记录是否带有删除标记,使用该命令后,表文件中的所有记录均会被删除。
    因此在删除之前需用户进一步确认(受set safety on/off的影响)。
    此命令执行后,当前表文件只剩下一个空的表结构。

  • 记录的显示 对于已经建立的表文件,根据需要可以随时查看其中的数据。系统提供了两个常用的数据显示命令。
    命令格式
    LIST [OFF][范围][FIELDS 字段名表][FOR/WHILE(条件表达式)][TO PRINTER/ 文件名]
    DISP[OFF][范围][FIELDS 字段名表][FOR/WHILE(条件表达式)][TO PRINTER/文件名]
    命令功能:显示当前表中的记录。
    说明
    LIST命令和DISPLAY命令
    区别
    LIST命令显示结果是滚屏显示。而DISPLAY(加上范围all)命令分屏显示,每显示满一屏则暂停,按任意键后继续显示下一屏。
    当数据表中记录较多,一屏显示不下时,最好使用DISPLAY命令,此时若使用LIST命令,中间没有暂停,只保留最后一屏的信息。
    当缺省“范围”和条件时,LIST命令显示所有的记录,而 DISPLAY 命令只显示当前记录

 

 

 

 

记录的移动与查询、统计:

包括的操作:相对移动、绝对移动、条件定位。
相关位置:首记录(top)、末记录(bottom)
相关函数:文件开始 bof()、文件结尾eof()、当前指针recno()、记录长度recsize()、记录个数reccount()等。

记录的查询:

  • 1.快速查询 快速查询是指索引查询,即在打开相应的索引文件的情况下,迅速地查找到满足条件的记录。
    快速查询的命令有FIND和SEEK。

    FIND命令:
    命令格式:FIND 字符串/ FIND 数值
    命令功能:FIND命令用于快速地对一个已经索引过的表文件进行查找
    说明:
    此命令执行后,记录指针将指向指定字符串或数值(索引项是数值字段时)与关键字值相等的第一个记录。
    其中“字符串”不必用引号括起来。
    在使用FIND命令对表文件进行查找时,该表文件必须被索引过,且索引文件已被打开。
    FIND命令从字段的左端开始寻找所有的或部分的内容。
    如果输入的是单个字符,它只检索出该字段中的第一个字符与之符合的记录;如果输入的是部分内容,应是关键字值的头几个字符。
    如果以内存变量作为FIND命令参数,这时“字符串”是内存变量,则变量应与&函数(宏替换)连用,即FIND &字符串。执行时将这个内存变量的内容取出来作为关键值进行检索。

    SEEK 命令:
    命令格式:SEEK 表达式
    命令功能:SEEK命令的功能与FIND命令相同,是在已索引的表文件中检索其关键字与指定表达式相符的第一个记录。
    说明:
    如给出的表达式是一字符串,它必须包括在单引号、双引号或方括号中。
    这个命令对于索引关键字是数值型字段时特别有用,如“表达式”为内存变量或一数值表达式,不必用&函数,可以直接使用。

    2.顺序查询 顺序查询是指对表文件从头至尾顺次找出满足条件的记录,并将记录指针定位到相应的记录上。
    命令格式:LOCATE [范围][FOR(条件表达式)]
    命令功能:对表文件进行顺序查找并定位于满足条件的第一个记录。
    说明:
    如需继续查找满足条件的下一个记录,可以通过使用CONTINUE命令来完成。
    用LOCATE命令定位记录后,仅给出记录号,不给出记录内容。
    如不选择[范围],LOCATE命令将从第一个记录开始顺序检索整个表文件,如用NEXT n 来指定范围,则从当前记录号开始向下检索n个记录。
    找到满足条件的记录或者到达文件结尾,均终止LOCATE命令的执行。

    使用CONTINUE命令,可得到满足表达式条件的其他记录,但CONTINUE命令必须与LOCATE命令一起使用,并且与最近的LOCATE命令配对,单独使用无意义。

    在LOCATE命令与CONTINUE命令之间,可以安排其它一些命令。
    如果所有选择项均省略,系统给出当前记录的编号。

统计和汇总:

  • VFP提供了四种方式的统计和汇总。

  • 记录个数统计

    在数据操作过程中,常常需要统计表文件中满足某种条件的记录个数。
    比如,在表文件GZ.DBF中,统计男职工的人数,或统计基本工资高于800元的人数等。
    当表文件中含有大量记录时,这种统计的工作量是相当大的。

    VFP提供了快速统计表文件中满足给定条件的记录个数的命令COUNT。
    命令格式:COUNT [范围][FOR/WHILE(表达式)][TO 内存变量名]
    命令功能:在当前表文件中,统计指定范围内的满足“表达式”指定条件的记录个数,统计结果送屏幕显示。
    若有“TO内存变量”选项,则同时把统计结果存储到相应的内存变量中。
    当缺省“范围”和条件“表达式”选项时,统计表文件中所有记录的个数。

  • 求和统计

    根据二维表格的结构,可按两个方向求和,即:行求和、列求和。

    ⑴行求和
    当需要对同一记录中若干数值字段求和时,可利用REPLACE命令实现。
    表文件GZ各记录中“实发工资”就是同一记录的应发字段与应扣字段的代数和,可以通过以下命令计算并输入“实发工资”字段的值。 USE GZ REPLACE ALL 实发工资 WITH 基本工资+工龄工资-扣除


    ⑵列求和
    列求和是对若干记录的同一字段(数值型字段)累加求和。

    列求和用SUM命令实现。
    命令格式:SUM [字段名表][TO 内存变量名表][范围][FOR/WHILE(表达式)]
    命令功能:在当前表文件中指定的范围内,对满足条件表达式的记录中指定字段内容进行求和。 

  • 统计平均值
    平均值可通过求和操作与统计记录个数的操作来求得,但用VFP的专门求平均值命令,更加简单方便。

    命令格式:AVERAGE [字段名表][范围][FOR/WHILE(表达式)][TO 内存变量名表]
    命令功能:在当前表文件所规定的范围内,求满足条件的记录中指定字段的平均值。并可将平均值存入内存变量中。
    说明:
    ⑴可选项[字段名表]指定需要求平均值的数值字段名,字段名间用逗号分隔,如省略该项,则默认当前表文件的所有数值字段。
    ⑵[TO 内存变量名表]可选项,把所求得的算术平均值送入对应的内存变量。
    内存变量名间用逗号隔开,变量个数应该与[字段名表]中所选的字段个数相等且一一对应,以便将计算得到的平均值一一存入对应的内存变量之中。
    ⑶[范围]、[FOR(表达式)]意义与其它命令相同,表示命令操作的范围及条件。



表的基本操作

包括的操作:打开表、关闭表。

  • 打开表的途径
    文件菜单中的打开 工具栏上的打开 数据工作期窗口中打开和USE 命令
  • USE <表名>
    USE <表名> IN <工作区号>
    USE <表名>AGAIN
  • 独占使用: 一张表只能被一个用户打开。VFP6.0在默认状态以独占方式打开。
  • 共享使用: 一张表可以被多个用户同时打开。
  • 系统的默认打开方式可以通过工具菜单中的选项…来设置,或 用命令:
  • SET EXCLUSIVE OFF && 默认打开方式为共享
  • SET EXCLUSIVE ON && 默认打开方式为独占
  • 或强行打开:USE cj SHARED && 以共享方式打开cj表
  • USE cj EXCLUSIVE && 以独占方式打开cj表

    关闭表的途径
  • CLOSE DATABASE
  • CLOSE TABLE
  • USE IN <别名>|<工作区号>
  • CLOSE ALL
  • 退出VFP系统,则关闭所有的表


 

24
数据库表的排序方法

表文件中记录的顺序一般是按输入的先后次序排列的。
但有时为了提高操作效率,需要对表文件中的记录进行排序或索引,即:使表文件中的记录按照某个关键字段有序排列。

  • 文件的排序就是将一组记录按照用户指定的“关键字段”的值以递增或递减的次序重新排列,排序后产生一个新的表文件。
    这个表文件中的记录是按某一个或多个字段的值有序存放的,它的数据和被排序的表文件的数据是一样的,仅仅是改变了记录存放顺序。

    命令格式: SORT TO 新文件名 ON 字段名1 [/A] [/D] [,字段名2[/A] [/D]……] [FIELDS 字段名表][范围][FOR (表达式)]
    命令功能:把当前表文件中的记录按指定字段的值重新排序,生成一个新的表文件,原表文件不变。
    说明:

    ⑴ON 字段名:指定关键字,即按所指定的字段来进行排序。
    ⑵新文件名:是新生成的排序表的名字。
    ⑶可按某一字段的值进行升序或降序排序,可选择[/A](升序)或[/D](降序)。
    ⑷可以在指定[范围]的记录中进行排序,缺省[范围]则为全部记录。
    ⑸当选用多个关键字时,排在前面的是主关键字,其余为次关键字,字段名之间用逗号分隔。
    ⑹排序生成的表文件可以只包括原表文件的某些字段,这时要用“FIELDS字段名表”来指出,不同字段之间用逗号分隔。

    例 将表文件GZ按基本工资及工龄工资排序建一新表文件(GZS1.DBF)。
  • 结果

  • 可以看出,字段名“基本工资”为主关键字,按升序排列,工龄工资的排序则是对主关键字值相等的记录再进行升序排列。

 

 

 

25
索引的分类和概念、索引的建立和使用

表的索引

1. 基本概念

  • 记录的顺序 :
  • 物理顺序:即表中记录的存储顺序。用记录号表示。
  • 逻辑顺序:表打开后被使用时记录的处理顺序。
  • 索 引:
  • 指按表文件中某个关键字段或表达式建立记录的逻辑顺序。它是由一系列记录号组成的一个列表,提供对数据的快速访问。索引不改变表中记录的物理顺序。表文件中的记录被修改或删除时,索引文件可自动更新。
  • 索引关键字(索引表达式):用来建立索引的一个字段或字段表达式。

注意:

1)用多个字段建立索引表达式时,表达式的计算结果将影响索引的结果;

2)不同类型字段构成一个表达式时,必须转换数据类型。

  • 索引标识(索引名):
  • 即索引关键字的名称。必须以下划线、字母或汉字开头,且不可超过10个字。
  • 索引类型:主索引、候选索引、普通索引、唯一索引。
  • 主索引:
  • 组成主索引关键字的字段或表达式,在表的所有记录中不能有重复的值。主索引只适用于数据库表的结构复合索引中。自由表中不可以建立主索引;数据库中的每个表可以且只能建立一个主索引。
    候选索引:
  • 在指定的关键字段或表达式中不允许有重复值的索引。在数据库表和自由表中均可为每个表建立多个候选索引。
  • 普通索引:
  • 也可以决定记录的处理顺序,但是允许字段中出现重复值。在一个表中可以加入多个普通索引。
  • 唯一索引:
  • 参加索引的关键字段或表达式在表中可以有重复值,但在索引对照表中,具有重复值的记录仅存储其中的第一个。

2. 索引的作用

  • 用途
    采用的索引类型
  • 排序记录,以便显示、查询或打印 使用普通索引、候选索引或主索引
  • 在字段中控制重复值的输入并对记录排序 对数据库表使用主索引或候选索引,对自由表使用候选索引
  • 准备设置表关系 依据表在关系中所起的作用,使用普通索引、主索引或候选索引

3.索引文件的种类

  • 索引文件种类、 特征、 关键字数目、 限制

    结构复合索引文件
  • .CDX
    使用和表文件名相同的基本名,随表的打开自动打开。可以看成表结构的一部分。 多关键字表达式,称为标识。 有效表达式限制在 240 个字符之内。

    非结构复合索引文件
  • .CDX
    必须明确地打开,使用和表名不同的基本名。其中不能创建主索引 多关键字表达式,称为标识。 有效表达式限制在 符之240 个字内。

    独立索引文件
  • .IDX
    必须明确地打开,文件的基本名由用户定义。一般作为临时索引文件。 单关键字表达式。 有效表达式限制在 100 个字符之内。
  • 结构复合索引文件(扩展名为.CDX)的特点:
  • .在创建索引标识时自动创建。
    .在打开表时自动打开。
    .在同一索引文件中能包含多个排序方案,或索引关键字。
    .在添加、更改或删除记录时自动维护。

4. 创建结构复合索引

  • VFP中创建索引文件有两种方式:表设计器方式和命令方式。
    (1)表设计器方式
    打开表文件 →从显示菜单中选择表设计器 → 在表设计器中单击索引 → 输入索引名并选择索引类型 →
    选择索引的方向(按升序或降序排列记录) → 在表达式框中输入作为排序依据的索引关键字 → 在筛选框中输入筛选表达式 → 单击确定,完毕。
  • (2) 命令方式

    命令、 功能
    用INDEX ON 命令建立一个索引文件
    INDEX ON <索引关键字段> TAG <索引标识>[FOR 条件 ] [ASCENDING | DESCENDING] [CANDIDATE | UNIQUE]
    ALTER TABLE <表名> ADD PRIMARY KEY <关键字段名> TAG <索引标识名> 用SQL命令创建主索引
    ALTER TABLE <表名> ADD UNIQUE <关键字段名>TAG <索引标识名> 用SQL命令创建候选索引

  • 注意:
    1)备注型字段和通用型字段不能作为索引关键字段;
    2)不要建立无用的索引,以免降低系统性能;
    3)及时清理已无用索引标识,提高系统效率。
    4)在复合索引的多个索引中,某一时刻只有一个索引对表起作用。

5. 索引的修改和删除

  • 修改: 打开表设计器,在索引对话框中进行所需修改;
  • 或 用命令重新建立一个相同标识名而索引表达式不同的索引。
  • 删除: 打开表设计器,在索引对话框中删除不需要的索引标识即可;
  • 或 用命令: DELETE TAG ALL | 索引标识1 [, 索引标识2 ] …
  • 删除不需要的索引标识,ALL表示全部标识。

6.索引文件的建立

  • 命令格式:INDEX ON 关键字表达式 TO 索引文件名 [FOR(条件表达式)][UNIQUE] [ADDITIVE][COMPACT]
  • 说明:
    ⑴UNIQUE:当表文件中有多个记录的关键字表达式的值相同时,VFP只选取第一个遇到的记录,其余记录不含在索引文件中。若省略此项,则具有相同关键字表达式值的都含在索引文件中。
    ⑵COMPACT:以压缩格式建立索引文件。其优点是压缩格式索引文件比非压缩格式索引文件执行速度快,占用存储空间小。
    ⑶ADDITIVE:若省略此项,则打开新索引文件的同时关闭先前打开的旧索引文件。 选择此项时,新打开的索引文件与先前打开的索引文件同时处于打开状态,且新打开的索引文件为主索引文件。
    ⑷关键字表达式:可以是一个字段,也可以是包含一个或多个字段的表达式。

  • 例:对表文件GZ按姓名和工龄进行索引排序。
    建立索引

7. 索引的使用

  • 索引文件的打开

    注意:
    表文件进行索引后,可以提高数据的存取速度。
    当对较大的表文件采用索引排序时,比用SORT命令排序的速度快得多。
    由于索引文件是依赖表文件而存在的,所以索引文件不能单独使用。
    索引文件要起作用,必须处于打开状态。

    打开索引文件有两种基本方法
    一是在打开表文件的同时打开需要使用的索引文件
    二是使用打开命令打开已经建立的索引文件。

    命令格式1 USE 文件名 INDEX 索引文件名 [,…,索引文件名]
    命令格式2 SET INDEX TO 索引文件名 [,…,索引文件名]

  • 例 为表文件GZ生成索引文件
    生成索引文件

  • 索引文件的引用
    命令格式

    打开表的同时指定主控索引 USE <表名> ORDER <标识名>
    为已打开的表确定主控索引 SET ORDER TO <标识名> [ASCENDING | DESCENDING] ]
    搜索某张已建立索引的表 FIND <表达式>
    搜索表中首次出现的记录 SEEK <表达式> [ <索引标识名>]
    SEEK <表达式>

  • 索引文件的关闭
    索引文件使用完毕,一般应将其关闭。

    关闭索引文件有下面几种命令:
    ⑴SET INDEX TO   关闭当前表文件打开的所有索引文件。
    ⑵CLOSE INDEX  功能同⑴。
    ⑶CLOSE DATABASE  关闭所有数据库文件,同时关闭所有数据库打开的所有文件(包括表文件的索引文件)。
    ⑷USE  关闭当前表文件,同时关闭该表文件打开的所有索引文件

  • 索引文件的重建
    当用户使用APPEND、 EDIT,REPLACE和BROWSE等命令对同时打开索引文件的表文件进行修改时,所有打开的索引文件也将随之自动修改。但是未打开的索引文件不能随之自动修改,这样就会造成索引与表内容不一致而出错,用户应对索引文件进行重建。

    命令格式:REINDEX
    命令功能:REINDEX命令用于重新建立打开的索引文件。
    说明: 在原表文件修改后,要把修改的内容反映到索引文件中,可使用REINDEX命令快速维护索引。

    例:将表文件GZ中的刘安、赵刚的基本工资分别修正为1540.00,1610.00,并将修改后的数据反映到GZSU1索引文件中
  • USE GZ
    LIST
    打开工资表
    INDE ON 基本工资 TO GZSU1        &&建立以’基本工资‘为关键字的索引,文件名为 gzsu1.idx,刚建立的自动打开。
    LIST
    建立索引并显示
    SET INDE TO        &&关闭索引,再观察
    LIST
    没有索引的结果
    REPLACE 基本工资 WITH 1610.00 FOR LEFT(姓名,4)= '赵刚'    &&修改【姓名】为【赵刚】的【基本工资】值为1610.00
    LIST
    替换后的结果
    SET INDEX TO GZSU1            &&打开先前刚关闭的索引文件【gzsu1.idx】
    LIST
    看赵刚的基本工资
    REINDEX
    LIST
    重建索引后的结果

    结论:因GZSU1索引文件的索引项为基本工资,用户修改刘安、赵刚的基本工资分别为540.00,610.00时,GZSU1索引并未打开,故此索引文件应当重新索引。如果修改基本工资项时此索引处在被打开状态,其将被系统自动维护。
26
字段属性的设置方法
27
工作区的概念及使用方法
  • 工作区:
  • 指用来标识一张打开的表的区域。一个工作区在某一时刻只能打开一张表,但可以同时在多个工作区打开多张表,一张可以在多个工作区中多次被打开。每个工作区都有一个编号。
    表的别名:
  • 在工作区中打开表时为该表所定义的名称。可以自定义别名,否则系统默认就以表名作为别名。若一张表在多个工作区中被打开,系统默认在表名后依次加_a 、_b…。
  • 当前工作区:
  • 正在使用的工作区。可以通过“数据工作期窗口”或用 SELECT命令把任何一个工作区设置为当前工作区。
  • SELECT 命令格式: SELECT <工作区号>|<别名>
  • 要操作非当前工作区中的表,可以把其它工作区选为当前工作区,或在命令中强行指定工作区。
  • 命令格式: IN <工作区号>|<别名>
  • ALIAS([工作区号])函数:
  • 测试指定工作区中的表的别名,无参数时指当前工作区表的别名。
  • SELECT([别名])函数:
  • 测试指定别名的表所在的工作区号,无参数时指当前工作区的区号。
28
表间关系的的创建和使用方法
29
查询的的概念

查询【SQL】

  • 这里所说的查询与用locate命令查询记录不太一样,这里的查询的功能类似于建立一个表的子表(或叫子集)。
    即:将一些符合某些条件的记录筛选出来形成一个子表,而且此子表可以象一个表一样保存起来以供随时调用。
    但这样做会增加数据冗余,所以系统在保存查询时并不是保存子表,而保存的是形成子表的命令
    换句话说,一个查询就是一个程序,打开查询就是运行这个程序,该程序将主表中的数据按一定条件筛选出来。
    保存查询时,可以给它指定一个名称,将查询文件保存在以 .QPR扩展名的文件。
30
查询设计器各选项卡的功能
31
查询文件的建立、运行和修改
32
视图的概念
33
视图设计器各选项卡的功能
34
视图的建立、修改、打开、删除与视图参数的设置
35
SQL语言的作用和主要特点
36
SQL语言的数据定义功能
SQL的数据定义 所谓数据定义,对关系数据库而言,就是建立表,编辑表。
SQL语言中基本的数据定义语句:
建立新表: CREATE TABLE…
添加新字段: ALTER TABLE…ADD…
删除旧字段: ALTER TABLE…DROP…
基本表删除: DROP TABLE…
37
CREATE命令建立表结构
38
ALTER命令修改表结构
39
DROP命令删除表
40
SQL语言的数据操作功能
41
INSERT命令插入记录
42
DELETE命令删除记录
43
UPDATE命令更新记录
44
SQL语言的数据查询功能
数据查询是我们对数据库进行的基本操作, 查询效率的高低对软件有着重要的影响。
在SQL中提供了SELECT查询语句,其功能强大且内容丰富。

SELECT的语法格式:
SELECT 目标表的列名序列 FROM 基本表视图序列 [INTO 目标位置] [WHERE 行条件表达式] [GROP BY 列名序列] [HAVING 组条件表达式] [ORDER BY 列名[ASC|DESC]…]
45
SELECT命令进行简单查询
46
SELECT命令进行条件查询
47
SELECT命令进行多表查询
48
SELECT命令进行嵌套查询
49
SELECT命令进行分组查询
50
面向对象的基本概念
51
对象、属性、事件、方法、类、继承性、容器、控件等概念
52
用表单向导设计表单
53
用设计器设计表单
54
用表单生成器设计和修改表单
55
如何向表单中添加控件
56
表单的常用属性、方法和事件
57
常用控件的属性、方法和事件
58
菜单的组成及用菜单设计器创建菜单
59
用快速菜单创建菜单
60
向菜单添加事件代码
61
菜单的修饰
62
工具栏的创建和使用
63
程序文件的建立、保存、修改与运行
64
结构化程序设计的原则和方法及其基本结构
65
ACCEPT、INPUT、WAIT交互式命令的格式与使用
66
顺序结构
67
单分支条件语句、选择分支语句、多分支结构语句
68
条件循环、计数循环、扫描循环的结构与应用
69
自定义函数的概念及其调用过程中的参数传递
70
子程序、过程
71
变量的作用域
72
程序调试器各子窗口的作用和使用
73
四种类型断点的设置方法
74
“调试”菜单项中各命令的功能及应用
75
掌握用户定义对话框(MESSAGEBOX)的使用
76 Visual FoxPro 6.0
系统设置选项卡及功能
其中系统设置选项卡有:显示、常规、数据、远程数据、文件位置、表单、项目、控件、区域、调试、语法着色、字段映像等。其设置功能如下:
  
● 显示:界面选项,例如是否显示标题栏、时钟、命令结果或系统信息等。
  
● 常规:数据输入与编程选项,例如设置警告声、是否自动填充新记录等。
  
● 数据:表选项,字符串笔记比较设定。例如是否使用索引强制唯一性,是否使用 Rushmore 优化等。
  
● 远程数据:远程数据访问选项,例如连接超时限定值等。
  
● 文件位置:改变系统默认文件存储位置。
  
● 表单:表单设计器选项,例如所用的刻度单位、网格面积等。
  
● 项目:项目管理器选项,例如是否使用向导等。
  
● 控件:“表单控件”工具栏中的“查看类”按钮所提供的可视类库和 ActiveX 控件选项。
  
● 区域:时间、日期、货币及数字的格式。
  
● 调试:调试器显示和跟踪选项。
  
● 语法着色:确定区分程序元素所用的字体和颜色。
  
● 字段映像:确定从数据环境设计器、数据库设计器或项目管理器中向表单拖动表或字段时创建何种控件。
77 数据库中常用操作命令
命令
create database
库文件名 创建新的数据库文件 && database 不能少,TABLE也不能少
open database
库文件名 打开指定的库文件
close database
关闭当前的数据库和数据表
close all
关闭所有的数据库和数据表,并把工作区1置为当前工作区,同时还关闭一些窗口
modify database
修改当前库文件结构
delete database
库文件名 删除指定的库文件
open database
库文件名
add table 表名
在数据库中添加表
open database
库文件名
remove table 表名
将表从数据库中移去
open database
库文件名
remove table 表文件名delete
将表从数据库中移去并从盘上删除
use 库文件名 !表名
打开没有在当前库中的表,注意!号的使用
Set relation to 关系表达式 into 区号 | 别名
两表之间建立临时关系
Set relation to
删除表之间的临时关系
alter table 子表名 add foreign key 索引关键字 tag 索引标识 references 父表名 [tag 索引标识 ]
创建永久关系
alter table 子表名 drop foreign key tag索引标识
删除永久关系