全国计算机等级考试二级VF考点分析

2024-05-08

全国计算机等级考试二级VF考点分析(通用6篇)

篇1:全国计算机等级考试二级VF考点分析

全国计算机等级考试二级VF考点分析之VF基础(第一章)1.1 数据库基础知识 考点1 计算机数据管理的发展

1数据与数据处理

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

2计算机数据管理

(l)人工管理。

(2)文件系统。

(3)数据库系统。

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

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

3数据库管理系统

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

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

1有关数据库的概念

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

(2)数据库应用系统(DBAS):是由系统开发人员利用数据库系统资源开发出来的,面向某一类实际应用的应用软件系统。

(3)数据库管理系统(DBMS):对数据实行专门管理,提供安全性和完整性等统一机制,可以对数据库的建立、使用和维护进行管理。

(4)数据库系统(DBS):是指引进数据库技术后的计算机系统,实现有组织地、动态地存储大量相关数据,提供数据处理和信息资源共享的便利手段。数据库系统由硬件系统、数据库、数据库管理系统及相关软件、数据库管理员和用户等部分组成。

2数据库系统的特点

(l)实现数据共享,减少数据冗余。

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

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

(4)具有统一的数据控制功能。考点3 数据模型

1实体的描述

(1)实体。

(2)实体的属性。

(3)实体集和实体型。

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

(1)一对一联系。

(2)一对多联系。

(3)多对多联系。

3数据模型简介

为了反映事物本身及事物之间的各种联系,数据库中的数据必须有一定的结构,这种结构用数据模型来表示,通常有以下3种。

(1)层次数据模型。

(2)网状数据模型。

(3)关系数据模型。小提示:

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

关系模型的用户界面非常简单,一个关系的逻辑结构就是一张二维表。这种用二维表的形式表示实体和实体间联系的数据模型称为关系数据模型。

1关系术语

(l)关系:一个关系就是一张二维表,每个关系有一个关系名。在Visual FoxPro中一个关系存储为一个文件,扩展名为DBF,称为“表”。

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

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

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

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

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

(5)关键字:属性或属性的组合,其值能够唯一地标识一个元组。在Visual FoxPro中,主关键字和候选关键字就起唯一标志一个元组的作用。

(6)外部关键字:如果表中一个字段不是本表的主关键字或候选关键字,而是另一个表的主关键字或候选关键字,那么这个字段(属性)就称为外部关键字。

2关系的特点

(1)关系必须规范化。

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

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

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

(5)在一个关系中列的次序无关紧要。考点5 关系运算

对关系数据库进行查询时,需要找到用户感兴趣的数据,这就需要对关系进行一定的关系运算,关系的基本运算有两类:传统的集合运算和专门的关系运算。

1传统的集合运算

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

(2)差:两个相同结构关系的差是由属于前一个关系的元组而不属于后一个关系的元组组成的集合。例如,关系R和S的差结果是由属于R但不属于S的元组组成的集合。

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

2专门的关系运算

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

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

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

(4)自然连接:在连接运算中,按照字段值对应相等为条件进行的连接操作称为等值连接。自然连接是去掉重复属性的等值连接。小提示:

选择和投影运算的操作对象只是一个表,相当于对一个二维表进行切割。连接运算则需要把两个表作为操作对象。如果两个表以上进行连接,应当两两进行连接。1.3 数据库设计基础 考点6 数据库设计步骤

1设计原则

(l)关系数据库的设计应遵从概念单一化“一事一地”的原则。

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

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

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

2设计步骤

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

(1)需求分析。

(2)确定需求表C

(3)确定需求字段。

(4)确定联系。

(5)设计精确

1.4 Visual FoxPro系统概述 考点7 Visual FoxPro的特点

(l)增强项目与数据库管理。

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

(3)互操作性与支持Internet。

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

全国计算机等级考试二级VF考点分析之VF系统初步(第二章)2.1 Visual FoxPro的安装和启动 考点1 Visual FoxPro的系统要求

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

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

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

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

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

(5)操作系统:由于Visual FoxPro是32位产品,需要在Windows 95/98(中文版)、Windows NT 4.0(中文版)或更高版本的操作系统上运行。小提示:

退出Windows中的应用程序或关闭窗口等操作,都可以利用快捷键Alt + F4来完成。2.2 Visual FoxPro的用户界面 考点2 Visual FoxPro的主界面

Visual FoxPro的主界面即其工作环境,启动 Visual FoxPro后,打开如图2一l所示的界面。

考点3 工具栏的使用

设置工具栏是微软公司流行软件的共同特点,利用各种工具栏比菜单要方便得多。其默认界面仅包括“常用”工具栏和“表单设计器”工具栏。除此之外,Visual FoxPro还提供其他10个工具栏,如表2-1所示。

小提示:

Visual FoxPro中有两种工作方式:交互操作方式和程序方式,命令方式和菜单方式都属于交互操作方式。2.3 项目管理器 考点4 使用项目管理器

(1)项目管理器窗口中共有6个选项长,其中“全部”选项卡用来集中显示该项目中的所有文件,“数据”、“文档”、“类”、“代码”和“其他“5个选项卡用来分类显示各种文件。

(2)项目管理器一是提供了简便的、可视化的方法来组织和处理表、数据库、表单、查询和其他一切文件,通过单击鼠标就能实现对文件的创建、修改、删除等操作;二是在项口管理器中可以将应用系统编译成一个扩展名为APP的应用文件或EXE的可执行文件。

(3)在Visual FoxPro中的不同文件类型及其扩展名,如表2-2所示。

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

考点5 定制项目管理器

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

(2)拆分项目管理器。

(3)停放项目管理器 小提示:

要拆分选项卡使之单独使用,必须将选项卡折叠后才可以实现。2.4 Visual FoxPro向导、设计器、生成器 考点6 Visual FoxPro的向导

向导是一种交互式程序用户在一系列向导屏幕上回答问题或者选择选项后,向导会根据回答生成文件或者执行任务,帮助用户快速完成一般性的任务〔例如创建表单、编排报表的格式、建立查询、制作图表、生成数据透视表、生成交叉表报表及在Web上按HTML格式发布等。考点7 Visual FoxPro的设计器

Visual FoxPro的设计器是创建和修改应用系统各种组件的可视化工具:利用各种设计器使得创建表、表单、数据库、查询和报表及管理数据变得轻而易举,为初学者提供了方便。考点8 Visual FoxPro的生成器

生成器是带有选项卡的对话框,用于简化对表单、复杂控件及参照完整性代码的创建和修改过程。每个生成器显示一系列选项卡,用于设置选中对象的属性。可使用生成器在数据库表之间生成控件、表单、设置控件格式和创建参照完整性。

全国计算机等级考试二级VF考点分析之数据与数据运算(第三章)3.1 常量与变量 考点1 常量

常量用以表示一个具体的、不变的值。不同类型常量的书写格式不同。在Visual FoxPro中,常量主要包括以下几种类型。

1数值型常量

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

2货币型常量

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

3字符型常量

字符型常量也称为字符串,其表示方法是用半角单引号、双引号或方括号把字符串括起来。这里的单引号、双引号或方括号称为定界符许多常量都有定界符。定界符虽然不作为常量本身的内容,但它规定了常量的类型及常量的起始和终止界限。

4日期型常量

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

5日期时间型常量

日期时间型常量包括日期和时间两部分内容:{<日期>,<时间>}。<日期>部分与日期型常量相似,也有传统的和严格的两种格式。

6逻辑型常量

逻辑型数据只有逻辑真和逻辑假两个值。前后两个句点作为逻辑型常量的定界符是必不可少的,否则会被误认为变量名。逻辑型数据只占用1字节。考点2 变量

Visual FoxPro中变量分为字段变量和内存变量二其中字段变量就是表中的字段。内存变量是内存中的一块存储区域,变量值就是存放在这个存储区域里的数据,变量的类型取决于变量值的类型。内存变量的数据类型包括:字符型(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:LIST MEMORY[LIKE<通配符>][TO PRINTER!TO FILE<文件名>]

格式2:DISPLAY MEMORY[LIKE<通配符>][TO PRINTER|TO FILE<文件名>]

4内存变量的清除

格式1:CLEAR MEMORY

格式2:RELEASE<内存变量名表>

格式3:RELEASE ALL[EXTENDED]

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

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

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

格式1:SCATTER[FIELDS<字段名表>][MEMO]TO<数组名>[BLANK]

格式2:SCATTER[FIELDS LIKE<通配符>|FIELDS EXCEPT<通配符>][MEMO]TO<数组名>[BLANK]

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

格式1:GATHER FROM<数组名>[FIELDS<字段名表>][MEMO]

格式2:GATHER FROM<数组名>[FIELDS LIKE<通配符>|FIELDS EXCE<通配符>][MEMO] 小提示:

如果当前表中存在一个同名的字段变量,则在访问内存变量时,必须在内存变量名前加上前缀M.(或M->),否则系统访问的将是同名的字段变量。3.2 表达式

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

1数值表达式

(1)算术运算优先级。数值表达式中的算术运算符有些与日常使用的运算符稍有Lx=别,算术运算符及其含义和优先级如表3-1所示。

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

(2)求余运算。求余运算%和取余函数MOD()的作用相同。余数的正负号与除数一致当表达式中出现*、/和%运算时,它们具有相同的优先级。

2字符表达式

由字符串运算符将字符型数据连接起来形成,其结果仍是字符型数据字符型数据只能进行两种运算(+、-),它们的优先级相同。

“+”首尾连接前后两个字符串形成一个新的字符串;“-”连接前后两个字符串,并将前字符串的尾部空格移到合并后的新字符串尾部 3日期时间表达式

日期时间表达式中可以使用的运算符也有“+”和“-”两个,其格式也有一定的限制,不能任意组合,如不能用运算符“+”将两个<日期>连接起来。考点5 关系表达式

1关系表达式

关系表达式通常也称为简单逻辑表达式,它是由关系运算符将两个运算对象连接起来而形成的,即:<表达式><关系运算符><表达式>。关系运算符及其含义如表3-2所示,它们的优先级相同。表3-2 关系运算符

2设置字符的排序次序

当比较两个字符串时,系统对两个字符串的字符自左向右逐个进行比较;一旦发现两个对应字符不同,就根据这两个字符的排序序列决定两个字符串的大小

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

在用双等号运算符==比较两个字符串时,只有当两个字符串完全相同(包括空格及各字符的位置)时,运算结果才会是逻辑真.T.,否则为逻辑假.F.。考点6 逻辑表达式

1逻辑表达式

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

表3-3 逻辑运算规则

2运算符优先级

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

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

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

1绝对值和符号函数

格式:ABS<数值表达式>)

SIGN(<数值表达式>)

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

2求平方根函数

格式:SQRT(<数值表达式>)

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

3圆周率函数

格式:PI()

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

4求整数函数

格式:INT(<数值表达式>)CEILING(<数值表达式>)FLOOR(<数值表达式>)

功能:INT()返回指定数值表达式的整数部分。CEILING()返回大于或等于指定数值表达式的最小整数。FLOOR()返回小于或等于指定数值表达式的最大整数。5四舍五入函数

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

功能:返回<数值表达式I>在指定位置四舍五入后的结果,<数值表达式2>指明四舍五入的位置。若<数值表达式2>大于等于0,表示的是要保留的小数位,若小于。,则表示整数部分的舍入位数。

6求余数函数

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

功能:返回两个数相除后的余数。余数的正、负号与除数相同。如果被除数与除数同号,则函数值为两数相除的余数;如果异号,则函数值为两数相除的余数再加上除数的值。

7求最大值和最小值函数

格式:MAX(<数值表达式1>,<数值表达式2>[,<数值表达式3>„])MIN(<数值表达式1>,<数值表达式2>[,<数值表达式3>„])

功能MAX()返回自变量中的最大值。MIN()返回自变量中的最小值。考点8 字符函数

1求字符串长度函数

格式:LEN(<字符表达式>)

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

2大小写转换函数

格式:LOWER(<字符表达式>)UPPER(<字符表达式>)

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

3空格字符串生成函数

格式:SAPCE(<数值表达式>)

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

4侧除前后空格函数

格式:TRIM(<字符表达式>)LTRIM(<字符表达式>)ALLTRIM(<字符表达式>)

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

5取子串函数

格式:LEFT(<字符表达式>,<长度>)RIGHT(<字符表达式>,<长度>)SUBSTR(<字符表达式>,<起始位置>[,<长度>])

功能:LEFT()从指定表达式左端截取一个指定长度的子串作为函数值。RIGHT()从指定表达式右端载取一个指定长度的子串作为函数值。SUBSTR()从指定表达式指定位置截取一个指定长度的子串作为函数值,若默认<长度>,则截取的子串表示从指定位置开始一直到字符串尾部。

6计算子串出现次数函数

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

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

7求子串位置函数

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

功能:AT()返回第一个字符串的首字符在第_二个字符串中出现的位置。前提条件是第一个字符串必须是第二个字符串的子串,否则函数返回值为0。ATC()功能与AT()类似,但不区分字符串中字符的大小写。

8子串替换函数

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

功能:用<字符表达式2>的值替换<字符表达式I>中由<起始位置>和<长度>指定的一个子串。

9字符替换函数

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

功能:该函数的自变量是三个字符表达式。当第一个字符串中的一个或多个字符与第二个字符串中的某个字符相匹配时,应用第三个字符串中的对应字符(相同位置)替换这些字符如果第三个字符串包含的字符个数少于第二个字符串包含的字符个数,因为没有对应字符,那么第一个字符串中相匹配的各字符将被删除。如果第三个字符串包含的字符个数多于第二个字符串包含的字符个数,多余字符将被忽略。

10字符串匹配函数

格式:LIKE(<字符表达式I>,<字符表达式2>)

功能:比较两个字符串对应位置_L的字符。其中<字符表达式1>中可包含通配符*和?。*表示若干个任意字符,?表示任意一个字符。考点9 日期和时间函数

