四川省计算机二级考试VF考点汇总.docx
《四川省计算机二级考试VF考点汇总.docx》由会员分享,可在线阅读,更多相关《四川省计算机二级考试VF考点汇总.docx(16页珍藏版)》请在冰豆网上搜索。
![四川省计算机二级考试VF考点汇总.docx](https://file1.bdocx.com/fileroot1/2022-11/30/62c8c245-2f9f-4683-b439-783bb272014d/62c8c245-2f9f-4683-b439-783bb272014d1.gif)
四川省计算机二级考试VF考点汇总
VFP第1章(6页)
关于数据库的基础知识
1数据库(DB):
是存储在计算机存储设备上的结构化的相关数据集合。
即是存放数据的仓库。
2数据库管理系统(DBMS):
实现各种数据管理功能的核心软件。
或者说为数据库的建立、使用和维护而配置的软件称为数据库管理系统。
3数据库应用系统(DBAS):
是由系统开发人员开发的。
4数据库管理员(DBA):
DBA的职责不包括开发数据库应用系统。
5数据库系统的组成:
硬件系统、数据库、数据库管理系统、数据库管理员和用户。
其中DBMS是核心。
6实体间的联系有三种:
一对一、一对多、多对多。
7数据模型分为三种:
层次模型、网状模型、关系模型。
★其中关系模型就是用二维表的结构来描述。
一张二维表就是一个关系。
★关系术语
⊙关系:
就是一张二维表。
⊙元组(记录):
水平方向的行。
⊙属性(字段):
垂直方向的列。
⊙域:
属性的取值范围。
⊙关键字:
关系中最关键的那一个字段,即能够唯一标识一个元组。
⊙外部关键字:
在两个有联系表中,若两个表有相同的字段名,其中一个表中的是关键字,那它在另外一张表中不是关键字,那就是外部关键字。
两个表之间的字段起着“桥梁”的作用。
8专门的关系运算:
选择、投影、连接。
关于VFP系统
1启动:
单击“开始”→“程序”→“MicrosoftVisualFoxPro6.0”→“MicrosoftVisualFoxPro6.0”。
2退出:
(1)单击右上角的“”。
(2)单击“文件”→“退出”。
(3)ALT+F4。
(4)在命令窗口中键入QUIT。
3两种工作方式:
交互式和自动化工作方式(程序运行方式)。
4显示与隐藏命令窗口的三种操作方法。
P24
5设置VFP的默认目录位置:
单击“工具”→“选项”→“文件位置”→“默认目录”→“修改”。
★在学习VFP时,请同学们一定要养成设置文件的默认存储位置的好习惯。
关于项目管理器
1新建:
(1)鼠标操作:
“文件”→“新建”→勾选“项目”→“新建文件”。
(2)命令操作:
createproject[项目名]
2打开:
(1)鼠标操作:
“文件”→“打开”。
(2)命令操作:
modifyproject[项目名]
★项目管理器的选项卡(6个)
(1)数据:
数据库、自由表、查询、视图。
(2)文档:
表单、报表、标签。
(3)类
(4)代码:
程序、AIP库、app应用程序。
(5)其他:
菜单文件、文本文件、其他文件位图文件。
(6)全部:
包括前面5个选项卡的所有内容。
3在项目管理器中新建数据库:
(1)打开项目
(2)在项目管理器中的“数据”选项卡中选中“数据库”→“新建”。
4将一个数据库添加到项目中
(1)打开项目
(2)在项目管理器“数据”选项卡中选中“数据库”→“添加”。
5将一个数据库从项目中移去
(1)打开项目
(2)在项目管理器“数据”选项卡中将“数据库”展开,选中某个“数据库名”→“移去”。
VFP第2章
关于数据(常量)
★数据(常量)的类型有:
⊙数值型(N):
占8个字节。
⊙货币型(Y):
占8个字节。
⊙字符型(C)
⊙日期型(D):
占8个字节。
⊙日期时间型(T):
占8个字节。
⊙逻辑型(L):
占1个字节。
★变量:
是专门用来存放数据用的。
分为字段变量(字段名)和内存变量。
★表达式:
(1)数值表达式
(2)字符表达式
(3)日期时间表达式
(4)关系表达式
⊙性别等于“男”:
性别=“男”
⊙姓名为“刘明明”:
姓名=“刘明明”
⊙工龄大于等于20:
工龄>=20
(5)逻辑表达式
⊙性别等于“男”或等于“女”
⊙基本工资高于400元且低于1000元
⊙工龄大于等于20的未婚男职工
⊙职称是“教授”或者是“副教授”
⊙工龄大于20年,职称为“副教授”或“讲师”的未婚男职工
⊙职称为“副教授”且年龄不超过35岁的未婚女职工
本章的相关命令
⊙?
:
打印输出符,输出时换行。
⊙?
?
:
打印输出符,输出时不换行。
⊙SETCENTURYON:
设置4位数字年份
⊙SETCENTURYOFF:
设置2位数字年份
⊙STORE<表达式>TO<内存变量>:
内存变量的赋值。
⊙CLEAR:
清除窗口屏幕中显示的内容。
⊙DIMENSION、DECLARE:
创建数组。
⊙LISTMEMORY、DISPLAY:
内存变量的显示。
⊙CLEARMEMORY:
内存变量的清除。
VFP第3章
关于数据库的操作
1新建:
(1)鼠标操作:
“文件”→“新建”→勾选“数据库”→“新建文件”。
(2)命令操作:
Createdatabase[数据库名]
★当“数据库名”省略时,会弹出创建对话框。
(3)安全检查:
setsafetyon/off(新建数据库与原数据库重名时,是否询问)
★用鼠标操作会自动打开数据库设计器★而命令操作仅仅是创建数据库,不直接出现该设计器。
2打开:
(1)鼠标操作:
“文件”→“打开”→在文件类型中选“数据库”。
(2)命令操作:
opendatabase[数据名]………………..
★当“数据库名”省略时,会弹出打开对话框。
省略号处是一些可选项,可选项如下:
⊙EXCLUSIVE|SHARED:
以独占方式打开|以共享方式打开。
⊙NOUPDATE:
以只读方式打开。
默认值(即不写noupdate)是以读/写方式,也为共享方式。
★以上可选项若在鼠标操作方式时都可以在‘打开’对话框中设置
★为何要有‘独占’数据库?
只有在独占的方式下才能清理数据库
★用鼠标方式打开会同时打开数据库设计器★而命令操作仅仅是打开数据库,也不直接出现该设计器。
3修改:
(1)鼠标操作:
等同于‘打开’操作
(2)命令操作:
modifydatabase[数据库名]………
★当“数据库名”省略时,则对当前数据库进行修改。
省略号处是一些可选项,可选项如下:
⊙NOWAIT:
在程序中使用,打开数据库设计器后不暂停,主要为了程序连贯,实现无人职守。
⊙NOEDIT:
只打开数据库设计器,禁止对其进行修改
★其实一条modifydatabase就可以完成:
Createdatabase+opendatabase+moddifydatabase三条命令的功能
4关闭:
(1)鼠标操作:
单击数据库设计器右上角的“”。
仅仅只是隐藏该数据库,不是真正的关闭
(2)命令操作:
closedatabase
注意:
这里后面不能加数据库名,他的作用就只是关闭当前数据库
★当已经打开多个数据库时,若想关闭其他的数据库,可以设置它为当前数据库即可,方法有:
(1)鼠标操作:
在工具栏的数据库下拉框中直接选
(2)命令操作:
setdatabaseto[数据库名]
★如不加名字,就会把所有都设置为非当前数据库
★closeall关闭所有文件
5删除:
(1)鼠标操作:
打开项目管理器→“数据”选项卡→单击“数据库”前面的‘+’号→在其中选中目标数据库→单击“移去”。
(2)命令操作:
DELETEDATABASE数据库名……
省略号处是一些可选项,可选项如下:
⊙deletetables:
删除数据库的同时把其中所含表也删除。
⊙recycle:
将被删除的文件暂时放于回收站,以后要是后悔,还可以还原。
★鼠标操作无法在删除数据库的同时删除表。
★如果安全检查设置为setsafetyon会提示“真的删除吗”。
关于表
表分为数据库表和自由表不论哪种表都是由结构部分和内容部分组合而成的。
一关于数据库表:
在某个数据库处于打开状态并且是当前数据库时,创建的表就是此数据库的一个数据库表。
结构部分
创建数据库表
①鼠标操作:
打开数据库设计器,在这里面任意位置右击,选择“新建表”。
②命令操作:
opendatabase[数据库名]
Create[表名]
★以上不论哪一种操作,都会自动弹出“表设计器”。
表设计器的作用是对表的结构进行创建或修改。
表设计器的打开与修改:
①鼠标操作:
打开数据库设计器,在里面找到进行结构修改的表,
在那张表上右击选择“修改”。
②命令操作:
use[表名]
Modifystructure
表设计器的内容:
见书P101
内容部分
表的结构设计完成确定后,会自动询问是否打开“浏览器”进行输入数据。
表浏览器的作用是对表的内容进行创建或修改。
表浏览器的打开:
①鼠标操作:
打开数据库设计器,在里面找到进行结构修改的表,
在那张表上右击选择“浏览”。
②命令操作:
Use[表名]
Browse
一些常用的内容修改:
Ⅰ增加记录:
(1)在表的尾部增加记录:
①鼠标操作:
显示/追加方式
②命令操作:
A)append需要立刻输入记录值
B)appendblank在表尾加一空行再用edit,change,browse或replace更改
(2)在表的任意位置插入记录:
insert……
省略号处是一些可选项,可选项如下:
①before如果要在当前选中的记录之前插入一条新记录,就在insert后加上before,不加就会在当前记录之后插入新记录。
②blank在指定的记录之前或之后插入一条空白记录。
★如果表是建立了主索引或候选索引,则不能用以上的APPEND或INSERT命令插入记录,而必须用SQL的命令语句(见第四章)。
Ⅱ删除记录:
(1)逻辑删除(置删除标记)
①鼠标操作:
在要删除的记录行首直接打上黑块标记
②命令操作:
delete[for条件]
★如果不跟条件,则只逻辑删除当前记录;否则逻辑删除满足条件的记录。
★逻辑删除记录,不是真正的从表中删除了,以后要是后悔,还可以恢复。
Deleteall逻辑删除所有记录
(2)恢复记录(只能恢复逻辑删除的记录)
①鼠标操作:
把要恢复的记录行首的黑块去掉
②命令操作:
recall[for条件]
★如果不跟条件,则只恢复当前记录(如果当前记录没有删除标记,则该命令什么事也不做);否则恢复满足条件的记录。
recallall恢复所有记录
(3)物理删除:
pack只删除前面有黑块的记录行。
(4)物理删除表中全部记录行:
①ZAP(会弹出一个询问对话框)。
ZAP就相当于deleteall+pack
Ⅲ修改记录:
(1)鼠标操作:
打开表浏览器直接修改。
(2)命令方式:
①用edit或change修改当前一条记录和skip配合使用。
②有条件修改(满足条件的记录行才进行修改,其他行不变):
Replace[all]字段名with表达式[for表达式]
★如果跟上[for表达式],则是对满足条件的记录行才进行修改。
★在不跟[for表达式]情况下,如果跟上[all],则是对所有记录进行修改。
★如果[all]和[for表达式]都不指定,则是对表中的当前记录进行修改。
Ⅳ显示记录:
list/display[字段名列表][for表达式]
★不使用条件时,LIST默认显示全部记录,而DISPLAY则默认显示当前记录。
★指定条件时,LIST和DISPLAY功能相同。
Ⅴ查询定位:
(1)鼠标操作:
打开表浏览器,用鼠标直接选中目标记录行。
(2)命令操作:
①goto/go[记录号/top/bottom]
②skip[数字]
③locatefor表达式…………continue
二关于自由表
结构部分
(1)创建自由表:
在没有任何数据库打开的状态下,新建的表就是自由表。
①鼠标操作:
“文件”→“新建”→选择“表”→单击“新建文件”
②命令操作:
create[表名]
(2)修改:
(自由表的表设计器的使用)
①鼠标操作:
“文件”→“打开”→“显示”→“表设计器”。
②命令操作:
use[表名]
Modifystructure
内容部分(自由表的浏览器的使用)
①鼠标操作:
“文件”→“打开”→“显示”→“浏览xx表”。
②命令操作:
use[表名]
Browse
三自由表和数据库表之间的转换
1自由表→数据库表:
打开数据库设计器→在里面空白处右击→选择“添加表”。
2数据库表→自由表:
打开数据库设计器→在要转换的表上右击→选“删除”。
在弹出的对话框中根据题目选择‘移去’或‘删除’
关于索引:
索引就像目录:
目的是为了便于快速查询数据;索引是对表中记录按某种逻辑顺序重新排列。
1分类:
①主索引:
字段或表达式不允许有重复值,且一个表只能有一个主索引,只有数据库表才可以建。
②侯选索引:
字段或表达式不允许有重复值,但一个表可以有多个侯选索引。
③唯一索引:
字段或表达式允许有重复值,但重复的值只出现一次,
一个表中可以有多个唯一索引。
④普通索引:
字段或表达式允许有重复值,一个表可以有多个普通索引。
2创建:
I鼠标操作:
①打开此表的表设计器,选择要建立索引的字段,在其同行的‘索引’那一列中,按照题目要求选‘升序’或‘降序’(题目若无要求,则选“升序”)。
②点击‘索引’选项卡,在其中的‘索引类型’中按照题目要求
进行填写。
Ⅱ命令操作建立索引:
Indexon表达式(字段名)tag索引名……
省略号处是一些可选项,可选项如下:
①UNIQUE唯一索引
②CANDIDATE候选索引
③什么都不跟就是普通索引
★命令操作无法建立主索引
3索引的扩展名:
①.idx非结构单索引
②.cdx(非默认名)非结构复合索引
③.cdx(与表同名)结构复合索引
4使用索引:
①setindexto[索引文件名]打开索引文件
②setorderto索引序号/索引名设置当前索引
③deletetag索引名/all删除索引
关于表间的永久联系
A表和B表建立永久联系:
找到A和B的共同字段XXX,以XXX为索引表达式在A表中建立一个主索引,在B表中建立一个普通索引,从主索引拖到普通索引即可。
关于参照完整性约束
★插入规则★更新规则★删除规则
注:
插入规则无“级联”。
关于多工作区
1指定工作区:
select工作区号/表名
选择当前未被使用的最小工作区:
select0
★VFP中一次最多可以同时打开32767个表,因为同时只能打开32767个工作区,就是说一个工作区只能同时打开一个表。
2使用不同工作区的表:
in工作区号/表名
例:
seek表达式order索引名in工作区号/表名
3表间的临时联系:
★setrelation
例子:
use学生in1order学号
use成绩in2order学号
setrelationto学号into成绩
关于排序
将表中记录物理地按顺序排列:
sortto新表名on字段名[/A|/D][/C]
VFP第4章
SQL语言(数据查询)
一、投影:
SELECT字段FROM表名
题目:
1.对职工表进行查询,显示职工的职工号。
2.对职工表进行查询,显示所有信息(即所有字段)。
二、选择:
SELECT字段FROM表名WHERE条件
题目:
3.对职工表进行查询,只显示工资多于1230元职工的职工号。
例如:
1。
从职工关系中检索(查询)所有的工资值。
2。
查询职工表中有哪些仓库号。
三、连接:
SELECT字段FROM表1,表2WHERE表1.字段名=表2.字段名
题目:
1。
对仓库表和职工表进行查询,查询显示所有字段。
2。
查找“E1”号职工所在的城市。
查询显示职工号和城市。
3。
查找工资多于1230元的职工号和他们所在的城市。
嵌套查询:
SELECT城市FROM仓库WHERE仓库号IN(SELECT仓库号FROM职工WHERE工资=1250)
BETWEEN……AND运算符(…和…之间)
题目:
1。
检索出工资在1220元到1240元范围内的职工信息。
LIKE运算符
例如:
SELECT*FROM供应商WHERE供应商名LIKE“%厂”
SELECT*FROM供应商WHERE供应商号LIKE“S_”
★%表示0个或多个字符;_(下划线)表示一个字符。
AS的作用
例如:
1。
查询“E1”的工资,显示时用”月薪”代替”工资”字段。
SELECT工资AS月薪FROM职工WHERE职工号=“E1”
连接查询的另一种写法:
SELECT*FROM仓库JOIN职工ON仓库.仓库号=职工.仓库号
简单的计算查询:
COUNT(计数)、SUM(求和)、AVG(计算平均值)、MAX(求最大值)、MIN(求最小值)
例如:
1。
求职工表中的记录的个数:
SELECTCOUNT(*)FROM职工
2。
求职工表中的工资总和:
SELECTSUM(工资)FROM职工
3。
求职工表中的平均工资:
SELECTAVG(工资)FROM职工
4。
求职工表中的最大的工资值:
SELECTMAX(工资)FROM职工
5。
求职工表中的最小的工资值:
SELECTMIN(工资)FROM职工
空值(.NULL.)查询
题目:
1。
找出尚未确定供应商号的订购单信息,查询显示所有字段。
排序查询:
SELECT字段名FROM表名WHERE条件ORDERBY字段[ASC/DESC]
题目:
1。
对职工表进行查询,查询显示所有字段,查询结果按工资升序排序。
2。
对职工表进行查询,查询显示所有字段,查询结果按职工号降序排序。
3。
对职工表进行查询,查询显示所有字段,查询结果先按仓库号降序排序,再按工资升序排序。
分组查询:
SELECT字段名FROM表名WHERE条件GROUPBY字段名[HAVING条件]
题目:
1。
查询所有仓库的职工的工资总和。
查询显示的字段为总工资。
2。
查询每个仓库中职工的工资总和。
查询显示的字段为仓库号和总工资。
3。
求至少有两个职工的每个仓库的平均工资,查询显示的字段为仓库号、个数和平均工资。
查询语句的后面还可以跟如下可选项:
⊙INTOARRAY数组名将查询的结果存放到数组(盒子)中。
⊙INTOCURSOR表名将查询的结果存放到一个临时表中。
⊙INTODBF/TABLE表名将查询的结果存放到一个永久表中。
⊙TOFILE文件名将查询的结果存放到一个文本文件中。
⊙TOPRINTER将查询的结果通过打印机输出。
UNION运算符的作用:
例如:
1。
如下查询语句是查询北京和上海的仓库信息。
SELECT*FROM仓库WHERE城市="北京";
UNION;
SELECT*FROM仓库WHERE城市="上海"
TOP短语的使用
例如:
1。
对职工表进行查询,只显示工资最高的3位的职工的信息(显示所有字段)。
SELECT*TOP3FROM职工ORDERBY工资DESC
SQL语言(数据操作)
一、插入:
INSERTINTO表名VALUES(……记录值……)
二、更新:
UPDATE表名SET字段名=表达式[WHERE条件]
题目:
1。
对职工表中的工资值进行修改,在职工原来的工资值上再加上1000元。
2。
对职工表中的工资值进行修改,只对仓库号为”WH1”中的职工在原来的工资值上再加上1000元。
三、删除:
DELETEFROM表名[WHERE条件]
题目:
1。
删除仓库表中全部记录DELETEFROM仓库
2。
删除仓库关系中仓库号值是”WH2”的元组。
SQL语言(数据定义)
一、表结构的定义:
CREATETABLE表名(字段名1…,字段名2…字段名n…)
二、表结构的删除:
DROPTABLE表名
三、表结构的修改:
ALTERTABLE表名…………
题目:
1。
向”订购单”表增加一个“总金额”字段,字段类型为货币型。
2。
向”订购单”表增加一个“总金额”字段,字段类型为货币型。
并且为该字段设置有效性规则。
3。
将”订购单”表中的“订购单号”字段的类型修改为字符型,宽度修改为6。
4。
将”订购单”表中的“总金额”字段的有效性规则进行修改。
5。
将”订购单”表中的“总金额”字段的有效性规则删除。
6。
将”订购单”表中的“总金额”字段名改名为“金额”
7。
将”订购单”表中的“金额”字段删除掉。
8。
为”订购单”表中的“供应商号”字段设置为候选索引。
9。
将”订购单”表中的候选索引(供应商号)删除。
关于视图(虚拟表):
★本地视图★远程视图★带参数的视图
定义:
CREATEVIEW视图名AS查询语句
题目:
1。
已知表结构如幻灯片上所示。
下面我们想根据“职工”表创建一个视图,视图名为CHENHAO。
该视图中只包含仓库号和职工号两个字段。
CREATEVIEWCHENHAOASSELECT仓库号,职工号FROM职工
删除:
DROPVIEW视图名
VFP第5章
关于查询设计器
作用:
利用查询设计器可以用鼠标操作来完成一些简单的查询。
创建:
①鼠标操作:
“文件”→“新建”→勾选“查询”→“新建文件”。
②命令操作:
CREATEQUERY[文件名]
★如果不指定文件名,系统将自动赋予一个指定的名称,如“查询1、查询2……”。
题目:
一、利用查询设计器创建查询,从xuesheng和chengji表中查询数学、英语和信息技术三门课都在85分以上(含),或者数学、英语都在90分以上(含)而信息技术在75分以