计算机二级VFP复习资料_第1页
计算机二级VFP复习资料_第2页
计算机二级VFP复习资料_第3页
计算机二级VFP复习资料_第4页
计算机二级VFP复习资料_第5页
已阅读5页,还剩91页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1.1数据库基础知识

考点1计算机数据管理的发展

1数据与数据处理

数据是指存储在某一种媒体上能够识别的物理符号。数据处理的中心问题是数据管理。

2计算机数据管理

(1)人工管理。

(2)文件系统。

(3)数据库系统。

(4)分布式数据库系统。

(5)面向对象数据库系统。

3数据库管理系统

为数据库的建立、使用和维护而配置的软件称为数据库管理系统DBMS(DataBase

ManagementSystem)o

图1-1数据库系统中数据与程序的关系

考点2数据库系统

1有关数据库的概念

(1)数据库(DataBase):存储在计算机存储设备上、结构化的相关数据的集合。

(2)数据库应用系统(DBAS):是由系统开发人员利用数据库系统资源开发出来的,面向

某一类实际应用的应用软件系统。

(3)数据库管理系统(DBMS):对数据实行专门管理,提供安全性和完整性等统•机制,

可以对数据库的建立、使用和维护进行管理。

(4)数据库系统(DBS):是指引进数据库技术后的计算机系统,实现有组织地、动态地存

储大量相关数据,提供数据处理和信息资源共享的便利手段。数据库系统山硬件系统、数据

库、数据库管理系统及相关软件、数据库管理员利用户等部分组成。

2数据库系统的特点

⑴实现数据共享,减少数据冗余。

(2)采用特定的数据模型。

(3)具有较高的数据独立性。

(4)具有统一的数据控制功能。

考点3数据模型

1实体的描述

⑴实体。

(2)实体的属性。

(3)实体集和实体型。

2实体间联系及联系的种类

(1)一对一联系。

(2)一对多联系。

(3)多对多联系。

3数据模型简介

为了反映事物本身及事物之间的各种联系,数据库中的数据必须有一定的结构,这种结

构用数据模型来表示,通常有以下3种。

(1)层次数据模型。

(2)网状数据模型。

(3)关系数据模型。

小提示:

数据库DB、数据库系统DBS和数据库管理系统DBMS之间的关系是DBS包括DB和

DBMS»

1.2关系模型

关系模型的用户界面非常简单,一个关系的逻辑结构就是一张二维表。这种用二维表的

形式表示实体和实体间联系的数据模型称为关系数据模型。

1关系术语

(1)关系:-个关系就是一张二维表,每个关系有一个关系名。在VisualFoxPro中一个

关系存储为一个文件,扩展名为DBF,称为“表”。

对关系的描述称为关系模式,-个关系模式对应一个关系的结构,格式为:

关系名(属性名1,属性名2,…,属性名n)

(2)元组:在一个二维表中,水平方向的行称为元组,每一行为一个元组。

(3)属性:将二维表中垂直方向的列称为属性,每一列都有一个属性名。

(4)域:属性的取值范围,即不同元组对同一个属性的取值所限定的范围。

(5)关键字:属性或属性的组合,其值能够唯一地标识一个元组。在VisualFoxPro中,

主关键字和候选关键字就起唯一标志一个元组的作用。

(6)外部关键字:如果表中一个字段不是本表的主关键字或候选关键字,而是另一个表

的主关键字或候选关键字,那么这个字段(属性)就称为外部关键字。

2关系的特点

(1)关系必须规范化。

(2)在同一个关系中不能出现同名属性,VisualFoxPro中表示为字段名的不同。

(3)关系中不允许有完全相同的元组,即冗余。

(4)在一个关系中元组的次序无关紧要。

(5)在•个关系中列的次序无关紧要。

考点5关系运算

对关系数据库进行查询时,需要找到用户感兴趣的数据,这就需要对关系进行一定的关

系运算,关系的基本运算有两类:传统的集合运算和专门的关系运算。

1传统的集合运算

(1)并:两个相同结构关系的并是由属于这两个关系的全部元组组成的集合。

(2)差:两个相同结构关系的差是由属于前一个关系的元组而不属于后一个关系的元组

组成的集合。例如,关系R和S的差结果是由属于R但不属于S的元组组成的集合。

(3)交:两个相同结构关系的交是由属于这两个关系所共有的元组组成的集合。

2专门的关系运算

(1)选择:从关系中找出满足给定条件的元组的操作。

(2)投影:从关系模式中指定若干个属性组成新的关系:

(3)连接:关系的横向结合,将两个关系模式拼接成一个更宽的关系模式。

(4)自然连接:在连接运算中,按照字段值对应相等为条件进行的连接操作称为等值连

接。自然连接是去掉重复属性的等值连接。

小提示:

选择和投影运算的操作对象只是•个表,相当于对个二维表进行切割。连接运算则需

要把两个表作为操作对象。如果两个表以上进行连接,应当两两进行连接。

1.3数据库设计基础

考点6数据库设计步骤

1设计原则

⑴关系数据库的设计应遵从概念单一化“一事一地''的原则。

(2)避免在表之间出现重复字段。

(3)表中的字段必须是原始数据和基本数据元素。

(4)用外部关键字保证有关联的表之间的联系。

2设计步骤

利用VisualFoxPro来开发数据库应用系统,可以按照以下步骤来设计。

(1)需求分析。

(2)确定需求表C

(3)确定需求字段。

(4)确定联系。

(5)设计精确

1.4VisualFoxPro系统概述

考点7VisualFoxPro的特点

⑴增强项目与数据库管理。