1系统日期和时间函数

格式:DATE()TIME()DATETIME()

功能:DATE()返回当前系统日期,函数值为日期TIME()以24小时制返回当前系统时间,函数值为字符型;DATETIME()返回肖前系统日期时间,函数值为日期时间型。

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

格式:YEAR(<日期表达式>|<日期时间表达式>)MONTH(<日期表达式>|<日期时间表达式>)DAY(<日期表达式>|<日期时间表达式>)

功能:YEAR()从指定的日期表达式或日期时间表达式中返回年份。MONTH()从指定的日期表达式或日期时间表达式中返回月份DAY()从指定的日期表达式或日期时间表达式中返回月份的天数。这3个函数的返回值均为数值型数据

3求时、分和秒的函数

格式:HOUR(<日期时间表达式>)MINUTE(<日期时间表达式>)SEC(<日期时间表达式>)

功能:HOUR()从指定的日期时间表达式中返回小时部分(24小时制)。MINUTE()从指定的日期时间表达式中返回分钟部分。SEC()从指定的日期时间表达式中返回秒钟部分。考点10 数据类型转换函数

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

1数值转换成字符串函数

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

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

2字符串转换成数值函数

格式:V AL(<字符表达式>)

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

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

格式:CTOD(<字符表达式>)CTOT<字符表达式>)

功能:CTOD()将<字符表达式>转换成日期型数据CTOT()将<字符表达式>转换成日期时间型数据。

4日期或日期时间转换成字符串函数

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

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

5宏替换函数

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

功能:替换出字符型变量的内容,即&的值是变量中的字符串。如果该函数与其后面的字符无明显分界,则要用“.”作为函数结束标识宏替换可以嵌套使用。考点11 测试函数

1值域测试函数

格式:BETWEEN(<表达式1>,<表达式2>,<表达式3>)

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

2空值(NULL)测试函数

格式:ISNULL(<表达式>)

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

3“空”值测试函数

格式:EMPTY(<表达式>)

功能:略。

4数据类型测试函数

格式:VARTYPE(<表达式>[,<逻辑表达式>])

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

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

5表文件尾测试函数

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

功能:测试当前表文件(若默认自变量)或指定表文件中的记录指针是否指向文件尾,若是,则返回逻辑真(.T.),否则为逻辑假(.F.)。若在指定工作区上没有打开表文件,则函数返回逻辑假(.F.),若表文件中不包含任何记录,则函数返回逻辑真(.T.)。

6表文件首测试函数

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

功能:测试当前表义件(若默认自变量)或指定表文件中的记录指针是否指向文件首,若是,则返回逻辑真(.T.),否则为逻辑假(.F.)(若在指定工作区上没有打开表文件,则函数返回逻辑假(.F.),若表文件中不包含任何记录,则函数返回逻辑真(.T.)。

7记录号测试函数

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

功能:返回当前表文件(若默认自变量)或指定表文件中当前记录的记录号。如果指定工作区上没有打开表文件,则函数值为0;如果记录指针指向文件尾,则函数值为表文件中的记录数加1;如果记录指针指向文件首,则函数值为表文件中第一条记录的记录号。

8记录个数测试函数

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

功能:返回当前表文件(若默认自变量)或指定表文件中的记录个数。如果指定工作区上没有打开表文件,则函数值为0,RECCOUNT)函数不受删除标记及SET DELETED设置的影响,同样测试表中所有的记录个数。

9条件测试函数

格式:IIF(<逻辑表达式>,<表达式1>,<表达式2>)

功能:测试<逻辑表达式>的值,若为逻辑真(.T.),则函数返回<表达式1>的值,否则返回<表达式2>的值<表达式1>和<表达式2>的类型可以不相同。

10记录删除测试函数

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

功能:测试当前表文件(若默认自变量)或指定表文件中,记录指针所指的当前记录是否有删除标记“*”。若有,则为真,否则为假。

全国计算机等级考试二级VF考点分析之VF数据库及其操作(第四章)4.1 Visual FoxPro数据库及其建立 考点1 建立和使用数据库

1数据库的建立

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

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

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

CREATE DATABASE[DatabaseName |?]

2数据库的打开

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

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

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

OPEN DATABASE[FileName |?][EXCLUSIVE I SHARED] [NOUPDATE] [VALIDATE] 考点2 修改和删除数据库

Visual FoxPro在建立数据库时建立了扩展名分别为dbc、dct和dcx的3个文件,用户不能直接修改这些文件。

Visual FoxPro中修改数据库实际是打开数据库设计器,完成数据库中各种对象的建立、修改和删除等操作。

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

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

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

(3)使用命令打开数据库设计器,格式为: MODIFY DATABASE[DatabaseName|?]

在项目管理器中不管删除还是移去数据库文件,都不会删除其所包含的各个对象做口数据表)。如果要在删除数据库的同时删除其所包含的数据表,就必须使用命令,格式为: DELETE DATABASE DatabaseName|?[DELETETABLES][RECYCLE] 小提示:

在Visual FoxPro中,Open DataBase和Modify DataBase命令的区别在于:Open DataBase打开的只是数据库的工作环境,并不会进入数据库设计器;Modify DataBase是打开数据库设计器。

4.2 建立数据库表 考点3 在数据库中建立表

在数据库中建立数据表,最直接的方法就是在数据库设计器中利用鼠标右键单击空白处,选择“新建表”命令,在弹出的表设计器中设置数据表结构。另外可以在命令窗口利用OPEN DATA命令先打开数据库,然后利用CREATE命令打开表设计器进行数据表设计,如图4-l所示。

图4-1 表设计器

1字段名

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

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

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

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

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

2字段类型和宽度

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

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

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

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

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

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

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

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

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

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

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

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

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

3空值

一个字段是否允许为空值与实际应用有关,比如作为关键字的字段是不允许为空值的,而那些在插入记录时允许暂缺的字段值往往允许为空值。

4字段有效性组框

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

5显示组框

在显示组框下可以定义字段显示的格式、输入的掩码和字段的标题。输入掩码是字段的一种属性,用限制或控制用户输入的格式。标题用于字段显示时的标题,如果不指定标题则显示字段名。当字段名是英文或缩写时,则通过指定标题可以使界面更友好。

6字段注释

可以为每个字段添加注释,便于日后或其他人对数据库进行维护。考点4 修改表结构

在Visual FoxPro中可以对表结构任意修改,修改表结构和建立表结构时,表设计器界面完全一样。修改数据表结构时,首先应该用USE命令打开要修改的数据表,然后利用MODIFY STRUCTURE打开表设计器进行修改,具体操作有以下几种。

(1)修改已有字段。

(2)添加新字段。

(3)删除不用的字段。4.3 表的基本操作 考点5 使用浏览器操作表

在交互式工作方式下,最简单、方便的方法就是使用BROWSE浏览器浏览表,打开浏览器的方法有多种。在项目管理器中将数据库展开至表,然后单击“浏览”按钮,或直接在窗口中输入BROWSE命令(首先应该打开表文件)。

1浏览器操作

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

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

(3)下一页(PageDown键)。

(4)上一页(PageUp键)。

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

(6)前一字段(Shift+Tab键)。

2修改记录

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

3删除记录

Visual FoxPro中删除记录有逻辑删除和物理删除两种,逻辑删除只在记录旁做删除标记(如图4-2所示),必要时可以进行恢复物理删除是在逻辑删除的基础上真正地将记录从表中删除。要在浏览器中删除有删除标记的记录,可选择“表/彻底删除”菜单命令。

图4-2 增加和删除记录

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

1增加记录

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

格式1:APPEND

格式2:APPEND BLANK

2插入记录

格式:INSERT [BEFORE][BLANK]

3删除记录

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

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

格式:DELETE [FOR lExpressionl]

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

(2)恢复记录的命令。

格式:RECALL [FOR lExpressionl]

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

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

格式:PACK

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

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

格式:ZAP

说明:不管表中记录是否带有删除标记,此命令可以一次性将当前表中的记录全部物理删除,但表结构仍保留使用此命令相当于DELETE ALL与 PACK的连用。

4修改记录

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

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

(2)用REPLACE命令直接修改。

5显示记录

格式:LIST/DISPLAY [[FIELDS]FieldList][FOR LExpressionl][OFF] [TO PRINTER[PROMPT]|TO FILE FileName] 考点7 查询定位的命令

(1)用GOTO命令直接定位

(2)SKIP命令

(3)用LOCATE命令定位。

LOCATE命令是按条件定位记录位置,格式为: LOCATE FOR IExpressionl LOCATE命令常用结构如下。LOCATE FOR IExpression1 DO WHILE FOUND()****处理数据*** CONTINUE ENDDO 小提示:

连续使用DELETE ALL和PACK命令,其操作结果与ZAP命令一样,都可以将表中的所有记录一次性物理删除。4.4 索引与排序 考点8 索引的基本概念

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

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

(2)候选索引:具有与主索引相同的性质和功能,但一个表中可以创建多个候选索引,其指定的字段或表达式中也不允许出现重复值。

(3)唯一索引:它的“唯一性”是指索引项的唯一,而不是字段值的唯一。但在使用该索引时,重复的索引段值只有唯一一个值出现在索引项中。

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

1单项索引

在表设计器界面中有“字段”、“索引”和“表”3个选项卡,在“字段”选项卡中定义字段时就可以直接指定某些字段是否为索引项,用鼠标单击定义索引的下拉列表框可以看到3个选项:无、升序和降序(默认是无)。如果选定升序或降序,则在对应的字段上建立一个普通索引,索引名与字段名同名,索引表达式就是对应的字段。

2复合字段索引

(1)在“索引”选项卡中的索引名栏目中输入索引名。

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

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

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

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

3使用命令建立索引

格式:INDEX ON eExpression TO IDXFileName | TAG TagName[OF CDXFileName] [FOR lExpression][COMPACT] [ASCENDING | DESCENDING] [UNIQUE | CANDIDATE] [ADDITIVE]

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

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

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

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

结构复合索引文件可随表的打开而打开,在同一个索引文件中能包含多个索引方案或索引关键字,在添加、更改或删除记录时自动维护索引。考点10 索引的使用

(l)打开索引文件,格式为: SET INDEX TO Indexfilelist

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

SET ORDER TO[nIndexNumber |[TAG]TagName][ASCENDING|DESCENDING]

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

SEEK eExpression[ORDER nIndexNumber|[TAG]TagName][ASCENDING| DESCENDING]

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

DELETE TAG TagNamel &&TagName1为索引名

要删除全部索引,可使用命令:DELETE TAG ALL 考点11 排序

索引可以使用户按照某种顺序浏览或查找表中的记录,这种顺序是逻辑的,如要对表中的记录按物理顺序重新排列,可使用SORT命令,格式为:

SORT TO TableName ON FieldNainel[/A}/D][/C][,FieldName2[/A|/D][/C]„][ASCEND ING | DESCENDING][FOR lExpressionl][FIELDS FieldNameList] 小提示:

在数据库表中只能有一个主索引,且只能在表设计器中建立。其他3种索引可以建立多个,既能在表设计器中建立,也能以命令方式建立,但在自由表中不能为其创建主索引,只能创建后3种索引,同样也可以建立多个。4.5 数据完整性

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

(1)实体完整性是保证表中记录唯一的特性,即在同一个表中不允许有重复的记录出现。在Visual Pro中通过主索引和候选索引来保证数据的实体完整性。

(2)如果一个字段的值或几个字段的值能够唯一标志表中的一条记录,则称这个字段为候选关键字。在Visual FoxPro中将主关键字称做主索引,将候选关键字称为候选索引。考点13 参照完整性与表之间的关联

1建立表之间的联系

参照完整性与表之间的联系有关,其含义大致是:当插入、删除或修改一个表中的数据时,通过参照引用相互关联的另一个表中的数据,检查对表的数据操作是否正确。

在数据库设计器中设计表之间的联系时,要在父表中建立主索引,在子表中建立普通索引,然后通过父表主索引和子表的普通索引建立起两个表之间的联系。

2设置参照完整性约束

建立参照完整性之前,首先必须清理数据库,即物理删除表中被逻辑删除的记录,然后选择两个关联表之间的连线并选择“数据库”、“编辑参照完整性”菜单命令,打开如图4-4所示的“参照完整性生成器”对话框。

图4-4 “参照完整性生成器”对话框 小提示:

欲建立两表之间的联系,首先用鼠标选中一个表的主索引,按住鼠标左键不放,并拖动鼠标到另一个表的索引上,这时鼠标箭头变成小矩形状,最后释放鼠标。4.6 自由表

考点14 数据库表与自由表

自由表是不属于任何数据库的表。在没有打开数据库时,所建立的表就是自由表。数据库表与自由表之间可以相互转化。

1建立自由表的方法

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

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

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

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

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

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

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

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

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

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

(7)支持INSERT,UPDATE和DELETE事件的触发器。考点15 将自由表添加到数据库中

(1)在数据库设计器中可利用“数据库”→“添加表”菜单命令,在“打开”对话框中选择自由表文件,将其添加到数据库中。

(2)直接用命令方式将自由表添加到当前数据库中,格式为: ADD TABLE TableName|?[NAME LongTableName] 考点16 从数据库中移出表

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

REMOVE TABLE TableName |?[DELETE][RECYCLE]

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

(3)从数据库设计器中移出数据库。4.7 多个表的同时使用

在Visual FoxPro中,一次可以打开多个数据库,每个数据库都可以打开多个数据表。考点17 多工作区的概念

指定工作区的命令格式为SELECT nWorkArea | cTableAlias,每个表打开后都有两个默认别名,一个是表的自身名,另一个是工作区所对应的别名。在前10个工作区中指定的默认别名是工作区字母A~J,其后面的工作区所对应的别名为W11~W32767。

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

例如:USE学生表IN 1 ALIAS student,为学生表指定了别名student。考点18 使用不同工作区的表

除了使用SELECT命令切换不同的工作区之外,也可以在一个工作区使用其他工作区的数据表。即通过短语:IN nWorkArea|cTableAlias。在表别名后加上“.”或“->”操作符,可在一个工作区中直接调用其他工作区中数据表的记录。例如当前工作区号为2,要调用1区上学生表中的班级号的相关字段,可使用命令:

学生表.班级号 或学生表->班级号或A.班级号或A->班级号 考点19 表之间的关联

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

格式:SET RELATION TO eExpressionl INTO nWorkAreal I cTableAliasl。

说明:eExpressionl是指建立临时联系的索引关键字,一般是父表的主索引,子表的普通索引。用工作区号 nWorkAreal或表的别名cTableAlias I说明临时联系是由当前工作区的表到哪个表。

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

全国计算机等级考试二级VF考点分析之关系数据库标准语言SQL 5.1 SQL概述 考点1 概述

1概念

SQL是结构化查询语言Structured Query Language的缩写。它包括数据查询、数据定义、数据操纵和数据控制4部分。Visual FoxPro在SQL方面支持数据定义、数据查询和数据操纵功能。另外,由于Visual FoxPro自身在安全控制方面的缺陷,所以它没有提供数据控制功能。

SQL语言的特点

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

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

(3)语言非常简洁。

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

SQL的核心是查询,基本形式由SELECT-FROM-WHERE查询块组成,多个查询块可嵌套执行,如表5-1所示。

表5-1 SQL命令动词

考点2 简单查询

1简单查询

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

2简单的连接查询

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

3嵌套查询

嵌套查询所要求的结果出自一个关系,但关系的条件却涉及多个关系。其内层基本上也是一个SELECT-FROM-WHERE查询语句。这种简单嵌套查询,可使用谓词IN或NOT IN来判断在外层的查询条件中是否包含内层查询的结果。考点3 特殊运算符号

BETWEEN„AND„

含义:该查询的条件是在„„范围之内,相当于用AND连接的一个逻辑表达式。

LIKE

含义:它是一个字符串匹配运算符,与之搭配使用的通配符包括“*”和“?”。考点4 排序

使用SQL SELECT可以将查询结果进行排序,排序的短语是ORDER BY。

格式:ORDER BY Order_Item[ASCIDESC][,Order_Item[ASC|DESC]„]

说明:可以按升序(ASC)或降序(DESC)排序,允许按一列或多列排序。考点5 计算查询

1简单的计算查询

SQL不仅具有一般的检索能力,而且还有计算方式的检索,用于计算检索的函数有:COUNT(计数)、SUM(求和)、AVG(计算平均值)、MAX(求最大值)及MIN(求最小值)。

2分组与计算查询

在SQL SELECT中可以利用GROUP BY子句进行分组计算查询。

格式:GROUP BY GroupColumn[,GroupColumn„][HAVING FilterCondition]

说明:可以按一列或多列分组,还可以用HAVING子句进一步限定分组的条件。它必须跟在GROUP BY子句之后,不可单独使用,与WHERE子句并不矛盾。考点6 别名和自连接查询

(1)SQL语句允许在二OM短语中为关系定义别名,格式为:一 <关系名><别名>

(2)SQL不仅可以对多个关系进行连接操作,也可以将同一关系与其自身进行连接,这种连接就称为自连接。在关系的自连接操作中,别名是必不可少的。考点7 使用量词和谓词的查询

与嵌套查询或子查询有关的运算符,除了IN和NOT IN运算符外,还有两类与子查询有关的运算符,它们有以下两种格式。

(1)<表达式><比较运算符>[ANY I ALL | SOME](子查询)

(2)[NOT]EXISTS(子查询)

EXISTS是谓词,EXISTS或NOT EXISTS是用来检查在子查询中是否有结果返回,即存在元组或不存在元组。其本身并没有进行任何运算或比较,只用来返回子查询结果。考点8 超链接查询

(1)在新的SQL标准中支持两个新的关系连接运算符,这两个新的连接运算是左连接(*=)和右连接=*):首先保证一个表中满足条件的元组都在结果表中,然后将满足连接条件的元组与另一个表的元组进行连接,不满足连接条件的则应将来自另一个表的属性值置为空值。在一般SQL中超链接运算符是“*=”(左连接)和“=*”(右连接)。

(2)在Visual FoxPro中不支持超链接运算符“*=”和“=*”,Visual FoxPro有专门的连接运算。下面拼出SQL中超链接的部分语句格式:

SELECT„ FROM Table INNER|LEFT|RIGHT|FULL JOIN Table ON JoinCondition WHERE„

考点9 Visual FoxPro中SQL SELECT的几个特殊选项

(l)显示部分结果,格式为: TOP nExpr[PERCENT]

(2)将查询结果存放到数组中,格式为: INTO ARRAY ArrayName

(3)将查询结果存放到临时文件中,格式为: INTO CURSOR CursorName

(4)将查询结果存放到永久表中,格式为: INTO DBF|TABLE TableName

(5)将查询结果存放到文本文件中,格式为: TO FILE FileName[ADDITIVE]

(6)将查询结果直接输出到打印机,格式为: TO PRINTER[PROMPT] 5.3 操作功能 考点10 插入

Visual FoxPro支持两种SQL插入命令的格式,一种是标准格式,另一种是特殊格式。

1标准格式

INSERT INTO dbf name[(frame 1[,fname2,„])] VALUES(eExpressionl[,eExpression2,„])

2特殊格式

INSERT INTO dbf _name FROM ARRAY ArrayName|FROM MEMVAR 考点11 更新

SQL的数据更新命令格式如下: UPDATE TableName

SET Column_Namel=eEpressionl[,Column_Name2=eExpression2„] WHERE Condition

说明:利用WHERE字句指定条件,以更新满足条件的一些记录的字段值,并巨一次可更新多个字段;如果不使用WHERE子句,则更新全部记录。考点12 删除

SQL从表中删除数据的命令格式如下: DELETE FROM TableName[WHERE Condition]

说明:FROM指定从哪个表中删除记录,WHERE指定被删除的记录所满足的条件,如果不使用WHERE子句,则删除该表中的全部记录。小提示:

当一个表定义一个主索引或候选索引后,由于相应的字段具有关键字的特性,即不能为空,所以只能用此命令插入记录、)APPEND和INSERT都是插入一条空白记录再输入各字段的值,故不能用它们来插入记录。5.4 定义功能 考点13 表的定义

利用SQL命令建立的数据表同样可以完成在表设计器中设计表的所有功能。

格式:CREATE TABLE I DBF TableNamel[NAME LongTableName][FREE](FieldNarnel FieldType[(nFieldWidth[,nPrecision])][NULL |NOT NULL] [CHECK IExpressionl [ERROR cMessageTextl]] [DEFAULT eExpressionl] [PRIMARY KEY I UNIQUE] [PEFERENCES TableName2[AG TagName1]] [NOCPTRANS] [,FieldName2„]

[,PRIMARY KEY eEpression2 TAG TagName2|,UNIQUE eExpression3 TAG TagName3] [,FOREIGN KEY eExpression4 TagName4[NODUP] REFERENCES TableName3 [TAG TagName5]] [,CHECK lExpression2[ERROR cMessageText2]])|FROM ARRAY ArravNasne

说明:此命令除了建立表的基本功能外,还包括满足实体完整性的主关键字(主索引)PRIMARY KEY、定义域完整性的CHECK约束及出错提示信息ERROR、定义默认值DEFAULT等,另外还有描述表之间联系的FOREIGN KEY和REFERENCES等。考点14 表的删除

利用SQL命令删除表,可直接使用语句,格式为: DROP TABLE Table_name

说明:如果删除的是自由表,则应该将当前打开的数据库先关闭,才能进行删除。如果删除数据库表,则要先打开数据库,在数据库中进行操作二否则,即使删除了数据库表,但记录在数据库中的信息并没有被删除,此后会出现错误提示。考点15 表结构的修改

修改表结构的命令是ALTER TABLE,该命令有3种格式。