(2)提高应用程序开发的生产率。

(3)互操作性与支持Interneto

(4)充分利用已有数据。

2.1VisualFoxPro的安装和启动

考点1VisualFoxPro的系统要求

VisualFoxPro功能强大,但它对系统的要求并不高,个人计算机软硬件基本要求如下。

⑴处理器;486DX/66MHz处理器,推荐使用Pentium或更高处理器的PC。

(2)内存:16MB以上的内存,推荐使用24MB内存。

(3)硬盘空间:典型安装需要85MB硬盘空间,最大安装需要90MB硬盘空间。

(4)其他硬件:一个鼠标、一个光盘驱动器。推荐使用VGA或更高分辨率的监视器。

(5)操作系统:由于VisualFoxPro是32位产品,需要在Windows95/98(中文版)、Windows

NT4.0(中文版)或更高版本的操作系统上运行。

小提示:

退出Windows中的应用程序或关闭窗口等操作,都可以利用快捷键Alt+F4来完成。

2.2VisualFoxPro的用户界面

考点2VisualFoxPro的主界面

VisualFoxPro的主界面即其工作环境,启动VisualFoxPro后,打开如图2—1所示的界

面。

考点3工具栏的使用

设置工具栏是微软公司流行软件的共同特点,利用各种工具栏比菜单要方便得多。其默

认界面仅包括“常用”工具栏和“表单设计器”工具栏。除此之外,VisualFoxPro还提供其他10

个工具栏,如表2-1所示。

皿d

;1____$«(VML(D病社3XIU〕*01)

Q喇见I•心I-卜㈣,TJ,M|JBc|搠川•・

i.皿凶

d

A^84

山£

.用—]_I…修],〃

m2TWywIFMM土零府

表2-1VbwlFc^H)工具栏

H«栏I工具&多一

率样将~~一石耳it株

一我爸”表1蜀你脩章

一辘伸]用一传,i—

一我—片EI精]W罔♦舒霖

仅闻!我布牛津泞军ncrdSiien

小提示:

VisualFoxPro中有两种工作方式:交互操作方式和程序方式,命令方式和菜单方式都属

于交互操作方式。

2.3项目管理器

考点4使用项目管理器

(1)项目管理器窗口中共有6个选项长,其中“全部”选项卡用来集中显示该项目中的所有

文件,“数据”、"文档”、“类”、”代码”和“其他”5个选项卡用来分类显示各种文件。

(2)项目管理器一是提供了简便的、可视化的方法来组织和处理表、数据库、表单、查

询和其他一切文件,通过单击鼠标就能实现对文件的创建、修改、删除等操作;二是在项口

管理器中可以将应用系统编译成一个扩展名为APP的应用文件或EXE的可执行文件。

⑶在VisualFoxPro中的不同文件类型及其扩展名,如表2-2所示。

表2-2VisualFoxPro中的不同文件类型及其扩展名

扩展文件翘扩展^文件建

ACT向导操作图的文档LBX标签

APP生成的应用程序或Active.IDX相,国g索引

Document

CDX复合索LOG代蹦围日志

CHM编深的HTMLHelpLST向导列表的海

DBC数据库MEM内存变量保存

DCT数据库备注.MNT菜单备注

DCX数据库索引.MNX好

DBF表.MPR生成的菜单程序

DBG调试器配置.MPX秀函的菜

DEP相关文件(由“安轲导”.OCXActiveX控件

创建)

DLLWindows动态链接库PJT项目备件

ERR编译错误PJX项目

.ESLVisualFoxPro支茸的库PRG程序

EXE可执行程序.QPR生成的查询程序

FKY宏.QPX编译后的查诅程序

FKLFoxPro动态舞接库.SCT表单备注

FMT格式文件.sex统

FPT表备注.SPR生成的屏幕程序’

FRT报表备注.SPX编译后的屏幕程序*

FRX牍.TBK备注备份

FXP编译后的程序.TXT文本

H头文件.VCT可视库备注

HLPWinHeS.vex可曝库

HTMHTML.VUEFoxPro2.x腌

LBT标签备注.WIN窗口文件

考点5定制项目管理器

(1)移动、缩放和折叠。

(2)拆分项目管理器。

(3)停放项目管理器

小提示:

要拆分选项卡使之单独使用,必须将选项卡折叠后才可以实现。

2.4VisualFoxPro向导、设计器、生成器

考点6VisualFoxPro的向导

向导是一种交互式程序用户在一系列向导屏幕上回答问题或者选择选项后,向导会根据