(1)ALTER TABLE TableNamel ADD| ALTER[COLUMN]FieldNamel FieldTvpe[(nFieldWidth[,nPrecision])][NULL |NOT NULL] [CHECK lExpressionl[ERROR cMessageTextl ]][DEFAULT eExpressionl] [PRIMARY KEY |UNIQUE] [REFERENCES TableName2[TAG TagNamel〕]

(2)ALTER TABLE TableNamel ALTER[COLUMN]FieldName2[NULL|NOT NULL] [SET EFAULTeExpression2][SET CHECK lExpression2[ERROR cMessageText2] [DROP DEFAULT][DROP CHECK]

(3)ALTER TABLE TableName1[DROP [COLUMN]FieldName3] [SET CHECK lExpression3[ERROR cMessageText3] [DROP CHECK] [ADD PRIMARY KEY eExpression3 TAG TagName2[FOR lExpression4]] [DROP PRIMARY KEY〕

[ADD UNIQUE eExpression4[TAG TagName3[FOR lExpression5]]] [DROP UNIQUE TAG TagName4] [ADD FOREIGN KEY[eExpression5] TAG TagName4[FOR lExpression6] REFERENCES TableName2[TAG TagName5]] [DROP FOREIGN KEY TAG TagName6[SAVE]] [RENAME COLUMN FieldName4 TO FieldName5] 考点16 视图的定义

1视图的概念及其定义

(l)视图的概念。

Visual FoxPro中视图是一个虚拟的表,可以是本地的、远程的或带参数的。

(2)视图的定义,格式为:

CREATE VIEW view name[(column_name[,column_name]„)] AS select_statement

2从单个表派生出来的视图

视图一经定义,就可以和基本表一样进行各种查询,也可以进行一些修改操作。对于最终用户来说,有时并不需要知道操作的是基本表还是视图。

3从多个表派生出来的视图

视图一方面可以限定对数据的访问,另一方面又可以简化对数据的访问。

4视图的删除

视图由于是从表派生出来的,所以不存在修改结构的问题,但是视图可以删除。

格式:DROP VIEW<视图名>

5关于视图的说明

在关系数据库中,视图始终不真正含有数据,它总是原有表的一个窗口。所以,虽然视图可以像表一样进行各种查询,但是插入、更新和删除操作在视图上却有一定限制。在一般情况下,当一个视图是由单个表导出时可以进行插入和更新操作,但不能进行删除操作;当视图是从多个表导出时,插入、更新和删除操作都不允许进行。这种限制是很有必要的,它可以避免一些潜在问题的发生。

全国计算机等级考试二级VF考点分析之查询与视图(第六章)

6.1 查询 考点1 查询设计器

1查询的概念

查询是从指定的表或视图中提取满足条件的记录,然后按照想得到的输出类型定向输出查询结果。查询以扩展名为QPR的文件保存在磁盘上的,这是一个文本文件,它的主体是SQL SELECT语句。

2查询的建立

建立查询可以使用“查询设计器”,但它的基础是SQL SELECT语句。建立查询的方法有以下几个方面。

(l)可以利用CREATE QUERY命令打开查询设计器建立查询。

(2)可以利用“新建”对话框打开查询设计器建立查询。

(3)可以在项目管理器的“数据”选项卡中打开查询设计器建立查询。

(4)可直接编辑QPR文件建立查询。

建立查询时,首先进入如图6-1所示的界面选择用于建立查询的表或视图,选择表或视图后,单击“添加”按钮。最后单击“关闭”按钮,进入如图6-2所示的查询设计器界面。

图6-1 为查询选择表或视图

查询设计器中的各选项卡和SQL SELECT语句的各短语是相对应的,对应关系如下。

“字段”――SELECT短语,用于指定要查询的数据

“连接”――JOIN ON短语,用于编辑连接条件。

“筛选”――WHERE短语,用于指定查询条件。

“排序依据”――ORDER BY短语,用于指定排序字段和排序方式。

“分组依据”――GROUP BY短语和HAVING短语,用于分组。

图6-2 查询设计器

3查询的运行

运行查询有下列两种方法。

(1)可以在项口管理器的“数据”选项卡中,展开“查询”选项,然后选择要运行的查询文件,单击“运行”按钮,可查看查询结果。

(2)在命令窗门执行命令DO QueryFile。

注意:此处的查询文件名是全名,包括扩展名QPR。

4查询去向

设计查询的目的不只是完成一种查询功能,在查询设计器中可以根据需要为查询输出定位查询去向。通过“查询”菜单卜的“查询去向”,或在“查询设计器”工具栏中单击“查询去向”按钮。“查询去向”对话框如图6-3所示

图6-3 “查询去向”对话框

各去向的含义如下。

(1)浏览:在“浏览"(BROWSE)窗口中显示查询结果,这是默认的输出去向。

(2)临时表:将查询结果存储于一个命名的临时只读表中。

(3)表:将结果保存在一个命名的数据表文件中。

(4)图形:查询结果可以用于Microsoft Graph。

(5)屏幕:在Visual FoxPro主窗口或当前活动输出窗口中显示查询结果。

(6)报表:将结果输出到一个报表文件。

(7)标签:将结果输出到一个标签文件。小提示:

在7种输出去向中,只有“浏览”和“屏幕”两种输出去向才能直接看到查询结果。6.2 视图

考点2 视图的概念与建立

1视图的概念

视图是操作表的一种手段,通过视图可以查询表,也可以更新表。视图是根据表定义的,因此视图基于表,而视图可以使应用更灵活,因此它又超越表。视图是数据库中的一个特有功能,只有在包含视图的数据库打开时才能使用。

视图兼有“表”和“查询”的特点,与查询相类似的地方是可以用来从一个或多个相关联的表中提取有用信息;与表类似的地方是可以用来更新其中的信息,并将结果永久性保存在磁盘上。

2视图的建立

(l)用CREATE VIEW命令打开视图设计器建立视图。

(2)利用“新建”对话框打开视图设计器建立视图。

(3)在项目管理器的“数据”选项卡中打开视图设计器建立视图。

(4)利用SQL命令CREATE VIEW...AS...建立视图。

3视图设计象

视图设计器(如图6一所示)与查询设计器基本上一样,主要有以下几点不同。

(1)视图的结果保存在数据库中,在磁盘上找不到类似的文件。

(2)视图可以用来更新数据,因此在设计器中多了一个“更新条件”选项卡。

(3)在视图中没有“查询去向”的问题。

图6-4 视图设计器 考点3 远程视图与连接

为了建立远程视图,必须首先建立连接远程数据库的“连接”,“连接”是Visual FoxPro数据库中的一种对象。

1定义数据源和连接

数据源一般是ODBC数据源,开放数据库互连ODBC是一种连接数据库的通用标准。为了定义ODBC数据源,必须首先安装ODBC驱动程序。

2建立连接

建立连接的方法有以下几种。

(1)用CREATE CONNECTION命令打开“连接设计器”,或完全用命令方式建立连接。

(2)通过“新建”对话框建立连接。

(3)在项目管理器的“数据”选项卡中建立连接。

3设计远程视图

利用数据源或连接建立的远程视图的SQL语法要符合远程数据库的语法,例如,SQL Server的语法和Visual FoxPro的语法就有所区别。考点4 视图与数据更新

视图是根据基本表派生出来的,所以把它叫做虚拟表为了通过视图能够更新基本表中的数据,需要在视图设计器的“更新条件”选项卡中的左下角选中“发送SQL更新”复选框。

1指定可更新的表

如果视图是基于多个表的,默认可以更新“全部表”的相关字段,如果要指定只能更新某个表的数据,则可以通过“表”下拉列表框选择表

2指定可更新的字段

在“字段名”列表框中列出了与更新有关的字段,在字段名左侧有两列标志,“钥匙”表示关键字,“铅笔”表示更新通过单击相应列可以改变相关的状态,默认可以更新所有非关键字字段,并且通过基本表的关键字完成更新,即Visual FoxPro用这些关键字字段来唯一标识那些已在视图中修改过的基本表中的记录建议不要改变关键字的状态,不要试图通过视图来更新基本表中的关键字字段值,如有必要,可以指定更新非关键字字段值

3检查更新的合法性

如图6-1所示,“SQL WHERE子句包括”框中的选项决定哪些字段包含在UPDATE或DELETE语句的WHERE子句中,Visual FoxPro正是利用这些语句将在视图中修改或删除的记录发送到远程数据源或基本表中,WHERE子句就是用来检查自从提取记录用于视图中后,服务器上的数据是否已经改变。

“SQL WHERE子句包括”框中各选项的含义如下。

(l)关键字段:当基本表中的关键字字段被改变时,更新失败。

(2)关键字和可更新字段:当基本表中任何标记为可更新的字段被改变时,更新失败。

(3)关键字和已修改字段:当在视图中改变的任一字段的值在基本表中已被改变时,更新失败。

(4)关键字和时间戳:当远程表上记录的时间戳在首次检索之后被改变时,更新失败。

4使用更新方式

“使用更新”框的选项决定当向基本表发送SQL更新时的更新方式。

(1)SQL DELETE然后INSERT:先用SQL DELETE命令删除基本表中被更新的旧记录,再用SQL INSERT命令向基本表中插入更新后的记录。

(2)SQL UPDATE:使用SQL UPDATE命令更新基本表。考点5 使用视图

视图建立后,不但可以用它来显示和更新数据,而且可以通过调整它的属性来提高性能,它的使用类似于表。

1视图操作

(1)在数据库中使用USE命令打开或关闭视图。

(2)在“浏览器”窗口中显示或修改视图中的记录。

(3)使用SQL语句操作视图。

(4)在文本框、表格控件、表单或报表中使用视图作为数据源。

2使用视图

视图一经建立就基本可以像基本表一样使用,适用于基本表的命令基本都可以用于视图。比如在视图上也可以建立索引,此索引当然是临时的,视图一关闭,索引自动删除,多工作区时也可以建立联系等。但视图不可以用MODIFY STRUCTURE命令修改结构。因为视图毕竟不是独立存在的基本表,它是由基本表派生出来的,只能修改视图的定义。

小提示:

查询与视图的区别是:查询可以定义输出去向,可以将查询的结果灵活地应用于表单、报表、图形等各种场合,但是利用查询不可以修改数据;而利用视图可以修改数据,可以利用SQL将对视图的修改发送到基本表,特别是对于远程表的操作,利用视图是非常有效的。

全国计算机等级考试二级VF考点分析之程序设计基础(第七章)7.l 程序与程序文件

考点1 程序的概念、建立与执行

1程序的概念

程序是能够完成一定任务的命令集合。这组命令被存放在称为程序文件或命令文件的文本文件中。当运行程序时,系统会按照一定的次序自动执行包含在程序文件中的命令。

2程序文件的建立与修改

程序文件的建立与修改一般是通过调用系统内置的文本编辑器来进行的。其建立步骤如下。

(l)打开文本编辑窗口。

(2)在文本编辑窗口中输入程序内容,此处所输入的程序命令不会马上被执行。

(3)编辑完成后,从“文件”菜单中选择“保存”命令或按快捷键Ctrl+W保存程序文件。

3打开或修改程序文件的方法

(1)从“文件”菜单中选择“打开”命令,弹出“打开”对话框。

(2)在“文件类型”列表框中选择“程序”。

(3)在文件列表框中选定要修改的文件,并单击“确定”按钮。

(4)编辑修改后,从“文件”菜单中选择“保存”命令或按快捷键Ctrl+W保存程序文件,若要放弃修改,可直接按Esc键,或从“文件”菜单中选择“还原”命令。

4程序文件的执行

程序文件建立后,可使用多种方式、多次执行它,常用的以下有两种方式。

(l)菜单方式。

(2)命令方式。考点2 简单的输入输出命令

程序一般都包含数据输入、数据处理和数据输出3个部分。

INPUT命令

格式:INPUT[<字符表达式>]TO<内存变量>

功能:该命令等待用户从键盘输入数据,当用户回车后,系统将表达式的值存入指定的内存变量。

注释:输入的数据可以是常量、变量,也可以是更为一般的表达式。但不能不输入任何内容直接按回车键输入字符串时必须加定界符,输入逻辑型常量时要用圆点定界(如.T.,.F.),则输入日期时间型常量时要用大括号(如{^2001-03-01})。

ACCEPT命令

格式:ACCEPT[<字符表达式>]TO<内存变量>

功能:该命令等待用户从键盘输入字符串,当用户回车后,系统将表达式的值存入指定的内存变量。

注释:该命令只能接收字符串。用户在输入字符串时不需要加定界符;否则,系统会把定界符作为字符串本身的一部分。如果不输入任何内容而直接按回车键,系统会把空串赋给指定的内存变量。

WAIT命令

格式:WAIT[<字符表达式>][TO<内存变量>][WINDOW[AT<行>,<列>]] [NOWAIT][CLEARINOCLEAR][TIMEOUT<数值表达式>]

功能:该命令显示字符表达式的值作为提示信息,暂停程序的执行,直到用户按任意键或单击鼠标时继续程序运行。

注释:<内存变量>用来保存用户输入的字符,其类型为字符型。若用户按的是Enter键或单击了鼠标,那么<内存变量>中保存的将是空串若不选TO <内存变量>短语,则输入的单字符不保留。小提示:

如果用DO命令执行查询文件、菜单文件,在文件名中必须要包括扩展名(QPR、MPR)。7.2 程序的基本结构

程序结构是指程序中命令或语句执行的流程结构,包括3种基本结构:顺序结构、选择结构和循环结构。考点3 顺序结构

顺序结构是最简单的程序结构,它是按命令在程序中出现的先后次序依次执行。考点4 选择结构

支持选择结构的语句包括条件语句和分支语句。

1条件语句

格式: IF<条件> <语句序列1> [ELSE> <语句序列2>] ENDIF

功能:该语句根据<条件>是否成立从两组代码中选择一组执行。

语句的执行流程图如图7-1和图7-2所示。

图7-1有ELSE的选择语句

图7-2无ELSE的选择语句

2分支语句

格式:DO CASE CASE<条件1> <语句序列1> CASE<条件2> <语句序列2> „„

CASE<条件n> <语句序列n> [OTHERWISE <语句序列>] ENDCASE

功能:语句执行时,依次判断CASE后面的条件是否成立。分支语句实现的是一种扩展的选择结构,可以根据条件从多组代码中选择一组执行。分支语句的流程如图7-3所示。

图7-3 多分支语句 考点5 循环结构

循环结构也称为重复结构,是指程序在执行的过程中,其中的某段代码被重复执行若一干珠。被重复执行的代码段,通常称为循环体。Visual FoxPro支持循环结构的语句包括:DO WHILE-ENDDO、FOR-ENDFOR和SCAN-ENDSCAN。

DO WHILEENDFOR语句 格式:

FOR<循环变量>=<初值>TO<终值>[STEP<步长>] <循环体> ENDFOR

功能:首先将初值赋给循环变量,然后判断循环条件是否成立(若步长为正值,则循环条件为<循环变量><=<终值>;若步长为负值,则循环条件为<循环变量>>=<终值>)。如果成立,则执行循环体,然后循环变量增加一个步长值,并再次判断循环条件,一直到条件为假时,退出循环体。该语句通常用于实现循环次数已知情况下的循环结构〕

SCAN-ENDSCAN语句

格式:

SCAN[<范围>][FOR<条件1>][WHERE<条件2>] <循环体> ENDSCAN

功能:该循环语句一般用于处理表中记录,语句可指明需要处理的记录范围及应满足的条件。执行该语句时,记录指针自动、依次地在当前表的指定范围内满足条件的记录上移动,对每一条记录执行循环体内的命令。

7.3 多模块程序

模块是一个相对独立的程序段,它可以被其他模块调用,也可以调用其他模块。通常,把被其他模块调用的模块称为子程序,把调用其他模块而没有被其他模块调用的模块称为主程序。应用程序一般都是多模块程序,包含多个程序模块。考点6 模块的定义和调用

1模块的定义

在Visual FoxPro中,模块可以是命令文件,也可以是过程。过程定义的语句格式为: PROCEDURE|FUNCTION<过程名> <命令序列> [RETURN[<表达式>]] [ENDPROCIENDFUNC]

功能说明如下。

(1)PROCEDURE|FUNCTION命令表示一个过程的开始,并命名过程。过程名必须以字母或下划线开头,可以包含数字、字母和下划线。

(2)当程序执行到RETURN命令时,控制将转回到调用处(或命令窗口),并返回表达式的值。若默认RETURN命令,系统将在过程结束处自动调用一条隐含的RETURN命令。

(3)ENDPROC|ENDFUNC命令表示一个过程的结束。如果默认此语句,那么过程结束于下一条PROCEDURE|FUNCTION命令或文件尾。

2模块的调用

模块调用的格式有两种。

(1)使用DO命令,格式如下。DO<文件名>|<过程名>

(2)在名字后加一对小括号,格式如下。<文件名>|<过程名>()

3打开过程文件

命令格式如下。

SET PROCEDURE TO[<过程文件1>[,<过程文件2>,„][ADDITIVE]

4关闭过程文件

命令格式如下。

RELEASE PROCEDURE<过程文件1>[,<过程文件2>,„] 考点7 参数传递

模块程序可以接收调用程序传递过来的参数。

(1)PARAMETERS<形参变量1>[,<形参变量2>,„]。

(2)LPARAMETERS<形参变量1>[,<形参变量2>,„]。

说明PARAMETERS声明的形参被看做是模块程序中建立的私有变量,LPARAMETERS声明的形参被看做是模块程序中建立的局部变量。除此之外,两条命令无其他区别。

不管是PARAMETERS或LPARAMETERS,都应该是模块程序的第一条可执行命令。

(1)调用参数调用模块程序参数的格式如下。

DO<文件名>|<过程名>WITH<实参1>[,<实参2>,„] <文件名>|<过程名>(<实参1>[,<实参2>,„])

说明:实参可以是常量、变量或一般表达式,调用模块程序时,形参的数目不能少于实参的数目,当形参数目多于实参数目时,多余的形参取初值逻辑假.F.。

(2)参数的传递。模块中参数的传递分为两种:按值传递(实参一般为常量和表达式)和引用传递(实参一般为变量)。参数的传递方式可以重新设置,格式如下。SET UDFPARMS TO VALUE|REFERENCE 考点8 变量的作用域

变量的一个重要属性是作用域。变量的作用域指的是变量在什么范围内是有效或能够被访问的。在Visual FoxPro中,可分为公共变量、私有变量和局部变量3类。

1.公共变量

在任何模块中都可使用的变量称为公共变量,公共变量必须先定义后使用,格式如下。PUBLIC<内存变量表>

说明:该命令是建立公共的内存变量,并赋以初值逻辑假.F.。建立好的公共变量一直有效,即使程序结束返回命令窗口也不会消失,只有执行CLEAR MEMORY,RELEASE或QUIT等命令后,才能被释放。

2私有变量

在程序中直接使用(没有预先声明),而由系统自动隐含建立的变量都是私有变量。

私有变量的作用域是建立它的模块及其下属的各层模块。

3局部变量

局部变量只能在建立它的模块中使用,不能在上层或下层模块中使用。程序结束时,自动释放局部变量。格式如下 LOCAL<内存变量表>

说明:该变量同样给建立的内存变量赋以初值逻辑假.F.,也必须先定义后使用。当子程序中定义的变量名与主程序中同名时,为避免子程序中的变量值改变主程序中的变量值,可在子程序中使用PRIVATE命令隐藏主程序中可能存在的变量,使这些变量在子程序中暂时无效。格式如下。

(1)PRIVATE<内存变量表>。

(2)PRIVATE ALL[LIKE<通配符>|EXCEPT<通配符>]。

说明:该命令并不建立内存变量,它只是隐藏指定的在上层模块中可能已经存在的内存变量,但是当模块程序返回到上层模块时,被隐藏的变量就自动恢复有效性,保持原值。7.4 程序调试 考点9 调试器环境

程序调试是指在发现程序有错误的情况下,确定出错位置并纠正错误。计算机一般能够发现程序的出错位置,但对于计算机不能发现的错误,只能由用户自己来查错。Visual FoxPro提供的功能强大的调试工具—调试器,可帮助我们进行这项工作。

调用调试器的方法一般有两种。

(l)选择“工具”菜单中的“调试器”命令。

(2)在命令窗口中输入DEBUG命令。考点10 设置断点

可以设置以下4种类型的断点。

(1)在定位处中断:可指定一行代码,当程序调试执行到该行时,中断程序运行。

(2)如果表达式值为真,则在定位处中断:指定一行代码及一个表达式,当程序调试执行到该行代码时,如果表达式值为真,就中断程序运行。

(3)当表达式值为真时中断:可以指定一个表达式,在程序调试执行过程中,当该表达式值为逻辑真.T.时,中断程序运行。

(4)当表达式值改变时中断:可以指定一个表达式,在程序调试执行过程中,当该表达式值改变时,中断程序运行。考点11 “调试”菜单

“调试”菜单包含执行程序、选择执行方式、终止程序执行、修改程序,以及调整程序执行速度等命令。各命令具体功能如下。

(1)运行:执行在跟踪窗口中打开的程序:

(2)继续执行:当程序被中断时,该命令可使程序在中断处继续往下执行。

(3)取消:终止程序的调试执行,并关闭程序。

(4)定位修改:终止程序的调试执行,然后在文本编辑窗口中打开调试程序。

(5)跳出:以连续方式而非单步方式继续执行被调用模块程序中的代码,然后在调用程序的调用语句的下一行处中断。

(6)单步:单步执行下一行代码。如果下一行代码调用了过程或者方法程序,那么该过程或者方法程序在后台执行。

(7)单步跟踪:单步执行下一行代码。

(8)运行到光标处:从当前位置执行代码直至光标处中断。

(9)调速:打开“调整运行速度”对话框,设置两代码行执行之间的延迟秒数。

(10)设置下一条语句:程序中断时选择该命令,可使光标所在行成为恢复执行后要执行的语句。

全国计算机等级考试二级VF考点分析之表单设计与应用(第八章)8.1 面向对象的概念 考点1 对象与类

1对象(Object)

客观世界里的任何实体都可以被视为对象。对象可以是具体事物,也可以指某些概念二

(1)属性:用来表示对象的状态。

(2)方法:用来描述对象的行为。

2类(Class)

类是对一类相似对象性质的描述。同类对象具有相同的性质:相同的属性及方法。考点2 子类与继承

篇2:全国计算机等级考试二级VF考点分析

6.1 查询

考点1 查询设计器

1查询的概念

查询是从指定的表或视图中提取满足条件的记录,然后按照想得到的输出类型定向输出查询结果。查询以扩展名为QPR的文件保存在磁盘上的,这是一个文本文件,它的主体是SQL SELECT语句。

2查询的建立

建立查询可以使用“查询设计器”,但它的基础是SQL SELECT语句。建立查询的方法有以下几个方面。

(l)可以利用CREATE QUERY命令打开查询设计器建立查询。

(2)可以利用“新建”对话框打开查询设计器建立查询。

(3)可以在项目管理器的“数据”选项卡中打开查询设计器建立查询。

(4)可直接编辑QPR文件建立查询。

建立查询时,首先进入如图6-1所示的界面选择用于建立查询的表或视图,选择表或视图后,单击“添加”按钮。最后单击“关闭”按钮,进入如图6-2所示的查询设计器界面。

图6-1 为查询选择表或视图

查询设计器中的各选项卡和SQL SELECT语句的各短语是相对应的,对应关系如下。

“字段”――SELECT短语,用于指定要查询的数据

“连接”――JOIN ON短语,用于编辑连接条件。

“筛选”――WHERE短语,用于指定查询条件。

“排序依据”――ORDER BY短语,用于指定排序字段和排序方式。

“分组依据”――GROUP BY短语和HAVING短语,用于分组。

图6-2 查询设计器

3查询的运行

运行查询有下列两种方法。

(1)可以在项口管理器的“数据”选项卡中,展开“查询”选项,然后选择要运行的查询文件,单击“运行”按钮,可查看查询结果。

(2)在命令窗门执行命令DO QueryFile。

注意:此处的查询文件名是全名,包括扩展名QPR。

4查询去向

设计查询的目的不只是完成一种查询功能,在查询设计器中可以根据需要为查询输出定位查询去向。通过“查询”菜单卜的“查询去向”,或在“查询设计器”工具栏中单击“查询去向”按钮。“查询去向”对话框如图6-3所示

图6-3 “查询去向”对话框

各去向的含义如下。

(1)浏览:在“浏览"(BROWSE)窗口中显示查询结果,这是默认的输出去向。

(2)临时表:将查询结果存储于一个命名的临时只读表中。

(3)表:将结果保存在一个命名的数据表文件中。

(4)图形:查询结果可以用于Microsoft Graph。

(5)屏幕:在Visual FoxPro主窗口或当前活动输出窗口中显示查询结果。

(6)报表:将结果输出到一个报表文件。

(7)标签:将结果输出到一个标签文件。小提示:

在7种输出去向中,只有“浏览”和“屏幕”两种输出去向才能直接看到查询结果。6.2 视图

考点2 视图的概念与建立

1视图的概念

视图是操作表的一种手段,通过视图可以查询表,也可以更新表。视图是根据表定义的,因此视图基于表,而视图可以使应用更灵活,因此它又超越表。视图是数据库中的一个特有功能,只有在包含视图的数据库打开时才能使用。

视图兼有“表”和“查询”的特点,与查询相类似的地方是可以用来从一个或多个相关联的表中提取有用信息;与表类似的地方是可以用来更新其中的信息,并将结果永久性保存在磁盘上。

2视图的建立

(l)用CREATE VIEW命令打开视图设计器建立视图。

(2)利用“新建”对话框打开视图设计器建立视图。

(3)在项目管理器的“数据”选项卡中打开视图设计器建立视图。

(4)利用SQL命令CREATE VIEW...AS...建立视图。

3视图设计象

视图设计器(如图6一所示)与查询设计器基本上一样,主要有以下几点不同。

(1)视图的结果保存在数据库中,在磁盘上找不到类似的文件。

(2)视图可以用来更新数据,因此在设计器中多了一个“更新条件”选项卡。

(3)在视图中没有“查询去向”的问题。

图6-4 视图设计器 考点3 远程视图与连接

为了建立远程视图,必须首先建立连接远程数据库的“连接”,“连接”是Visual FoxPro数据库中的一种对象。

1定义数据源和连接

数据源一般是ODBC数据源,开放数据库互连ODBC是一种连接数据库的通用标准。为了定义ODBC数据源,必须首先安装ODBC驱动程序。

2建立连接

建立连接的方法有以下几种。

(1)用CREATE CONNECTION命令打开“连接设计器”,或完全用命令方式建立连接。

(2)通过“新建”对话框建立连接。

(3)在项目管理器的“数据”选项卡中建立连接。

3设计远程视图

利用数据源或连接建立的远程视图的SQL语法要符合远程数据库的语法,例如,SQL Server的语法和Visual FoxPro的语法就有所区别。考点4 视图与数据更新

视图是根据基本表派生出来的,所以把它叫做虚拟表为了通过视图能够更新基本表中的数据,需要在视图设计器的“更新条件”选项卡中的左下角选中“发送SQL更新”复选框。

1指定可更新的表

如果视图是基于多个表的,默认可以更新“全部表”的相关字段,如果要指定只能更新某个表的数据,则可以通过“表”下拉列表框选择表 2指定可更新的字段

在“字段名”列表框中列出了与更新有关的字段,在字段名左侧有两列标志,“钥匙”表示关键字,“铅笔”表示更新通过单击相应列可以改变相关的状态,默认可以更新所有非关键字字段,并且通过基本表的关键字完成更新,即Visual FoxPro用这些关键字字段来唯一标识那些已在视图中修改过的基本表中的记录建议不要改变关键字的状态,不要试图通过视图来更新基本表中的关键字字段值,如有必要,可以指定更新非关键字字段值

3检查更新的合法性

如图6-1所示,“SQL WHERE子句包括”框中的选项决定哪些字段包含在UPDATE或DELETE语句的WHERE子句中,Visual FoxPro正是利用这些语句将在视图中修改或删除的记录发送到远程数据源或基本表中,WHERE子句就是用来检查自从提取记录用于视图中后,服务器上的数据是否已经改变。

“SQL WHERE子句包括”框中各选项的含义如下。

(l)关键字段:当基本表中的关键字字段被改变时,更新失败。

(2)关键字和可更新字段:当基本表中任何标记为可更新的字段被改变时,更新失败。

(3)关键字和已修改字段:当在视图中改变的任一字段的值在基本表中已被改变时,更新失败。

(4)关键字和时间戳:当远程表上记录的时间戳在首次检索之后被改变时,更新失败。

4使用更新方式

“使用更新”框的选项决定当向基本表发送SQL更新时的更新方式。

(1)SQL DELETE然后INSERT:先用SQL DELETE命令删除基本表中被更新的旧记录,再用SQL INSERT命令向基本表中插入更新后的记录。

(2)SQL UPDATE:使用SQL UPDATE命令更新基本表。

考点5 使用视图

视图建立后,不但可以用它来显示和更新数据,而且可以通过调整它的属性来提高性能,它的使用类似于表。

1视图操作

(1)在数据库中使用USE命令打开或关闭视图。

(2)在“浏览器”窗口中显示或修改视图中的记录。

(3)使用SQL语句操作视图。

(4)在文本框、表格控件、表单或报表中使用视图作为数据源。

2使用视图

视图一经建立就基本可以像基本表一样使用,适用于基本表的命令基本都可以用于视图。比如在视图上也可以建立索引,此索引当然是临时的,视图一关闭,索引自动删除,多工作区时也可以建立联系等。但视图不可以用MODIFY STRUCTURE命令修改结构。因为视图毕竟不是独立存在的基本表,它是由基本表派生出来的,只能修改视图的定义。

小提示:

篇3:全国计算机等级考试二级VF考点分析

关键词:全国计算机等级考试,Access考试,学习策略

通过对历年全国计算机二级的真题分析, 我们可以看出:较之VFP、C语言等二级课程, Access有着不可取代的优势。无论是在题型上, 还是考试所涉及的范围, Access都要容易得多, 它抛开了复杂的命令方式, 考试过程中极大减少对SQL语言编写查询语句的考核, 几乎所有的操作可以用鼠标来直接操作, 即所看即所得。在实际学习的过程中, 考生也觉得Access特别容易上手, 这一点继承了Microsoft一贯的软件人性化的风格。纵观Access过级, 大体可分为两个方向的难点:一是公共基础知识部分 (这部分占30分, 这是平时教学过程中课本未曾涉及的内容) , 二是Access VBA部分 (也就是我们常说的编程部分, 这部分通常在考试中占有高达28分左右) , 可以看出, 要想顺利通过Access二级考试, 关键是看对这两部分的知识掌握程度如何。

笔者下面简单谈一下学习策略。

一、考试要求

1. 打下一定的理论基础。

这里所谓的理论基础是指理论的基本概念、基本原理和基本知识点。在全国计算机等级考试中, 概念性的知识点比较多, 特别是公共基础知识部分。考生对这些理论基础知识应专门学习, 用心记忆。这一类型的题目一般都是教材中的原话, 以一些简单的题目出现。其实公共基础知识在整个考试当中不是丢分点, 反而是得分点, 很多考生之所以容易丢分, 就是因为没对这部分内容系统地学习和总结。考试之前, 考生可以买一本专门关于公共基础的教材, 系统复习。

2. 熟练的操作技能。

“二级”注重程序设计软件实际操作能力的培养, 要求考生运用所学理论知识解决实际问题, 这是对考生的基本要求。综观考核的整体布局, “二级”考核的主要内容就是一种程序设计软件的基本操作和综合应用。

3. 较强的综合运用能力。

所谓综合运用能力, 是指把所学理论知识和操作技能综合起来, 并能在实际应用中加强对这些知识的熟练掌握。其中包括操作的快捷键、工具按钮, 以及多种操作方式, 等等。

二、应试策略

1. 读透教材, 系统地掌握基础知识和理论教材。

考生最好选择国家考试中心指定的教材。等级考试的新教材由高等教育出版社和南开大学出版社出版。在初次学习教材的过程中考生应以通俗易懂为出发点, 可打破教材安排, 暂时回避困难问题, 抓住主干, 忽略小的细节, 以掌握全书的理论体系及知识点为中心任务。

2. 多做练习题, 笔试与上机相结合。

习题是检验考生对知识的掌握程度。考生不仅要能熟练做题, 而且要明白题目中所考查的知识点是什么, 难点何在, 相类似的问题以后能否解决。在做题目的过程中, 考生可以把不清晰的题汇集起来, 在电脑上做实验。如果是程序题, 就把程序输进电脑进行运行, 看得出什么结果, 与自己的思维结果是否有差异, 这样便能深入发现一些技巧和加深对问题的理解。检验考试实力的最好方法是用全真模拟考试试题进行自测, 检测自己的掌握程度, 然后针对不足部分重点进行复习。这是最快、最有效的方法之一, 能以最短时间取得明显效果。

3. 扩大知识面, 开阔思路。

在读懂教材, 做透习题, 勤于上机的基础上, 考生可以去看一些报刊和杂志, 这样能够帮助开阔思路, 把握考试脉搏;同时, 可以去一些网站, 及时了解最新消息。

三、题型分析与解题技巧

单选题和填空题一般是对基本知识和基本操作进行考查的题型, 它主要是测试考生对基本的、重要的理论及概念是否掌握、理解是否准确、认识是否全面、思路是否清晰, 而很少涉及对理论的应用。具体地说, 考生应注意以下几个方面。

1. 选择题的分析与解题技巧。

选择题为单选题, 多选、错选或不选都不给分, 但错选不倒扣分, 考生在做答选择题时要注意。选择题每个小题只有2分, 单位试题的分值量较小, 且试题部分覆盖面广, 各类内容的试题均有。一般情况下, 考生根本不可能做到对大部分的题目都有把握。这时, 考生需要学会放弃, 即不确定的题目不要在上面纠缠过多, 应该在此题上作上标记, 立即转移注意力, 作答其他题目, 最后有空余的时间再回过头来仔细考虑此题。但要注意, 对于那些实在不清楚的题目不要浪费时间, 要放弃继续思考, 不要因小失大。

2. 填空题的分析与解题技巧。

填空题一般难度都比较大, 一般需要考生填入准确的字符, 往往需要非常精确, 错一个字都不得分。而分值方面, 每空只有2分, 建议考生对填空题不要太过于看重, 为个别问题耽误时间, 不如回过头检查一些不确定的选择题, 如能检查出两题, 在分值上就抵得上一道填空题。

3. 综合应试分析。

(1) 当遇到不会做的或答不出来的题, 考生一定不要慌乱 (尤其是平时学习好的考生) , 可以把这题留下暂时不做, 先把会做的题做好, 能做多少就做多少。

(2) 当题做得非常顺利时, 考生不要太得意, 因为越看似容易的题目越错得多, 这当中有一小部分是陷阱题目, 考生应该加倍注意。当然考生也不要过于逆向思维, 觉得这题这么简单是不是做错了, 要相信自己, 说到底还是要审清题目的意思。

(3) 不要受周围环境影响, 当别人开始交卷时, 考生不要慌张, 只要沉着冷静, 认真回答每一个题目就可以了。

四、真题分析

最后, 我们来看下最近5次全国计算机二级考试分析。

1. 笔试部分。

通过对近5次考试试卷的分析, 我们可以发现笔试试卷的出题规律。

(1) 各部分分值

涉及“模块”的考题占40%的分值, 是Access考试的重中之重, 应集中精力拿下该类型的分值。“数据访问页”、“报表”, 以及“窗体”等内容呈逐年下降趋势, 特别是“数据访问页”这几年考试几乎未出现相关题目, “报表”也仅占3%, 只出现一题 (2分) , “数据库基础知识”和“查询”分值基本相同, 较为稳定, 而“数据库和表基本操作”有上升趋势。因此, 考生对表中的基本操作应予以高度重视。

(2) 关于试题难度

试题难度总体上有逐年增大的趋势, 在最近的考试中, 关于VBA程序代码编写的试题呈上升趋势, 特别是在最近几次考试中, 该部分试题的分值高达28分。这是一个考试出题的方向, 考生要对VBA程序代码编写给予足够的重视。大部分报考二级Access的考生都是初次接触计算机语言, 编程对他们可能有些困难。那么怎么才能更好地学习程序设计呢?对于没有学过任何计算机语言的初学者, 最好是先阅读教程, 学习完每一节, 都要认真体会这一节的所有概念, 然后不放过这一节中提到的所有例题, 仔细研读程序, 直到每一行都理解了, 再找几个编程题目, 最好是和例题类似的或一样的, 自己试图写出这段已经读懂的程序, 不要认为例题已经读懂了, 就可以写出和它一样的程序。如果写不出来, 初学者也不要着急, 回过头来再继续研究例题, 想想为什么写不出来, 然后去写这段程序, 反反复复, 直到手到擒来为止。

(3) 关于考试内容与范围

试卷的总体考核内容没有大的变化, 没有发现有超纲试题, 综合概念性试题有所增加, 有些考点并不是每次都考查, 但考生复习时也不要遗漏, 有些考点是必考的。例如:实体间的联系 (即一对一、一对多、多对多) 、关系运算 (通常给出3各关系表, 问其中第3各关系表是由第1和第2两个关系表通过什么操作得来的) 、输入掩码 (考此项目时, 建议考生在考试前天晚上把输入掩码表再看一遍) 、窗体及窗体控件的属性 (比如:Caption、Visible、Enable等) 。所以做熟历年考试真题是非常关键的, 这样可以把握最新出题方向, 考生考前一定要把历年真题做透, 并力争做到对每题都理解。

2. 上机试题

(1) 命题方式

全国计算机二级考试命题方式没有变化, 还是基本操作、简单应用、综合操作3种题型, 都单独对不同的数据库进行操作, 3个题型的试题之间一般无明显逻辑关系。上机考试过程中对于做题的先后顺序也无要求。

(2) 考核范围与内容

试题考核内容无明显变化。主要分为数据表的建立和维护, 查询的建立和维护, 窗体和报表的建立和维护。

I.基本操作题主要考核表的建立和维护。

II.简单应用题主要考核查询的建立和维护, 很少涉及其他操作。

III.综合应用题主要考核报表或窗体的建立和维护。窗体和报表的考核很少出现在同一道综合应用题中。从考核范围上来看, Access上机考核以操作为主, 在最近几次上机考试中也有部分考生抽到少量的VBA代码编写的问题, 但试题比较简单, 要求考生重视代码编写这个发展趋势。考生一定要加大该部分的复习力度。

篇4:全国计算机等级考试二级VF考点分析

[关键词] 全国计算机等级考试 NCRE 公共基础

全国计算机等级考试(National Computer Rank Examination,简称为NCRE)是经国家教育部批准,由教育部考试中心主办,面向社会,用于考查应试人员计算机应用知识与能力的全国性计算机水平考试体系,共分为一至四级四个等级。从1994年开办至今,NCRE已成功举办29次考试,考试形式和考试内容也在不断变化和更新。在2004年,NCRE二级考试进行重大改革,并从2005年开始在笔试中新增公共基础知识内容,意在考查考生对当前计算机多领域基础学科的了解情况。

改革后的NCRE二级考试,公共基础知识的考试方式为笔试,它与Visual Basic语言程序设计 (C语言程序设计、C++语言程序设计、Java语言程序设计、Visual FoxPro数据库程序设计或Access数据库程序设计)的笔试内容合为一份试卷,其中公共基础知识有l0道选择题和5道填空题,共计30分。

新增的公共基础包括计算机四门重要基础学科的基础知识,分别是数据结构与算法、程序设计基础、软件工程基础和数据库设计基础。公共基础以数据结构与算法知识为考试重点,在一次考试的笔试中会出现5~6个题目,而程序设计基础所占比重最低,一般一次考试中大约有1个题目,其余两部分内容分值接近,一般各有4~5个题目。笔者通过对2005年4月至2009年3月共9次NCRE二级笔试真题的公共基础知识分值分布进行统计得知,这四部分内容在公共基础中各自约占比例为,数据结构与算法41%,程序设计基础8%,软件工程基础27%,数据库设计基础24%。

目前,参加NCRE二级考试的考生以在校非计算机专业学生、现役军人和社会青年为主,但他们未曾系统学习这四门学科知识,所以在短期备战等级考试的过程中,学习难度很大。下面就公共基础四部分知识考题的特点,结合笔者近几年从事的NCRE培训工作经验,浅析二级公共基础每部分的备考策略。

1.数据结构与算法

数据结构与算法属计算机专业的重要基础课,也是一门比较难的专业课。数据结构与算法主要讨论如何有效提高程序效率,并对较复杂的问题提出求解的方法。考生在复习、备考这部分内容时以“理解为主,记忆为辅”为基本原则。

这部分知识考核的重点是二叉树。二叉树考点主要包括:

(1)二叉树遍历

二叉树遍历考题一般有两种题型。其中最常见题型是给定一棵二叉树,求其某一种遍历序列。考生只要熟练掌握了二叉树的三种遍历形式,这种题可迎刃而解。二叉树的三种遍历均采用递归方式实现,所以考生需从根本上理解递归思想。第二种题型是已知一棵二叉树的某两种遍历序列,求第三种遍历结果。这种题难度较大,考生需首先构建出该二叉树,然后根据二叉树的遍历方式,才能给出求解结果。此类考题偶有出现,但考生亦不可小视。

(2)二叉树结点

二叉树结点是最常考知识点,常见题型为给出某些条件,求二叉树叶子结点个数或二叉树总结点个数。此类考题的考点是二叉树性质,考生需熟练掌握与二叉树相关的重要性质。若考生在考试过程中忘记或不确定某性质具体描述,可画出一棵简单二叉树,并自行推导,也可以根据题意,直接画出题目对应二叉树,然后求出对应结点个数。

数据结构与算法除重点考查二叉树知识外,排序和查找部分知识也常有涉及。排序主要以计算时间复杂度的形式考核;查找则以考核计算最佳/最坏情况下比较次数为主。在数据结构里常探讨的三大类排序方法中,交换类(冒泡和快速)排序、插入类(简单插入排序和希尔排序)以及选择类排序(简单选择排序法),在最坏情况下比较次数均是n(n-1)/2次,唯有选择排序法中的堆排序在最坏情况下的比较次数是nlog2n次(n为待处理数据量)。对这部分知识,考生记住此规律即可。

本章还可能出现的考点有线性结构/非线性结构的特点,栈和队列的基本概念,顺序存储与链式存储的区别等,此类知识点主要以概念的形式考查,考生需要仔细看书并理解。

2.程序设计基础

程序设计基础介绍程序设计思想和程序设计方法。本部分内容对考生要求最低,涉及知识点有结构化程序设计的三种基本结构(顺序、选择和循环)、面向过程程序设计(OPP)与面向对象程序设计(OOP)的思想,以及面向对象程序设计方法中的相关概念(类与对象的概念,面向对象的封装、继承和多态等三要素)。考生在较短时间内便可记住此类概念。

3.软件工程基础

软件工程基础简介了规范化开发软件开发的方法。与程序设计基础类似,本章内容也属记忆性的知识点。软件工程基础有三大考点。考点一是软件工程相关概念。包括软件、软件工程、软件生命周期和软件开发阶段等概念。本考点分值约为30%;考点二为软件开发方法。包括结构化分析方法及结构化设计方法(即SA及SD)和软件开发各阶段所使用工具等。此考点约占50%分值,信息量较大;考点三是软件测试,约占20%。考生需将相关概念及规则熟记,在以后有机会从事软件开发工作时,这些知识将得到深刻理解。

4.数据库设计基础

数据库是当前软件数据处理的核心,目前大部分软件都是基于数据库的,因此,学习数据库知识将有助于软件开发。本章考核的重点是关系模型、关系代数及数据库系统的基本概念,其余的知识点了解即可。其中数据库设计和数据库管理部分知识可结合软件工程同步学习,两者有很多相似之处。在本章考点中,除关系代数会考一些简单的计算问题,需理解,其余均以概念题形式考核,考生需仔细阅读。数据库设计基础的备考策略是“记忆为主、理解为辅”。

篇5:全国计算机等级考试二级VF考点分析

6.1 Sub过程

考点1 建立Sub过程

通用Sub过程的结构与前面多次见过的事件过程的结构类似。一般格式如下:

[Static][Private][Public]Sub过程名[(参数列表)] 语句块

[Exit Sub] [语句块] End Sub

说明:

(1)Sub过程以Sub开头,以End Sub结束,在Sub和End Sub之间是描述过程操作的语句块,称为“过程体”或“子程序体”。

(2)End Sub标志着Sub过程的结束。

(3)Sub过程不能嵌套。

考点2 调用Sub过程

调用引起过程的执行。也就是说,要执行一个过程,必须调用该过程。

Sub过程的调用有两种方式:一种是把过程的名字放在一个Call语句中,一种是把过程名作为一个语句来使用。

(1)用Call语句调用Sub过程。

格式:Call过程名[(实际参数)]。

(2)把过程名作为一个语句来使用。

在调用Sub过程时,如果省略关键字Call,就成为调用Sub过程的第2种方式。与

第1种方式相比,它有两点不同:

(1)去掉关键字Call。

(2)去掉“实际参数”的括号。考点3 通用过程与事件过程

控件事件过程的一般格式为:

[Private | Public] Sub控件名_事件名(参数表)语句组

End Sub

窗体事件过程的一般格式为:

[Private][Public] Sub Form_事件名(参数表)语句组

End Sub

通用过程可以放在标准模块中,也可以放在窗体模块中,而事件过程只能放在窗体模块中,不同模块k中的过程(包括事件过程和通用过程)可以互相调用。当过程名唯一时,可以直接通过过程名调用;如果两个或两个以上的标准模块中含有相同的过程名,则在调用时必须用模块名限定,其一般格式为:

模块名.过程名(参数表)

一般来说,通用过程(包括Sub过程、Function过程)之间、事件过程之间、通用过程与事件过程之间,都可以互相调用。

6.2 建Function过程

考点4 建立Function过程

Function过程定义的格式如下:

[Static][Private][Public]Function过程名[(参数表列)][As类型] [语句块] [过程名=表达式] [Exit Function] [语句块] End Function

说明:

(1)Function过程以Function开头,以End Function结束,在两者之间是描述过程操作的语句块。

(2)调用Sub过程相当于执行一个语句,不直接返回值;而调用Function过程要返回一个值,因此可以像内部函数一样在表达式中使用。

考点5 调用Function过程

Function过程的调用比较简单,因为可以像使用Visual Basic内部函数一样来调用Function过程。实际上,由于Function过程能返回一个值,因此完全可以把它看成是一个函数,它与内部函数(如Sqr,Str$,Chr$等)没有什么区别,只不过内部函数由语句系统提供,而Function过程由用户自己定义。

6.3 参数传送

在Visual Basic中,通常把形式参数叫做“参数”,而把实际参数叫做“自变量”。

考点6 形参与实参

形参是在Sub,Function过程的定义中出现的变量名,实参则是在调用Sub或Function过程时传送给Sub或Function过程的常数、变量、表达式或数组。在Visual Basic中,可以通过两种方式传送参数,即按位置传送和指名传送。

考点7 引用

Visual Basic中,参数通过两种方式传送,即传地址和传值,其中传地址习惯上称为引用。在默认情况下,变量(简单变量、数组或数组元素以及记录)都是通过“引用”传送给Sub或Function过程的。在这种情况下可以通过改变过程中相应的参数来改变变量成值,这意着,当通过引用来传送实参时,可以改变传送给过程的变量的值。

考点8 传值

传值就是通过值传送实际参数,即传送实参的值而不是传送它的地址。在这种情况下,系统扭需要传送的变量复制到一个临时的单元中,然后把该临时单元的地址传送给被调用的通用过程。由于通过过程没有访问变量(实参)的原始地址,因此不会改变原来变量的值,所有的变化都是在变量的副本上进行的。

考点9 数组参数的传送

Visual Basic允许把数组作为实参传送到过程中。用数组作为过程的参数时,应在数组名的后面加上一对括号,以免与普通变量相混淆。除遵循参数传送的一般规则外,还应注意以下两点:

(l)为了把一个数组的全部元素传递给一个过程,应将数组名分别放入实参表和形参表中,并略去数组的上下界,但括号不能省略。

(2)如果不需要把整个数组传递给通用过程,可以只传递指定的单个元素,这需要在数组名后面的括号中定上指定的元素下标。

6.4 可选参数和可变参数

Visual Basic 6.0提供了十分灵活和安全的参数传送方式,允许使用可选参数和可变参数。在调用一个过程时,可以向过程传送可选的参数或者任意数量的参数。

考点10 可选参数

在调用一个过程时,有时并不是每次都要传递所有的参数。有些参数的存在是为了提供某项功能,但这项功能不是每次调用该过程时都需要的或者在调用这个过程时,某个参数在绝大部分时间内都使用同一个值,对于其他的值只有在特殊的情况下才使用。

使用可选参数时还应注意两点:

(1)如果某个参数被指定为可选参数,那么它后面的参数必须都是可选的。

(2)Optional关键字可以和ByVal关键字一起使用。

考点11 可变参数

在使用可变参数时应注意以下5点:

(1)ParamArray关键字只能用于参数列表中的最后一个参数。

(2)用ParamArray关键字声明的参数数组只能是Variant类型。

(3)ParamArray关键字不能和ByVal关键字,ByRef关键字以及Optional关键字一起使用。

(4)如果使用ParamArray关键字声明可变个数参数,那么其他的参数都不能被声明为可选的。

(5)用ParamArray关键字声明的参数数组,无论是否使用了Option Basel语句,它的下界总是0。

6.5 对象参数

考点12 对象参数

和传统的程序设计语言不同,Visual Basic允许用对象作为参数,即窗体或控件作为通用过程的参数。在有些情况下,这可以简化程序设计,提高效率。实际上,在Visual Basic中还可以向过程传送对象,包括窗体和控件。

对象作为参数与用其他数据类型作为参数的过程没有什么区别,其格式为:

Sub过程名(形式参数表)语句块

[Exit Sub] …

End Sub

“形式参数表”中的形参的类型通常为Control或Form注意,在调用含有对象的过程时,对象只能通过传地址方式传送。因此在定义过程时,不能在其参数前加关键字ByVal。

6.6 局部内存分配

考点13 局部内存分配

有时候,在过程结束时,可能不希望失去保存在局部变量中的值。如果把变量声明为全局变量或模块级变量,则可解决这个问题。但如果声明的变量只在一个过程中使用,则这种方法并不好。为此,Visual Basic提供了一个Static语句,其格式为:

Static变量表

其中“变量表”的格式如下:

变量[()][As类型][,变量[()][As类型]]…

可以看出,Static语句的格式与Dim语句完全一样,但Static语句只能出现在事件过程、Sub过程或Function过程中。在过程中的Static变量只有局部的作用域,即只在本过程中可见,但可以和模块级变量一样,即使过程结束后,其值仍能保留。

在程序设计过程中,Static语句常用于以下两种情况:

(1)记录一个事件被触发的次数,即程序运行时事件发生的次数。

(2)用于开关切换,即原来为开,将其改为关,反之亦然。

6.7 Shell函数

考点14 shell函数

在Visual Basic中不但可以调用通用过程,而且可以调用各种应用程序。也就是说,凡是能在Windows下运行的应用程序,基本上都可以在Visual Basic中调用。这一功能通过Shell函数来实现。

Shell函数的格式如下:

Shell(命令字符串[,窗口类型])

篇6:全国计算机等级考试二级VF考点分析

一、上机考点

由于上机考试的方式和主要考点没有很大变化,因此可以通过分析历届上机考题来归纳总结上机考试考核的重点,我们下面来介绍近几年二级Visual Basic上机考试所考知识点的分布情况。

(1)对象及其操作:控件的画法、基本操作及控件值。

(2)数据类型及其运算:涉及到关系运算符、算术运算符、逻辑运算符及常用内部函数等知识点。

(3)数据输入、输出:窗体输出与Print方法,使用InputBox函数。

(4)常用标准控件:文本框、列表框、图形框、复选框、计时器、滚动条等控件的属性、事件和方法。

(5)控制结构:选择结构、For循环控制结构。(6)数组:数组的定义。

(7)菜单与对话框:用菜单编辑器建立菜单。

(8)键盘与鼠标事件过程:键盘的KeyPress事件、鼠标事件。(9)数据文件:顺序文件的读操作、顺序文件的写操作。

二、常用算法

熟练地掌握算法原理、编程思想和代码实现,就能够做到举一反三,轻松备考,顺利过关。

1.累加与连乘

基本思想:设置初值,循环计算。扩展:

(1)计算指定范围内某一个数的倍数之和。(2)计算某范围内所有数的乘积。(3)求某一个数列的和。2.生成N个不同的随机数

基本思想:将生成的数送入一个数组,每生成一个数后与数组中已有的数比较,如相同则丢弃,重新生成可使用语句Exit For。

3.求素数、极值

求素数基本思想:素数的意义;实现方法:双重循环,外循环判断每一个数,内循环判断能否被某数整除。

求极值基本思想:设第一个数为极值数,然后进入循环与其比较,超过则替换。4.排序

(1)选择法:每次先找出最小数所在的F标,排序结束后,交换最小数的位置。(2)冒泡法:两两比较后交换。

(3)合并法:将两个有序的数组合并成一个仃序的数组。两个数组中的数两两比较,小者放入目标数组,直到。个数组为窄。

(4)插入法:每输入或生成一个数马上插入到数组中使其有序。

站长提醒广大考生:下面的138道题目,在二级考试中命中率极高。

一、选择题

(1)下面叙述正确的是(C)A.算法的执行效率与数据的存储结构无关 B.算法的空间复杂度是指算法程序中指令(或语句)的条数 C.算法的有穷性是指算法必须能在执行有限个步骤之后终止 D.以上三种描述都不对

(2)以下数据结构中不属于线性数据结构的是(C)A.队列 B.线性表 C.二叉树 D.栈

(3)在一棵二叉树上第5层的结点数最多是(B)注:由公式2k-1得 A.8 B.16 C.32 D.15(4)下面描述中,符合结构化程序设计风格的是(A)A.使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑 B.模块只有一个入口,可以有多个出口 C.注重提高程序的执行效率 D.不使用goto语句

(5)下面概念中,不属于面向对象方法的是(D)注:P55-58 A.对象 B.继承 C.类 D.过程调用

(6)在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是(B)A.可行性分析 B.需求分析 C.详细设计 D.程序编码(7)在软件开发中,下面任务不属于设计阶段的是(D)A.数据结构设计 B.给出系统模块结构

C.定义模块算法 D.定义需求并建立系统模型(8)数据库系统的核心是(B)A.数据模型 B.数据库管理系统 C.软件工具 D.数据库(9)下列叙述中正确的是(C)A.数据库是一个独立的系统,不需要操作系统的支持 B.数据库设计是指设计数据库管理系统C.数据库技术的根本目标是要解决数据共享的问题 D.数据库系统中,数据的物理结构必须与逻辑结构一致

(10)下列模式中,能够给出数据库物理存储结构与物理存取方法的是(A)注:P108 A.内模式 B.外模式 C.概念模式 D.逻辑模式(11)算法的时间复杂度是指(C)A.执行算法程序所需要的时间 B.算法程序的长度 C.算法执行过程中所需要的基本运算次数 D.算法程序中的指令条数(12)算法的空间复杂度是指(D)A.算法程序的长度 B.算法程序中的指令条数 C.算法程序所占的存储空间 D.算法执行过程中所需要的存储空间

(13)设一棵完全二叉树共有699个结点,则在该二叉树中的叶子结点数为(B)注:利用公式n=n0+n1+n2、n0=n2+1和完全二叉数的特点可求出 A.349 B.350 C.255 D.351(14)结构化程序设计主要强调的是(B)A.程序的规模 B.程序的易读性

C.程序的执行效率 D.程序的可移植性

(15)在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是(D)注:即第一个阶段

A.概要设计 B.详细设计 C.可行性分析 D.需求分析

(16)数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是(A)注:P67 A.控制流 B.加工 C.数据存储 D.源和潭

(17)软件需求分析阶段的工作,可以分为四个方面:需求获取、需求分析、编写需求规格说明书以及(B)注:P66 A.阶段性报告 B.需求评审 C.总结 D.都不正确(18)下述关于数据库系统的叙述中正确的是(A)A.数据库系统减少了数据冗余 B.数据库系统避免了一切冗余

C.数据库系统中数据的一致性是指数据类型的一致 D.数据库系统比文件系统能管理更多的数据

(19)关系表中的每一横行称为一个(A)A.元组 B.字段 C.属性 D.码

(20)数据库设计包括两个方面的设计内容,它们是(A)A.概念设计和逻辑设计 B.模式设计和内模式设计

C.内模式设计和物理设计 D.结构特性设计和行为特性设计(21)下列叙述中正确的是(A)A.线性表是线性结构 B.栈与队列是非线性结构 C.线性链表是非线性结构 D.二叉树是线性结构(22)下列关于栈的叙述中正确的是(D)A.在栈中只能插入数据 B.在栈中只能删除数据 C.栈是先进先出的线性表 D.栈是先进后出的线性表(23)下列关于队列的叙述中正确的是(C)A.在队列中只能插入数据 B.在队列中只能删除数据

C.队列是先进先出的线性表 D.队列是先进后出的线性表

(24)对建立良好的程序设计风格,下面描述正确的是(A)注:P48 A.程序应简单、清晰、可读性好 B.符号名的命名要符合语法 C.充分考虑程序的执行效率 D.程序的注释可有可无(25)下面对对象概念描述错误的是(A)注:P55 A.任何对象都必须有继承性 B.对象是属性和方法的封装体 C.对象间的通讯靠消息传递 D.操作是对象的动态性属性(26)下面不属于软件工程的3个要素的是(D)注:P62 A.工具 B.过程 C.方法 D.环境

(27)程序流程图(PFD)中的箭头代表的是(B)注:P81 A.数据流 B.控制流 C.调用关系 D.组成关系

(28)在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。其中数据独立性最高的阶段是(A)A.数据库系统 B.文件系统 C.人工管理 D.数据项管理(29)用树形结构来表示实体之间联系的模型称为(B)A.关系模型 B.层次模型 C.网状模型 D.数据模型(30)关系数据库管理系统能实现的专门关系运算包括(B)A.排序、索引、统计 B.选择、投影、连接 C.关联、更新、排序 D.显示、打印、制表

(31)算法一般都可以用哪几种控制结构组合而成(D)注:P3 A.循环、分支、递归 B.顺序、循环、嵌套 C.循环、递归、选择 D.顺序、选择、循环

(32)数据的存储结构是指(B)注:P13,要牢记

A.数据所占的存储空间量 B.数据的逻辑结构在计算机中的表示 C.数据在计算机中的顺序存储方式 D.存储在外存中的数据(33)设有下列二叉树:图见书P46 对此二叉树中序遍历的结果为(B)A.ABCDEF B.DBEAFC C.ABDECF D.DEBFCA(34)在面向对象方法中,一个对象请求另一对象为其服务的方式是通过发送(D)注:P56 A.调用语句 B.命令 C.口令 D.消息

(35)检查软件产品是否符合需求定义的过程称为(A)注:P95 A.确认测试 B.集成测试 C.验证测试 D.验收测试(36)下列工具中属于需求分析常用工具的是(D)注:P67 A.PAD B.PFD C.N-S D.DFD(37)下面不属于软件设计原则的是(C)注:P73 A.抽象 B.模块化 C.自底向上 D.信息隐蔽(38)索引属于(B)A.模式 B.内模式 C.外模式 D.概念模式

(39)在关系数据库中,用来表示实体之间联系的是(D)A.树结构 B.网结构 C.线性表 D.二维表

(40)将E-R图转换到关系模式时,实体与联系都可以表示成(B)A.属性 B.关系 C.键 D.域

(41)在下列选项中,哪个不是一个算法一般应该具有的基本特征(C)A.确定性 B.可行性 C.无穷性 D.拥有足够的情报(42)希尔排序法属于哪一种类型的排序法(B)A.交换类排序法 B.插入类排序法 C.选择类排序法 D.建堆排序法(43)在深度为5的满二叉树中,叶子结点的个数为(C)A.32 B.31 C.16 D.15(44)对长度为N的线性表进行顺序查找,在最坏情况下所需要的比较次数为(B)注:要牢记

A.N+1 B.N C.(N+1)/2 D.N/2(45)信息隐蔽的概念与下述哪一种概念直接相关(B)注:P74 A.软件结构定义 B.模块独立性 C.模块类型划分 D.模拟耦合度

(46)面向对象的设计方法与传统的的面向过程的方法有本质不同,它的基本原理是(C)A.模拟现实世界中不同事物之间的联系 B.强调模拟现实世界中的算法而不强调概念 C.使用现实世界的概念抽象地思考问题从而自然地解决问题 D.鼓励开发者在软件开发的绝大部分中都用实际领域的概念去思考

(47)在结构化方法中,软件功能分解属于下列软件开发中的阶段是(C)注:总体设计也就是概要设计

A.详细设计 B.需求分析 C.总体设计 D.编程调试

(48)软件调试的目的是(B)注:与软件测试要对比着复习A.发现错误 B.改正错误 C.改善软件的性能 D.挖掘软件的潜能(49)按条件f对关系R进行选择,其关系代数表达式为(C)A.R|X|R B.R|X|Rf C.бf(R)D.∏f(R)(50)数据库概念设计的过程中,视图设计一般有三种设计次序,以下各项中不对的是(D)注:P127,要牢记

A.自顶向下 B.由底向上 C.由内向外 D.由整体到局部(51)在计算机中,算法是指(C)A.查询方法 B.加工方法

C.解题方案的准确而完整的描述 D.排序方法

(52)栈和队列的共同点是(C)注:这一共同点和线性表不一样

A.都是先进后出 B.都是先进先出 C.只允许在端点处插入和删除元素 D.没有共同点

(53)已知二叉树后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是(A)注:P38,前提要掌握三种遍历的方法 A.cedba B.acbed C.decab D.deabc(54)在下列几种排序方法中,要求内存量最大的是(D)注:要牢记,书中没有提到。

A.插入排序 B.选择排序 C.快速排序 D.归并排序

(55)在设计程序时,应采纳的原则之一是(A)注:和设计风格有关 A.程序结构应有助于读者理解 B.不限制goto语句的使用 C.减少或取消注解行 D.程序越短越好

(56)下列不属于软件调试技术的是(B)注:P98 A.强行排错法 B.集成测试法 C.回溯法 D.原因排除法

(57)下列叙述中,不属于软件需求规格说明书的作用的是(D)注:P71 A.便于用户、开发人员进行理解和交流 B.反映出用户问题的结构,可以作为软件开发工作的基础和依据 C.作为确认测试和验收的依据 D.便于开发人员进行需求分析

(58)在数据流图(DFD)中,带有名字的箭头表示(C)A.控制程序的执行顺序 B.模块之间的调用关系 C.数据的流向 D.程序的组成成分

(59)SQL语言又称为(C)A.结构化定义语言 B.结构化控制语言 C.结构化查询语言 D.结构化操纵语言

(60)视图设计一般有3种设计次序,下列不属于视图设计的是(B)A.自顶向下 B.由外向内 C.由内向外 D.自底向上(61)数据结构中,与所使用的计算机无关的是数据的(C)A.存储结构 B.物理结构 C.逻辑结构 D.物理和存储结构

(62)栈底至栈顶依次存放元素A、B、C、D,在第五个元素E入栈前,栈中元素可以出栈,则出栈序列可能是(D)A.ABCED B.DBCEA C.CDABE D.DCBEA(63)线性表的顺序存储结构和线性表的链式存储结构分别是(B)A.顺序存取的存储结构、顺序存取的存储结构 B.随机存取的存储结构、顺序存取的存储结构 C.随机存取的存储结构、随机存取的存储结构 D.任意存取的存储结构、任意存取的存储结构

(64)在单链表中,增加头结点的目的是(A)A.方便运算的实现 B.使单链表至少有一个结点 C.标识表结点中首结点的位置 D.说明单链表是线性表的链式存储实现

(65)软件设计包括软件的结构、数据接口和过程设计,其中软件的过程设计是指(B)注:P73 A.模块间的关系 B.系统结构部件转换成软件的过程描述 C.软件层次结构 D.软件开发过程

(66)为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为(B)注:P82 A.PAD图 B.N-S图 C.结构图 D.数据流图

(67)数据处理的最小单位是(C)注:数据项不可再分割 A.数据 B.数据元素 C.数据项 D.数据结构

(68)下列有关数据库的描述,正确的是(C)注:P102 A.数据库是一个DBF文件 B.数据库是一个关系 C.数据库是一个结构化的数据集合 D.数据库是一组文件

(69)单个用户使用的数据视图的描述称为(A)注:P108 A.外模式 B.概念模式 C.内模式 D.存储模式(70)需求分析阶段的任务是确定(D)A.软件开发方法 B.软件开发工具 C.软件开发费用 D.软件系统功能(71)算法分析的目的是(D)注:书中没有总结,但要牢记

A.找出数据结构的合理性 B.找出算法中输入和输出之间的关系 C.分析算法的易懂性和可靠性 D.分析算法的效率以求改进(72)链表不具有的特点是(B)A.不必事先估计存储空间 B.可随机访问任一元素

C.插入删除不需要移动元素 D.所需空间与线性表长度成正比

(73)已知数据表A中每个元素距其最终位置不远,为节省时间,应采用的算法是(B)A.堆排序 B.直接插入排序 C.快速排序 D.直接选择排序(74)用链表表示线性表的优点是(A)注:因为不需要移动元素

A.便于插入和删除操作 B.数据元素的物理顺序与逻辑顺序相同 C.花费的存储空间较顺序存储少 D.便于随机存取

(75)下列不属于结构化分析的常用工具的是(D)注:P67 A.数据流图 B.数据字典 C.判定树 D.PAD图

(76)软件开发的结构化生命周期方法将软件生命周期划分成(A)A.定义、开发、运行维护 B.设计阶段、编程阶段、测试阶段 C.总体设计、详细设计、编程调试 D.需求分析、功能定义、系统设计

(77)在软件工程中,白箱测试法可用于测试程序的内部结构。此方法将程序看做是(C)注:P87 A.循环的集合 B.地址的集合 C.路径的集合 D.目标的集合

(78)在数据管理技术发展过程中,文件系统与数据库系统的主要区别是数据库系统具有(D)注:数据模型采用关系模型(二维表)A.数据无冗余 B.数据可共享

C.专门的数据管理软件 D.特定的数据模型(79)分布式数据库系统不具有的特点是(B)A.分布式 B.数据冗余

C.数据分布性和逻辑整体性 D.位置透明性和复制透明性

(80)下列说法中,不属于数据模型所描述的内容的是(C)注:P110 A.数据结构 B.数据操作 C.数据查询 D.数据约束

(81)根据数据结构中各数据元素之间前后件关系的复杂程度,一般将数据结构分成(C)A.动态结构和静态结构 B.紧凑结构和非紧凑结构 C.线性结构和非线性结构 D.内部结构和外部结构(82)下列叙述中,错误的是(B)A.数据的存储结构与数据处理的效率密切相关 B.数据的存储结构与数据处理的效率无关 C.数据的存储结构在计算机中所占的空间不一定是连续的 D.一种数据的逻辑结构可以有多种存储结构

(83)线性表L=(a1,a2,a3,…ai,…an),下列说法正确的是(D)A.每个元素都有一个直接前件和直接后件 B.线性表中至少要有一个元素 C.表中诸元素的排列顺序必须是由小到大或由大到 D.除第一个元素和最后一个元素外,其余每个元素都有一个且只有一个直接前件和直接后件

(84)线性表若采用链式存储结构时,要求内存中可用存储单元的地址(D)A.必须是连续的 B.部分地址必须是连续的 C.一定是不连续的 D.连续不连续都可以(85)栈通常采用的两种存储结构是(A)A.顺序存储结构和链式存储结构 B.散列方式和索引方式 C.链表存储结构和数组 D.线性存储结构和非线性存储结构(86)下列数据结构中,按先进后出原则组织数据的是(B)A.线性链表 B.栈 C.循环链表 D.顺序表(87)树是结点的集合,它的根结点数目是(C)A.有且只有1 B.1或多于1 C.0或1 D.至少2(88)具有3个结点的二叉树有(D)A.2种形态 B.4种形态 C.7种形态 D.5种形态(89)设一棵二叉树中有3个叶子结点,有8个度为1的结点,则该二叉树中总的结点数为(B)A.12 B.13 C.14 D.15(90)在结构化程序设计思想提出之前,在程序设计中曾强调程序的效率,现在,与程序的效率相比,人们更重视程序的(C)A.安全性 B.一致性 C.可理解性 D.合理性(91)为了提高测试的效率,应该(D)注:P85 A.随机选取测试数据B.取一切可能的输入数据作为测试数据C.在完成编码以后制定软件的测试计划 D.集中对付那些错误群集的程序(92)软件生命周期中所花费用最多的阶段是(D)A.详细设计 B.软件编码 C.软件测试 D.软件维护

二、填空题

(1)算法的复杂度主要包括______复杂度和空间复杂度。答:时间(2)数据的逻辑结构在计算机存储空间中的存放形式称为数据的______。答:存储结构#物理结构

(3)若按功能划分,软件测试的方法通常分为白盒测试方法和______测试方法。答:黑盒

(4)如果一个工人可管理多个设施,而一个设施只被一个工人管理,则实体“工人”与实体“设备”之间存在______联系。答:一对多#1:N#1:n(5)关系数据库管理系统能实现的专门关系运算包括选择、连接和______。答:投影(6)在先左后右的原则下,根据访问根结点的次序,二叉树的遍历可以分为三种:前序遍历、______遍历和后序遍历。答:中序

(7)结构化程序设计方法的主要原则可以概括为自顶向下、逐步求精、______和限制使用goto语句。答:模块化

(8)软件的调试方法主要有:强行排错法、______和原因排除法。答:回溯法(9)数据库系统的三级模式分别为______模式、内部级模式与外部级模式。答:概念#概念级

(10)数据字典是各类数据描述的集合,它通常包括5个部分,即数据项、数据结构、数据流、______和处理过程。答:数据存储(11)设一棵完全二叉树共有500个结点,则在该二叉树中有______个叶子结点。答:250(12)在最坏情况下,冒泡排序的时间复杂度为______。答:n(n-1)/2#n*(n-1)/2#O(n(n-1)/2)#O(n*(n-1)/2)(13)面向对象的程序设计方法中涉及的对象是系统中用来描述客观事物的一个______。答:实体

(14)软件的需求分析阶段的工作,可以概括为四个方面:______、需求分析、编写需求规格说明书和需求评审。答:需求获取(15)______是数据库应用的核心。答:数据库设计

(16)数据结构包括数据的______结构和数据的存储结构。答:逻辑

(17)软件工程研究的内容主要包括:______技术和软件工程管理。答:软件开发 注:P64(18)与结构化需求分析方法相对应的是______方法。答:结构化设计

(19)关系模型的完整性规则是对关系的某种约束条件,包括实体完整性、______和自定义完整性。答:参照完整性

(20)数据模型按不同的应用层次分为三种类型,它们是______数据模型、逻辑数据模型和物理数据模型。答:概念 注:P110(21)栈的基本运算有三种:入栈、退栈和______。答:读栈顶元素#读栈顶的元素#读出栈顶元素

(22)在面向对象方法中,信息隐蔽是通过对象的______性来实现的。答:封装(23)数据流的类型有______和事务型。答:变换型 注:P77(24)数据库系统中实现各种数据管理功能的核心软件称为______。答:数据库管理系统#DBMS 注:要牢记,重要

(25)关系模型的数据操纵即是建立在关系上的数据操纵,一般有______、增加、删除和修改四种操作。答:查询 注:要牢记

(26)实现算法所需的存储单元多少和算法的工作量大小分别称为算法的 ______。答:空间复杂度和时间复杂度(27)数据结构包括数据的逻辑结构、数据的 ______以及对数据的操作运算。答:存储结构 注:P7(28)一个类可以从直接或间接的祖先中继承所有属性和方法。采用这个方法提高了软件的______。答:可重用性

(29)面向对象的模型中,最基本的概念是对象和 ______。答:类

(30)软件维护活动包括以下几类:改正性维护、适应性维护、______维护和预防性维护。答:完善性 注:要牢记,书中没有提到

(31)算法的基本特征是可行性、确定性、______和拥有足够的情报。答:有穷性

(32)顺序存储方法是把逻辑上相邻的结点存储在物理位置______的存储单元中。答:相邻

(33)Jackson结构化程序设计方法是英国的M.Jackson提出的,它是一种面向______的设计方法。答:数据结构 注:P67(34)数据库设计分为以下6个设计阶段:需求分析阶段、______、逻辑设计阶段、物理设计阶段、实施阶段、运行和维护阶段。答:概念设计阶段#数据库概念设计阶段

(35)数据库保护分为:安全性控制、______、并发性控制和数据的恢复。答:完整性控制 注:要牢记(36)测试的目的是暴露错误,评价程序的可靠性;而______的目的是发现错误的位置并改正错误。答:调试

(37)在最坏情况下,堆排序需要比较的次数为______。答:O(nlog2n)(38)若串s=“Program”,则其子串的数目是______。答:29(39)一个项目具有一个项目主管,一个项目主管可管理多个项目,则实体“项目主管”与实体“项目”的联系属于______的联系。答:1对多#1:N(40)数据库管理系统常见的数据模型有层次模型、网状模型和______三种。答:关系模型

(41)数据的逻辑结构有线性结构和_______两大类。答非线性结构

(42)数据结构分为逻辑结构与存储结构,线性链表属于_______。答:存储结构(43)数据的基本单位是_______。答:元素

(44)长度为n的顺序存储线性表中,当在任何位置上插入一个元素概率都相等时,插入一个元素所需移动元素的平均个数为______。答:n/2(45)当循环队列非空且队尾指针等于队头指针时,说明循环队列已满,不能进行入队运算。这种情况称为______。答:上溢

上一篇:同意处置质押物承诺书下一篇:工会工作总结和工作思路