回答生成文件或者执行任务,帮助用户快速完成一般性的任务(例如创建表单、编排报表的

格式、建立查询、制作图表、生成数据透视表、生成交叉表报表及在Web上按HTML格式

发布等。

考点7VisualFoxPro的设计器

VisualFoxPro的设计器是创建和修改应用系统各种组件的可视化工具:利用各种设计器

使得创建表、表单、数据库、查询和报表及管理数据变得轻而易举,为初学者提供了方便。

考点8VisualFoxPro的生成器

生成器是带有选项卡的对话框,用于简化对表单、复杂控件及参照完整性代码的创建和

修改过程。每个生成器显示一系列选项卡,用于设置选中对象的属性。可使用生成器在数据

库表之间生成控件、表单、设置控件格式利创建参照完整性。

3.1常量与变量

考点1常量

常量用以表示一个具体的、不变的值。不同类型常量的书写格式不同。在VisualFoxPro

中,常量主要包括以F几种类型。

1数值型常量

数值型常量即常数,用来表示一个数量的大小,由数字0~9小数点利正负号组成。

2货币型常量

货币型常量用来表示货币值,其书写格式与数值型常量类似,但要加上一个前置的符号

($)。

3字符型常量

字符型常量也称为字符串,其表示方法是用半角单引号、双引号或方括号把字符串括起

来。这里的单引号、双引号或方括号称为定界符许多常量都有定界符。定界符虽然不作为常

量本身的内容,但它规定了常量的类型及常量的起始和终止界限。

4日期型常量

日期型常量的定界符是一对花括号。花括号内包括年、月、113部分内容,各部分内容

之间用分隔符分隔。

5H期时间型常量

日期时间型常量包括日期和时间两部分内容:{〈日期〉,〈时间>}。〈日期〉部分与日期

型常量相似,也有传统的和严格的两种格式。

6逻辑型常量

逻辑型数据只有逻辑真和逻辑假两个值。前后两个句点作为逻辑型常量的定界符是必不

可少的,否则会被误认为变量名。逻辑型数据只占用1字节.

考点2变量

VisualFoxPro中变量分为字段变量和内存变量二其中字段变量就是表中的字段。内存变

量是内存中的一块存储区域,变量值就是存放在这个存储区域里的数据,变量的类型取决于

变量值的类型。内存变量的数据类型包括:字符型(C)、数值型(N)、货币型(Y)、日期型(D)、

日期时间型(T)和逻辑型(L)。

1简单的内存变量

每一个变量都有一个名字,可以通过变量名访问变量。如果当前表中存在一个同名的字

段变量,则在访问内存变量时,必须在变量名前加上前缀M.(或M->),否则系统将访问同

名的字段变量。

2数组

与简单内存变量不同,数组在使用之前一般要用DIMENSION或DECLARE命令显示

创建,规定数组是一维数组还是二维数组,数组名和数组大小。数组大小由下标值的上、下

限决定,下限规定为1。在使用数组和数组元素时,应注意如下问题。

(1)在一切使用简单内存变量的地方,均可以使用数组元素。

(2)在赋值和输入语句中使用数组名时,表示将同一个值同时赋给该数组的全部数组元

素。

(3)在同一个运行环境下,数组名不能与简单变量名重复。

(4)在赋值语句中的表达式位置不能出现数组名。

(5)可以用一维数组的形式访问二维数组。

考点3内存变量常用命令

1内存变量的赋值

格式1:〈内存变量名>=〈表达式〉

格式2:STORE〈表达式〉TO〈内存变量名表》

2表达式值的显示

格式1:?〈表达式表〉

格式2:??〈表达式表〉

3内存变量的显示

格式1:LISTMEMORY[L1KE<通配符刁[TOPRINTER!TOFILEv文件名刊

格式2:DISPLAYMEMORY[LIKE<通配符习[TOPRINTER|TOFILE<文件名习

4内存变量的清除

格式1:CLEARMEMORY

格式2RELEASE〈内存变量名表,

格式3:RELEASEALL[EXTENDED]

格式4:RELEASEALL[LIKE<通配符>|EXCEPT<通配符>]

5表中数据与数组数据之间的交换

将表的当前记录复制到数组。

格式1:SCATTER[FIELDSv字段名表〉][MEMOJTOv数组名刁BLANK]

格式2:SCATTER[FIELDSLIKEv通配符>|FIELDSEXCEPT〈通配符刁[MEMO]TO〈数组

名RBLANK]

将数组数据复制到表的当前记录。

格式1:GATHERFROM<数组名>[FIELDSv字段名表〉][MEMO]

格式2:GATHERFROM<数组名>[FIELDSLIKEv通配符>|FDELDSEXCEv通配

符刁[MEMO]

小提示:

如果当前表中存在个同名的字段变量,则在访问内存变量时;必须在内存变量名前加

上前缀M.(或M->),否则系统访问的将是同名的字段变量。

3.2表达式

考点4数值、字符与日期时间表达式

1数值表达式

(1)算术运算优先级。数值表达式中的算术运算符有些与日常使用的运算符稍有Lx=别,

算术运算符及其含义和优先级如表3-1所示。

表3-1算术运算符及其优先级

优先公运算符说明

I影蜒於姑贰内的「或达我

2**或A联方运号

3*/、场彘腌近京.求余适律

4*»­H

(2)求余运算。求余运算%和取余函数MOD()的作用相同。余数的正负号与除数一致当

表达式中出现*、/和%运算时,它们具有相同的优先级。

2字符表达式

由字符串运算符将字符型数据连接起来形成,其结果仍是字符型数据字符型数据只能进

行两种运算(+、-),它们的优先级相同。

"+”首尾连接前后两个字符串形成一个新的字符串;连接前后两个字符串,并将前字

符串的尾部空格移到合并后的新字符串尾部

3日期时间表达式

日期时间表达式中可以使用的运算符也有“+”和两个,其格式也有一定的限制,不能

任意组合,如不能用运算符“+”将两个〈日期〉连接起来。

考点5关系表达式

1关系表达式

关系表达式通常也称为简单逻辑表达式,它是山关系运算符将两个运算对象连接起来而

形成的,即:〈表达式〉〈关系运算符><表达式3关系运算符及其含义如表3-2所示,它们的

优先级相同。

表3-2关系运算符

诙算符说明运算符说明

<小于<=小于等于

>大,于大了等干

=等于字符由精幽比较

o成!-■不等于他陷手串包畲测诚

2设置字符的排序次序

当比较两个字符串时,系统对两个字符串的字符自左向右逐个进行比较;一旦发现两个

对应字符不同,就根据这两个字符的排序序列决定两个字符串的大小

3字符串精确比较与EXACT设置

在用双等号运算符==比较两个字符串时,只有当两个字符串完全相同(包括空格及各

字符的位置)时,运算结果才会是逻辑真工,否则为逻辑假.F.。

考点6逻辑表达式

1逻辑表达式

逻辑运算符的运算规则如表3-3所示,其中〈IE>和〈正2>各代表两个逻辑型常量。

表3-3逻辑运算规则

<IE2>>.AND,<IE2>cEEl>.OR,<IE2>

,T.-TT.

.T.__r.T.

.T.•F.T-

,F..F.-F-1•P.

2运算符优先级

.NOT.或!(逻辑非)、.AND.(逻辑与)、.OR.(逻辑或)依次降低。

小提示:

表达式是指常量、变量、函数或由它们通过特定的运算符连接起来的式子。

3.3常用函数

考点7数值函数

数值函数是指函数值为数值的一类函数,它们的自变量和返回值往往都是数值型数据。

1绝对值和符号函数

格式:ABS<数值表达工3)

SIGN(〈数值表达式〉)

功能:ABS()返回指定的数值表达式的绝对值。SIGN()返回指定数值表达式的符号。

2求平方根函数

格式:SQRT(〈数值表达式〉)

功能:返回指定表达式的平方根,表达式的值不能为负。

3圆周率函数

格式:PI()

功能:返回圆周率二,该函数没有自变量。

4求整数函数

格式:INT(〈数值表达式〉)

CEILING(〈数值表达式〉)

FLOOR(〈数值表达式〉)

功能:INTO返回指定数值表达式的整数部分。CEILING。返回大于或等于指定数值表达

式的最小整数。FLOOR。返归I小于或等于指定数值表达式的最大整数。

5四舍五入函数

格式:ROUND(〈数值表达式1>,<数值表达式2>)

功能:返回<数值表达式1>在指定位置四舍五入后的结果,<数值表达式2>指明四舍五

入的位置。若〈数值表达式2>大于等于0,表示的是要保留的小数位,若小于。,则表示整数

部分的舍入位数。

6求余数函数

格式:MOD(〈数值表达式1>,<数值表达式2>)

功能:返回两个数相除后的余数。余数的正、负号与除数相同。如果被除数与除数同号,

则函数值为两数相除的余数;如果异号,则函数值为两数相除的余数再加上除数的值。

7求最大值和最小值函数

格式:MAX(〈数值表达式1>,<数值表达式2>[,<数值表达式

MIN(〈数值表达式1>,<数值表达式2>[,<数值表达式

功能MAX()返回自变量中的最大值。M1N()返回自变量中的最小值。

考点8字符函数

1求字符串长度函数

格式:LEN(〈字符表达式〉)

功能:返回指定字符表达式值的长度,即字符个数。

2大小写转换函数

格式:LOWER(〈字符表达式〉)

UPPER(〈字符表达式〉)

功能:LOWER。将指定表达式中的大写字母转换成小写字母,其他字符保持不变;

UPPER。将指定表达式中的小写字母转换成大写字母,其他字符保持不变。

3空格字符串生成函数

格式:SAPCE(〈数值表达式〉)

功能:返回由指定数目的空格组成的字符串。

4侧除前后空格函数

格式:TRIM(〈字符表达式〉)

LTRIM(〈字符表达式〉)

ALLTRIM(〈字符表达式〉)

功能:TRIM()删除指定表达式尾部的空格。LTRIM。删除指定表达式前端的空格。

ALLTRIM()删除指定字符串前端和尾部的空格。

5取子串函数

格式:LEFT(〈字符表达式〉,〈长度〉)

RIGHT(〈字符表达式〉,〈长度〉)

SUBSTR(〈字符表达式〉,〈起始位置>[,<长度习)

功能:LEFT。从指定表达式左端截取一个指定长度的子串作为函数值。RIGHT。从指定

表达式右端载取一个指定长度的子串作为函数值。SUBSTRO从指定表达式指定位置截取

个指定长度的子串作为函数值,若默认〈长度〉,则截取的子串表示从指定位置开始一直到

字符串尾部。

6计算子串出现次数函数

格式:OCCURS(〈字符表达式1>,〈字符表达式2>)

功能:返回第一个字符串在第二个字符串中出现的次数。

7求子串位置函数

格式:AT(〈字符表达式1>,〈字符表达式2>[,<数值表达式习)

ATC(〈字符表达式1>,〈字符表达式2>[,<数值表达式>])

功能:ATO返回第一个字符串的首字符在第一二个字符串中出现的位置。前提条件是第

一个字符串必须是第二个字符串的子串,否则函数返回值为0。ATC()功能与AT()类似,但

不区分字符串中字符的大小写。

8子串替换函数

格式:STUFF〈字符表达式1>,〈起始位置〉,〈长度〉,〈字符表达式2>)

功能:用〈字符表达式2>的值替换〈字符表达式1>中山〈起始位置〉和<长度〉指定的一个

子串。

9字符替换函数

格式CHRTRAN(〈字符表达式1>,〈字符表达式2>,〈字符表达式3>)

功能:该函数的自变量是三个字符表达式。当第一个字符串中的一个或多个字符与第二

个字符串中的某个字符相匹配时,应用第三个字符串中的对应字符(相同位置)替换这些字符

如果第三个字符串包含的字符个数少于第二个字符串包含的字符个数,因为没有对应字符,

那么第一个字符串中相匹配的各字符将被删除。如果第三个字符串包含的字符个数多于第二

个字符串包含的字符个数,多余字符将被忽略。

10字符串匹配函数

格式:LIKE(〈字符表达式1>,〈字符表达式2>)

功能:比较两个字符串对应位置_L的字符。其中〈字符表达式1>中可包含通配符*和?。

*表示若干个任意字符,?表示任意一个字符。

考点9日期和时间函数

1系统日期和时间函数

格式:DATE。

TIME()

DATETIME0

功能:DATE。返回当前系统日期,函数值为日期TIME。以24小时制返回当前系统时间,

函数值为字符型;DATETIME。返回肖前系统日期时间,函数值为日期时间型。

2求年份、月份和天数的函数

格式:YEAR(〈日期表达式>|〈日期时间表达式〉)

MONTH(<日期表达式>|<日期时间表达式〉)

DAY(<日期表达式>|<日期时间表达式〉)

功能:YEAR。从指定的日期表达式或日期时间表达式中返回年份。MONTH。从指定的

日期表达式或日期时间表达式中返回月份DAY()从指定的日期表达式或日期时间表达式中

返回月份的天数。这3个函数的返回值均为数值型数据

3求忖、分和秒的函数

格式:HOUR(v||期时间表达式〉)

MINUTE(<日期时间表达式〉)

SEC(〈日期时间表达式〉)

功能:HOUR()从指定的日期时间表达式中返回小时部分(24小时制)。MINUTE。从指定

的II期时间表达式中返回分钟部分。SEC()从指定的II期时间表达式中返回秒钟部分。

考点10数据类型转换函数

数据类型转换函数的功能是将某一种类型的数据转换成另一种类型的数据。

1数值转换成字符串函数

格式:STR(〈数值表达式>[,<长度>[,<小数位数>]])

功能:将〈数值表达式〉的值转换成字符串,转换时根据需要自动四舍五入。

2字符串转换成数值函数

格式:VAL(〈字符表达式〉)

功能:将山数字符号(包括符号、小数点)组成的字符型数据转换成相应的数值型数据。

3字替串转换成日期或日期时间函数

格式:CTOD(〈字符表达式力

CTOTv字符表达式))

功能:CTOD()将〈字符表达式〉转换成II期型数据CTOT()将〈字符表达式〉转换成日期

时间型数据。

41I期或I」期时间转换成字符串函数

格式:DTOC(〈日期表达式>|〈日期时间表达式>[,1])

TTOC(〈日期时间表达式>[,1])

功能:DTOC()将日期型数据或日期时间型数据的日期部分转换成字符串。TTOC()将日

期时间型数据转换成字符串。

5宏替换函数

格式:&<字符型变量>[.]

功能:替换出字符型变量的内容,即&的值是变量中的字符串。如果该函数与其后面的

字符无明显分界,则要用作为函数结束标识宏替换可以嵌套使用。

考点11测试函数

1值域测试函数

格式:BETWEEN(〈表达式1〉,〈表达式2>,v表达式3>)

功能:判断一个表达式的值是否介于其他两个表达式的值之间。

2空值(NULL)测试函数

格式:ISNULL(〈表达式〉)

功能:判断一个表达式的运算结果是否为NULL值。

3"空,,值测试函数

格式:EMPTY(〈表达式))

功能:略。

4数据类型测试函数

格式:VARTYPE(〈表达式>[,〈逻辑表达式刁)

功能:测试表达式的类型,返回•个大写字母,函数值为字符型。字母含义如表3-4所

示。

表3-4VARTYPE。测得的数据类型

CGma

ND日m

Ynn«T日

LX

0u

5表文件尾测试函数

格式:EOF(卜工作区号>|<表别名>])

功能:测试当前表文件(若默认自变量)或指定表文件中的记录指针是否指向文件尾,若

是,则返回逻辑真(.T.),否则为逻辑假(.F.)。若在指定工作区上没有打开表文件,则函数返

回逻辑假(.F.),若表文件中不包含任何记录,则函数返回逻辑真(.T.)o

6表文件首测试函数

格式:BOF([v工作区号>|<表别名>])

功能:测试当前表义件(若默认自变量)或指定表文件中的记录指针是否指向文件首,若

是,则返回逻辑真(1),否则为逻辑假(.F.)(若在指定工作区上没有打开表文件,则函数返回

逻辑假(E),若表文件中不包含任何记录,则函数返回逻辑真(1)。

7记录号测试函数

格式:RECNO(卜工作区号习〈表别名习)

功能:返回当前表文件(若默认自变量)或指定表文件中当前记录的记录号。如果指定工

作区上没有打开表文件,则函数值为0;如果记录指针指向文件尾,则函数值为表文件中的

记录数加1;如果记录指针指向文件首,则函数值为表文件中第一条记录的记录号。

8记录个数测试函数

格式:RECCOUNT(卜工作区号>|〈表别名刁)

功能:返回当前表文件(若默认自变量)或指定表文件中的记录个数。如果指定工作区上

没有打开表文件,则函数值为0,RECCOUNT)函数不受删除标记及SETDELETED设置的

影响,同样测试表中所有的记录个数。

9条件测试函数

格式:11F(〈逻辑表达式>,v表达式1>,〈表达式2>)

功能:测试〈逻辑表达式〉的值,若为逻辑真(1),则函数返回〈表达式1>的值,否则返

回v表达式2>的值〈表达式1>和v表达式2>的类型可以不相同。

10记录删除测试函数

格式:DELETED(卜工作区号>卜表别名>])

功能:测试当前表文件(若默认自变量)或指定表文件中,记录指针所指的当前记录是否

有删除标记“*若有,则为真,否则为假。

4.1VisualFoxPro数据库及其建立

考点1建立和使用数据库

1数据库的建立

(1)在项目管理器中建立数据库。

(2)通过“新建”对话框建立数据库。

(3)使用命令建立数据库,格式为:

CREATEDATABASE[DatabaseName|?]

2数据库的打开

(1)在项目管理器中打开。

(2)通过“打开”对话框打开数据库。

(3)使用命令打开数据库,格式为:

OPENDATABASE[FileName|?][EXCLUSIVEISHARED]

[NOUPDATE]

[VALIDATE]

考点2修改和删除数据库

VisualFoxPro在建立数据库时建立了扩展名分别为dbc、det和dex的3个文件,用户不

能直接修改这些文件。

VisualFoxPro中修改数据库实际是打开数据库设计器,完成数据库中各种对象的建立、

修改和删除等操作。

可以有3种方法打开数据库设计器。

(1)从项目管理器中打开数据库设计器。

(2)从“打开”对话框中打开数据库设计器。

(3)使用命令打开数据库设计器,格式为:

MODIFYDATABASE[DatabaseName|?]

在项目管理器中不管删除还是移去数据库文件,都不会删除其所包含的各个对象做口数

据表)。如果要在删除数据库的同时删除其所包含的数据表,就必须使用命令,格式为:

DELETEDATABASEDatabaseName|?[DELETETABLES][RECYCLE]

小提示:

在VisualFoxPro中,OpenDataBase和ModifyDataBase命令的区别在于:OpenDataBase

打开的只是数据库的工作环境,并不会进入数据库设计器;ModifyDataBase是打开数据库

设计器。

4.2建立数据库表

考点3在数据库中建立表

在数据库中建立数据表,最直接的方法就是在数据库设计器中利用鼠标右键单击空白

处,选择“新建表”命令,在弹出的表设计器中设置数据表结构。另外可以在命令窗口利用

OPENDATA命令先打开数据库,然后利用CREATE命令打开表设计器进行数据表设计,如

图4-1所示。

图4-1表设计器

1字段名

(I)自由表字段名最长为10个字符。

(2)数据库表字段名最长为128个字符。

(3)字段名必须以字母或汉字开头。

(4)字段名可以由字母、汉字、数字和下划线组成。

(5)字段名中不能包含空格。

2字段类型和宽度

(1)字符型:可以是字母、数字等各种字符型文本,如用户名称。

(2)货币型:货币单位,如货物价格。

(3)数值型:整数或小数,如订货数量。

(3)浮点型:功能类似于“数值型”,其长度在表中最长可达20位。

(4)日期型:由年、月、日构成的数据类型,如订货日期。

(5)日期时间型:由年、月、日、时、分、秒构成的数据类型,如员工上班的时间。

(6)双精度型:双精度数慎类型,一般用于要求精度很高的数据。

(7)整型:不带小数点的数值类型,如订单的行数。

(8)逻辑型:值为“真”(1)或假(.F.),如表示订单是否已执行完。

(9)备注型:不定长的字符型文本。在表中占4个字节,表备注型文件的扩展名为FPT。

(10)通用型:用于标记电子表格、文档、图片等OLE对象,在表中占4个字节。

(11)字符型(二进制)。

(12)备注型(二进制)。

3空值

一个字段是否允许为空值与实际应用有关,比如作为关键字的字段是不允许为空值的,

而那些在插入记录时允许暂缺的字段值往往允许为空值。

4字段有效性组框

在字段有效性组框中可以定义字段的有效性规则、违反规则时的提示信息和字段的默认

值。

5显示组框

在显示组框下可以定义字段显示的格式、输入的掩码和字段的标题。输入掩码是字段的

一种属性,用限制或控制用户输入的格式。标题用于字段显示时的标题,如果不指定标题则

显示字段名。当字段名是英文或缩写时,则通过指定标题可以使界面更友好。

6字段注释

可以为每个字段添加注释,便于日后或其他人对数据库进行维护。

考点4修改表结构

在VisualFoxPro中可以对表结构任意修改,修改表结构和建立表结构时,表设计器界

面完全一样。修改数据表结构时.,首先应该用USE命令打开要修改的数据表,然后利用

MODIFYSTRUCTURE打开表设计器进行修改,具体操作有以下儿种。

(1)修改已有字段。

(2)添加新字段。

(3)删除不用的字段。

4.3表的基本操作

考点5使用浏览器操作表

在交互式工作方式下,最简单、方便的方法就是使用BROWSE浏览器浏览表,打开浏

览器的方法有多种。在项目管理器中将数据库展开至表,然后单击“浏览”按钮,或直接在窗

口中输入BROWSE命令(首先应该打开表文件)。

1浏览器操作

(1)下一记录(下箭头键)。

(2)前一记录(上箭头键)。

(3)下一页(PageDown键)。

(4)上一页(PageUp键)。

(5)下一字段(Tab键)。

⑹前一字段(ShifHTab键)。

2修改记录

只需将光标定位到要修改的记录和字段上,就可以进行修改了。

3删除记录

VisualFoxPro中删除记录有逻辑删除和物理删除两种,逻辑删除只在记录旁做删除标记

(如图4-2所示),必要时可以进行恢复物理删除是在逻辑删除的基础上真正地将记录从表中删

除。要在浏览器中删除有删除标记的记录,可选择“表/彻底删除“菜单命令。

图4-2增加和删除记录

考点6增加、删除、修改和显示记录的命令

1增加记录

APPEND命令是在表的尾部增加记录,格式有如下两种。

格式1:APPEND

格式2:APPENDBLANK

2插入记录

格式:INSERT[BEFORE][BLANK]

3删除记录

删除记录有物理删除和逻辑删除两种,VisualFoxPro用来删除记录的命令如下。

(1)设置删除标记的命令

格式:DELETE[FORlExpressionl]

说明:如果不使用FOR短语指定逻辑条件,则只删除当前记录,否则逻辑删除满足条

件的所有记录。

(2)恢复记录的命令。

格式:RECALL[FORlExpressionl]

说明:使用该命令恢复表中逻辑删除的记录,短语FOR的功能同匕

(3)物理删除有删除标记的记录

格式:PACK

说明:此命令用来物理删除当前表中所有带删除标记的记录。

(4)物理删除表中的全部记录

格式:ZAP

说明:不管表中记录是否带有删除标记,此命令可以一次性将当前表中的记录全部物理

删除,但表结构仍保留使用此命令相当于DELETEALL与PACK的连用。

4修改记录

在VisualFoxPro中可以交互修改记录,也可以用指定值直接修改记录。

(1)用EDIT或CHANGE命令交互式修改。

(2)JUREPLACE命令直接修改。

5显示记录

格式:LIST/DISPLAY[[FIELDS]FieldList][FORLExpressionl][OFF]

[TOPRINTER[PROMPT]|TOFILEFileName]

考点7查询定位的命令

(1)用GOTO命令直接定位

(2)SKIP命令

(3)用LOCATE命令定位。

LOCATE命令是按条件定位记录位置,格式为:

LOCATEFORlExpressionl

LOCATE命令常用结构如下。

LOCATEFORlExpressionl

DOWHILEFOUND()

****处壬里数据***

CONTINUE

ENDDO

小提示:

连续使用DELETEALL和PACK命令,其操作结果与ZAP命令•样,都可以将表中的

所有记录一次性物理删除。

4.4索引与排序

考点8索引的基本概念

索引是对表中的记录按照某种逻辑顺序重新排列。

(I)主索引:在指定的字段或表达式中不允许出现重复值的索引,且一个表只能创建一个

主索引。

(2)候选索引:具有与主索引相同的性质和功能,但一个表中可以创建多个候选索引,

其指定的字段或表达式中也不允许出现重复值。

(3)唯一索引:它的“唯一性”是指索引项的唯一,而不是字段值的唯一。但在使用该索

引时,重复的索引段值只有唯一一个值出现在索引项中。

(4)普通索引:不仅允许字段中出现重复值,并且索引项中也允许出现重复值。

考点9索引的建立

1单项索引

在表设计器界面中有“字段”、“索引”和"表"3个选项卡,在“字段”选项卡中定义字段时就

可以直接指定某些字段是否为索弓I项,用鼠标单击定义索引的下拉列表框可以看到3个选项:

无、升序和降序(默认是无)。如果选定升序或降序,则在对应的字段上建立个普通索引,

索引名与字段名同名,索引表达式就是对应的字段。

2复合字段索引

⑴在嗦引”选项卡中的索引名栏目中输入索引名。

(2)在索引类型的下拉框中选择索引类型。

(3)单击表达式栏右侧的按钮,打开表达式生成器。

(4)在“表达式”文本框中输入索引表达式(如图4-3所示),最后单击“确定”按钮。

图4-3表达式生成器界面

3使用命令建立索引

格式:INDEXONeExpressionTOIDXFileName|TAGTagName[OFCDXFileName]

[FOR.lExpression][COMPACT]

[ASCENDING|DESCENDING]

[UNIQUE|CANDIDATE]

[ADDITIVE]

从索引的组织方式来讲,索引共有3种类型。

(1)单独的IDX索引,是一种非结构索引。

(2)采用非默认名的CDX索引,也是一种非结构复合索引。

(3)与表同名的CDX索引,是结构复合索引。

结构复合索引文件可随表的打开而打开,在同一个索引文件中能包含多个索引方案或

索引关键字,在添加、更改或删除记录时自动维护索引。

考点10索引的使用

(1)打开索引文件,格式为:

SETINDEXTOIndexfilelist

(2)设置当前索引,格式为:

SETORDERTO[nIndexNumber|[TAG]TagName][ASCENDING|DESCENDING]

(3)使用索引快速定位,格式为:

SEEKeExpression[ORDERnIndexNumber|[TAG]TagName][ASCENDING|DESCENDING]

(4)删除索引,格式为:

DELETETAGTagNamel&&TagName1为索引名

要删除全部索引,可使用命令:DELETETAGALL

考点11排序

索引可以使用户按照某种顺序浏览或查找表中的记录,这种顺序是逻辑的,如要对表中

的记录按物理顺序重新排列,可使用SORT命令,格式为:

SORTTOTableNameONFieldNainel[/A}/D][/C][,FieldName2[/A|/D][/C]...][ASCENDING

|DESCENDING][FORlExpressionl][FIELDSFieldNameList]

小提示:

在数据库表中只能有•个主索引,且只能在表设计器中建立。其他3种索引可以建立多

个,既能在表设计器中建立,也能以命令方式建立,但在自由表中不能为其创建主索引,只

能创建后3种索引,同样也可以建立多个。

4.5数据完整性

考点12实体完整性与主关键字

(1)实体完整性是保证表中记录唯一的特性,即在同一个表中不允许有重复的记录出现。

在VisualPro中通过主索引和候选索引来保证数据的实体完整性。

(2)如果一个字段的值或几个字段的值能够唯一标志表中的一条记录,则称这个字段为

候选关键字。在VisualFoxPro中将主关键字称做主索引,将候选关键字称为候选索引。

考点13参照完整性与表之间的关联

1建立表之间的联系

参照完整性与表之间的联系有关,其含义大致是:当插入、删除或修改一个表中的数据

时,通过参照引用相互关联的另•个表中的数据,检查对表的数据操作是否正确。

在数据库设计器中设计表之间的联系时,要在父表中建立主索引,在子表中建立普通索

弓I,然后通过父表主索引和子表的普通索引建立起两个表之间的联系。

2设置参照完整性约束

建立参照完整性之前,首先必须清理数据库,即物理删除表中被逻辑删除的记录,然后

选择两个关联表之间的连线并选择“数据库”、"编辑参照完整性''菜单命令,打开如图44所

示的“参照完整性生成器''对话框。

疑典病叫小脚Iw;:

当父JR中的关■亲5次分期,段倭睚的打二三’

:帝例助源孑妻申智映记利除团EW

1熊」蹒

窜去装会s

.1

聃,1

1I值FklJ

图44“参照完整性生成器”对话框

小提示:

欲建立两表之间的联系,首先用鼠标选中一个表的主索引,按住鼠标左键不放,并拖动

鼠标到另一个表的索引上,这时鼠标箭头变成小矩形状,最后释放鼠标。

4.6自由表

考点14数据库表与自由表

自由表是不属于任何数据库的表。在没有打开数据库时,所建立的表就是自由表。数据

库表与自由表之间可以相互转化。

1建立自由表的方法

(1)在项目的“数据”选项卡中选择“自由表”,单击“新建”按钮。

(2)在没有打开数据库的情况下,通过“新建”对话框,选择“表”并单击“新建文件”按钮。

(3)在没有打开数据库的情况下,在命令窗U输入CREATE命令,新建自由表。

2数据库表相对于自由表的特点

⑴数据库表可以使用长表名,在表中可以使用长字段名。

(2)可以为数据库表中的字段指定标题和添加注释。

(3)可以为数据库表中的字段指定默认值和输入掩码。

(4)数据库表的字段有默认的控件类。

(5)可以为数据库表规定字段级规则和记录级规则。

(6)数据库表支持主关键字、参照完整性和表之间的联系。

(7)支持INSERT,UPDATE利DELETE事件的触发器。

考点15将自由表添加到数据库中

(1)在数据库设计器中可利用“数据库”一“添加表''菜单命令,在“打开”对话框中选择自由

表文件,将其添加到数据库中。

(2)直接用命令方式将自山表添加到当前数据库中,格式为:

ADDTABLETableName|?[NAMELongTableName]

考点16从数据库中移出表

(1)直接利用命令移出数据库表,格式为:

REMOVETABLETableName|?[DELETE][RECYCLE]

(2)从项目管理器中移出数据库。

(3)从数据库设计器中移出数据库。

4.7多个表的同时使用

在VisualFoxPro中,一次可以打开多个数据库,每个数据库都可以打开多个数据表。

考点17多工作区的概念

指定工作区的命令格式为SELECTnWorkArea|cTableAlias,每个表打开后都有两个默

认别名,一个是表的自身名,另一个是工作区所对应的别名。在前10个工作区中指定的默认

别名是工作区字母A~J,其后面的工作区所对应的别名为Wll-W32767o

另外还可以在USE命令中通过ALIAS短语指定表别名。

例如:USE学生表IN1ALIASstudent,为学生表指定了别名studento

考点18使用不同工作区的表

除了使用SELECT命令切换不同的工作区之外,也可以在一个工作区使用其他工作区

的数据表。即通过短语:INnWorkArea|cTableAlias。在表别名后加上“.”或9”操作符,可在

一个工作区中直接调用其他工作区中数据表的记录。例如当前工作区号为2,要调用1区上学

生表中的班级号的相关字段,可使用命令:

学生表.班级号或学生表。班级号或A.班级号或A->班级号

考点19表之间的关联

使用SETRELATION命令建立表间记录指针的临时联系(关联)。

格式:SETRELATIONTOeExpressionlINTOnWorkArealIcTableAlias!,

说明:eExpressionl是指建立临时联系的索引关键字,一般是父表的主索引,子表的普

通索引。用工作区号nWorkAreal或表的别名cTableAliasI说明临时联系是由当前工作区的

表到哪个表。

利用SETRELATIONTO命令将取消当前表到所有表的临时联系。

5.1SQL概述

考点1概述

1概念

SQL是结构化查询语言StructuredQueryLanguage的缩写。它包括数据查询、数据定义、

数据操纵和数据控制4部分。VisualFoxPro在SQL方面支持数据定义、数据查询和数据操纵

功能。另外,由于VisualFoxPro自身在安全控制方面的缺陷,所以它没有提供数据控制功

能。

2SQL语言的特点

(1)一种一体化的语言。

(2)一种高度非过程化的语言。

(3)语言非常简洁。

(4)可以直接以命令方式交互使用,也可以以程序方式使用。

5.2查询功能

SQL的核心是查询,基本形式由SELECT-FROM-WHERE查询块组成,多个查询块可

嵌套执行,如表5-1所示。

SQL功能命令1动调

尸小翁虬SELECT

诬叫,ALTER

敷据操纵取际曰[祗射电豳之BE]

数据控频GRANT,REVOKE

表5-1SQL命令动词

考点2简单查询

1简单查询

简单查询是山SELECT和FROM短语构成的无条件查询,或山SELECT,FROM和

WHERE短语构成的条件查询。

2简单的连接查询

连接是关系的基本操作之一,连接查询是一种基于多个关系的查询。

3嵌套查询

嵌套查询所要求的结果出自一个关系,但关系的条件却涉及多个关系。其内层基本上也

是一个SELECT-FROM-W

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论