江苏省计算机等级考试二级VFP复习资料.docx
- 文档编号:10000438
- 上传时间:2023-02-07
- 格式:DOCX
- 页数:120
- 大小:214.32KB
江苏省计算机等级考试二级VFP复习资料.docx
《江苏省计算机等级考试二级VFP复习资料.docx》由会员分享,可在线阅读,更多相关《江苏省计算机等级考试二级VFP复习资料.docx(120页珍藏版)》请在冰豆网上搜索。
江苏省计算机等级考试二级VFP复习资料
江苏省计算机等级考试二级VFP复习资料
计算机的应用领域:
科学计算、数据处理(70%)、自动控制、辅助设计、人工智能
数据处理需求:
大量地处理数据(人事、工资、成绩管理、销售管理、图书馆、售票)
数据库是计算机系统的一个重要组成部分。
数据库技术是信息技术中应用最广泛的技术之一
计算机系统包括:
硬件和软件;其中软件又包括系统软件和应用软件,系统软件有:
OS、DBMS、编译
数据处理是对各种类型的数据进行收集、存储、分类、计算、加工、检索和传输的过程。
数据处理的中心问题是数据管理
数据管理是对数据的分类、组织、编码、存储、检索和维护。
计算机数据管理技术发展的三个阶段
–人工管理阶段、文件系统阶段、数据库系统阶段
数据库系统(DataBaseSystem)
–组成:
数据库(DB)、数据库管理系统(DBMS)、操作系统、应用程序、计算机硬件以及数据管理员(DBA)
–DBS=DB+DBMS+DBA
数据库:
–以一定的组织形式存放在计算机的存储介质上的相互关联的数据的集合。
–特点:
按一定的数据模型组织,具有较小的冗余度,较高的数据独立性和扩展性,安全、可靠、保密性好
•数据库的组成:
数据+元数据
•数据库按数据模型可分为:
–层次、网状、关系、面向对象数据库
DBMS是DBS的核心:
•DBMS对DB进行管理(建立、使用和维护)的系统软件,是用户和数据库之间的接口,
•提供了用户对DB进行操作的各种命令
(DB的建立、记录的输入、修改、检索、显示、删除、统计等)
•DBMS的组成:
–模式翻译、应用程序编译、交互式查询、
–数据的组织和存取、事务运行和管理、数据库的维护
DBA是管理数据库系统的机构和相关人员,具有最高的数据特权,负责全面管理DBS
•DBA的主要职责
–规划和定义数据库的结构
–定义数据库的安全性和完整性
–选择数据库的存储结构和存取路径
–监督和控制数据库的使用和运行
–改进数据库系统和重组数据库
DB和DBMS的关系:
在数据库系统中,用户通过DBMS可以建立和使用DB,使用DB是目的,而DBMS是实现目的的手段和工具
数据库系统三级结构
–外部层(用户看到的)
–概念层(所有信息的概括)
–内部层(如何存储)
三级结构间存在两级映射,保证了数据的物理独立性(2、3)和逻辑独立性(1、2)
信息转化的三个阶段:
–现实世界、观念世界、数据世界
现实世界信息世界数据世界
↓抽象↓数据表示↓
事物及联系实体模型数据模型
↓↓↓
事物实体数据
↙↘↙↘↙↘
对象性质对象属性记录字段
数据模型:
是数据库领域定义数据及其操作的一种抽象表示。
数据模型的三要素
–数据结构(实体及实体联系)
–数据操作
–数据的约束条件
数据模型分类
–概念数据模型:
E—R模型
–逻辑数据模型:
层次模型、网络模型、关系模型、面向对象模型
广泛使用的概念模型是实体-联系模型,简称E-R模型,三要素:
实体、联系、属性
•实体:
–用来对应现实世界的事物,
–实体集中的实体借助实体标识符(关键字)来加以区别
•联系
–分类:
1:
11:
mm:
n
•属性:
–实体或联系所具有的特征
•E-R图:
E-R模型的图形化表示
–实体集—矩形联系—菱形属性—椭圆形
关系模型以关系代数理论为基础,是当今广泛使用的数据库关系模型
•关系:
–是以二维表结构来表示实体及其实体间的联系。
–一个关系就是一张二维表
–例子:
学生表、成绩表、课程表类别、产品
•属性(字段):
一列Field
•元组(记录):
一行Record
•关系模式:
–是对关系结构的描述,它包括模式名以及组成该关系的各属性名,例:
成绩(学号,课程代号,成绩)
关键字(码):
唯一标志一行的多列为关键字。
•超关键字唯一标志一行的多列XH+XIMING+CSRQ
•候选关键字+无多余的列XHXM+XB
•主关键字+从候选中选唯一的一个XH
•外关键字其他表的主关键字CJ表XH
关系模型:
用二维表表示实体集,通过外部关键字表示实体间联系的数据模型。
•关系模型的组成:
–关系
–关系操作:
选择、投影、连接、除
–关系的三类完整性:
•域完整性(列级/元组级)
•实体完整性
•参照完整性
•用户定义的完整性
关系是一种规范化了的二维表
•关系的性质:
•不规范的关系模式存在的缺点:
–数据冗余度大,插入异常,删除异常
–所以设计关系时应尽量将互相依赖密切的属性构成单独的关系模式
•解决办法:
–基于关系代数的关系规范化理论,
–关系规范化的过程是通过关系中属性和关系的模式分解来实现的。
关系规范化的条件可以分为几级,每级称为一个范式(NormalForm)
•1NF每个属性不可分解
•2NF完全函数依赖于候选关键字
•3NF不传递依赖于候选关键字(实际关系模型中要满足3NF)
传统的集合运算,要求两个相同的关系模式
–并、交、差
专门的关系运算
–选择原关系的子集,水平分解
–投影抽取原关系的部分属性形成的新的关系,垂直分解
–联接根据给定的条件将两个关系拼成一个新的关系
面向对象模型按如下方式组织
•事物——对象——对象标识
•对象=状态+行为
•具有相同属性和方法的对象集合——类
对象——实例
•类层次 类的继承 父类——子类——子类
•类的复合 属性的定义域可以为类
•对象是被封装的,状态和行为外部不可见,
•外部只能通过显式定义的消息传地对对象进行操作
常见的关系数据库:
IBMDB2、ORACAL、INFOMIX、SYBASE、SQL-SERVER等
•微机数据库管理系统:
VisualFoxpro、Access
•数据库管理系统的发展趋向:
分布式、网络化、面向对象、数据仓库
•VFP的发展:
70年代后期微机出现-------1981dBase--dBaseII-----dBaseIV------Foxbase---Foxpro(dos)--------Foxpro(Windows)-----VisualFoxpro
VFP的特点
最突出的特点:
OOP功能(面向对象编程)
•集成环境:
菜单(主菜单(动态)+快捷菜单)、工具栏
状态栏
主窗口
命令窗口(VFP的两种操作方式鼠标+命令)
通过命令窗口输入(命令方式)
myform=CreateObject("form")
myform.show
myform.Width=400
myform.Height=300
myform.AutoCenter=.t.
myform.BackColor=RGB(0,0,255)myform.Caption="我是表单"
编写包含多条命令的程序(程序方式)
程序中使用的命令称为语句
VFP命令主要书写规则:
◆VFP命令不区分大小写:
COPY FILE=copyfile
◆命令动词和短语可以只书写前4个字母:
create=creaclear=clea
◆VFP命令必须以动词开头,短语次序不限:
deletefileFilename
◆一个命令行只能写一条命令
VFP命令
•执行命令:
Enter键;删除当前输入的命令:
Esc键。
•一条长命令分为多行输入(在前面几行)的结尾处输入分号;(最后一行除外)
•重复执行某条命令,再次按Enter键
•若要重复执行已输入的多条命令,执行快捷菜单中“运行所选区域”命令
几个常用命令
*本行是注释&&此后是注释
?
换行显示?
?
接着上次的内容显示
CLEAR清除主窗口信息
DIR显示文件
MD创建目录(makedirectory)RD删除目录CD改变目录
COPYFILE复制文件RENAMEFILE重命名DELETEFILE删除文件
RUN运行应用程序
QUIT退出VFP系统
配置VFP操作环境
•工具——选项
–例:
设置文件的位置时间格式千位年份
•SET命令
–可以进行临时设置
(当前有效,重新启动VFP将不起作用)
–设置默认路径setdefaulttod:
\huang
设置日期显示四位年份setcenturyon
VFP文件类型
•与某一种类型的文件相关的磁盘文件类型可能有多个
例如:
:
项目类:
pjx(项目)pjt(项目备注)报表类:
frx(报表)frt(报表备注)
•创建文件:
–菜单/工具栏/命令
–工具(设计器、向导、生成器)
比较重要的文件类型:
PRG(程序)FXP(编译后的程序)
项目管理器:
VFP的管理中心
·项目:
管理文件的文件(保存在磁盘),说明和某一个任务相关的数据、对象、文档等
·项目管理器
–组织工具
–选项卡
分类、层次
–定制项目管理器
项目管理器的操作
•命令按钮是“动态”的,随着当前选择的操作对象或类型而有所不同
*新建:
通过项目管理器新建的文件或对象被项目所管理(在项目管理器窗口中显示);利用菜单命令“新建”“文件”或“常用”工具栏上的“新建”按钮或在命令窗口中利用命令创建的某种类型的文件或对象,不会显示在项目管理器窗口中,即不被项目所管理。
*移去:
被移去项的相关信息仍然保留在项目文件中,但已做了删除标记。
如果需要彻底删除相关信息,则需要执行菜单命令“项目”“清理项目”。
•快捷菜单命令:
–包含/排除:
排除(该项前用带斜线的圆圈标注),包含的项在运行时只读
–设置主文件:
项目中只能有一个主文件,显示时该项用粗体表示
系统将第一个创建的程序、表单、查询或菜单作为默认为主文件
–重命名:
不允许对已打开的文件重命名。
–编辑说明
–项目信息
•项目间共享文件
–项目中可以添加任何一种类型的文件
–一个项目可以和多个其他文件共享文件
共享方法:
若要在项目间共享文件,首先打开要共享文件的两个项目,在包含该项目的“项目管理器”中选择该文件,拖动该文件到另一个项目容器中即可。
数据类型
·适应现实世界的各种各样的数据类型
–用来表示数字的数值型、用来表示日期的等、用来表示姓名等信息的字符型
·什么是数据类型?
哪两个方面的含义?
–数据类型:
数据对象的取值集合,以及对它可施行的运算的集合
·怎样指定数据类型
–字段——在创建时提前规定
举例:
cj数值型宽度3位,没有小数部分
–变量——由其中保存的值来确定
x=100数值型100
VFP的基本数据类型
·只适用于表字段的数据类型
–*只适用于表的字段
·哪些类型在内存中占用的字节固定?
–字符型(最多有254个字符)、数值型、浮点型的在内存中占用的字节不固定,其它类型占用固定字节(货币、日期、日期时间8字节)
数据容器:
用来保存数据的常量、变量、数组、记录和对象
VFP中的命名规则
①开头:
字母、汉字、下划线
②包含:
字母、汉字、下划线、数字
③长度限制:
自由表的字段名、表的索引标识名≤10,其他1~128个字符
④哪些字符不能使用:
避免使用保留字(use、create、do等)
举例:
下列名称为什么合法?
cVarnVar2x_2sum_of_scorenSum_score_aer_gz_1
下列名称为什么不合法?
2x2_xnum-of-xsnsum&score_aver#gzuse
常量:
在所有操作过程中保持不变
·不同类型常量的特点?
–不同类型的常量有不同的定界符
–不同类型的常量允许进行不同的运算
·常量类型
–数值型:
数字、小数点、正负号如:
3.12E±28
–货币型:
$200
–字符型:
‘’“”[]
–逻辑型.f..t..y..n.
–日期型{//}{--:
:
}{}空日期
日期格式
·传统日期格式
–受到set命令的影响setdatetosetcenturyon|off
–VFP5.0及以前版本的默认格式
–系统默认日期格式(月/日/年)
美国{mm/dd/yyhh:
mm:
ss[a|p]}{09/20/981:
05:
50}
–可以通过更改区域设置来更改日期格式
setdatetoymdsetdatetolongsetcenturyon
·严格日期格式
–不受set命令的影响
–VFP6.0及以后版本的默认格式(年/月/日)
·在VFP6.0以后版本中怎样使用传统格式?
–要是用传统的格式需要使用setstrictdateto0
编译时常量
·什么时候可以使用:
在程序中(非交互方式下)
·本质:
命名的数据项
·格式:
#define常量名值
·引入原因:
简便、批量修改
变量
•给存储位置一个标号(变量名),存储内容是变化的,由程序(命令)来修改
•内存变量:
由用户定义的内存中的一个(组)存储单元,变量名是存储位置的符号
标志。
•其值可以由程序操作修改。
使用过程中该存储单元中存放的数据在程序操作期间通过变量名去修改
•创建变量VFP的变量不需要特殊声明
=(赋值)、STORE值TO变量名
•访问变量
–字段变量与内存变量同名时,字段变量优先
–此时要引用内存变量,在变量名前加M.或M->
xm=1234
?
xm
?
m.xm
?
m->xm
–例子:
当前工作区打开了JS表,当前记录的xm字段的值为“王一平”?
xm,m.xm
•控制变量的访问
–程序:
为解决问题设计的一连串的指令
–计算机的存储程序控制的原理
–子程序的提出:
程序太长、有重复操作、提高程序的可读性
–作用域:
应用程序运行(内存变量)
创建变量的工作区(字段)
–PRIVATE私有当前及子程序(若程序中未定义,默认为私有)
LOCAL局部当前
PUBLIC公共(全局)所有运行的程序中(只能说明一次)命令窗口中
变量均为PUBLIC型
公共(全局):
在当前工作期,任何程序都能使用全局变量
私有:
私有变量的作用范围是当前程序及子程序;私有变量允许在当前程序中使用调用程序(上级程序)中的同名变量,不影响变量的原始值;
局部:
局部变量只能在当前程序中使用,不能被更高层或更低层的程序访问
内存变量的保存与恢复
•显示:
displaymemoerylike
•清除:
clearmemoery
•保存到文件:
saveto文件名(扩展名为mem)
•从文件恢复:
restorefrom
数组(内存中有序的数据值系列)
•数组:
–由一系列被称为元素的有序数据值构成。
–内存中连续的内存单元
–多个变量共用同一个名称,并且连续存放在一个空间里的数据集合
•数组元素的表示
–数组名(序号)
数组的声明(任意数据类型)
•私有
–DECLARE数组名(下标1)
–DIMENSION数组名(下标1,下标2)
•公用PUBLIC数组名(下标1)
•局部LOCAL数组名(下标1)
•声明之后,每个元素被默认赋予.F.值,在赋值时确定具体类型
•不能对已定义的数组再定义,但可以更改维数
举例:
dimensiondd(8)
dd(5)=3
dimensiondd(3,3)
2维数组在内存中也要顺序存放,
顺序先行后列存放dd(1,1)dd(1,2)…
因此1维数组和2维数组在某种程度上等价
?
dd(3,2)结果为3,等价与dd(5)
•为数组元素赋值
–给某个元素赋值数组名(I,J)=值store
–给所有元素赋相同值数组名=值,此时数组名代表所有数组元素
–用表数据给数组赋值
•当数组名独立出现在=后时,代表什么?
数组的第一个元素x=dd等价于xx=dd
(1)
字段
•字段型变量的类型由设计阶段决定
–(表设计器、CREATETABLE)
•字段变量:
字段中的值随指针的移动而变化,所以可视字段为变量
对象
•类
–对于拥有数据和一定行为特征对象集合的描述
–例:
汽车类—四轮、发动机、燃料、可以行驶
•对象
–类的实例,属性、方法、事件
–例:
黑白相间的足球被踢进了球门
特征发生了什么事执行了什么动作
•创建对象CreateObject()函数
mf=createobject("form")
mf.show
mf.backcolor=rgb(255,0,255)
mf.circle(100,100,100)
不同数据容器作用域的差异
•编译时常量,只在程序中使用,作用域为私有
•对象的属性,通过对象和对象层次被引用
例:
汽车.发动机.燃料类型=”汽油”
运算符:
操作符可用来处理同类型的数据(大多数时候)
•数值操作符
–优先级高到低()**或^*/%(取余数)+-
–%(取余数)的结果中符号同除数的符号
6%56%-5
•字符操作符(字符型、备注型)
+两个字串直接相连(结果为字串)
–第一个字串去掉尾部空格与第二个字串相连,连接后字符串的末尾有空格(结果
为字串)
$第一个字串是否包含在第二个字串中,结果为逻辑值
?
“I”-“love”-“peace!
”?
“face”$“happyface”
•日期和日期时间操作符(日期、整数)
+日期+N今天后的第N天;日期时间+N日期时间加N秒
–日期–N今天前的第N天;日期时间–N日期时间减N秒
日期-日期返回天数日期时间–日期时间返回秒数
·逻辑操作符(逻辑数据)
–优先级大到小()、NOT或!
、AND、OR
例:
4>2OR2>3ANDNOT“3”$“123”
4>2OR(2>3AND(NOT(“3”$“123”)))
·关系操作符:
用于同种类型的比较,包括字符、备注和数字相关的类型、日期、逻辑型(真>假)
–日期比较:
数字越大,日期越大,越后发生的日期越大
?
{9/20/99}-{9/15/99}
–字符串比较:
1)从左到右逐个比较,字符不同则根据字符排序序列决定两个字符串的大小,字符串比较的结果还受到是否精确比较的影响
2)Machine序列:
按照机内码顺序排序。
空格<大写字母<小写字
母<一级汉字(按拼音排序)<二级汉字(按笔画排序)
PinYin序列:
汉字按拼音序列排序。
对于西文字符,空格<小写字母<大写字母
Stroke序列:
汉字按笔画序列排序。
对于西文字符,空格<小写字母<大写字母
3)设置字符的排序序列
**大小写英文字符比较受VFP设置影响
•“工具”——“选项”——“数据”选项卡
–machine按ASCII码,大写<小写
pinyin大写>小写
stroke大写>小写
•也可以使用set命令
–Setcollateto“machine”
Setcollateto“pinyin”
–Setcollateto“Stroke”
4)字符串精确比较
·用=进行字符串比较,结果受到系统环境的影响
–SETEXACTOFF
左串长右串短时,将左串截去与右串比
?
“bcde”=“bc”-----返回.T.
?
“bc”=“bcde”-----返回.F.
?
“bc”=“bc”-----返回.F.
–SETEXACTON
将短的字符串加空格至长度相等,再精确比较
?
“bcde”=“bc”-----返回.F.
?
“bc”=“bcde”-----返回.F.
?
“bc”=“bc”-----返回.T.
•用==进行字符串的精确比较
不受SETEXACT命令所设置的环境影响,只有长度相等且各个字符相同时,两个字符串才相等。
函数:
•引入:
–在系统中有一些经常使用的运算或功能,比如:
对一个字符串取子串,今天是几号等。
对这些常用的运算或功能可以预先编制好程序代码,并加以命名,供用户或程序调用,称之为函数
•分类:
–系统函数
–用户自定义函数
•函数定义:
–是一种预先编制好的程序代码,可供用户或程序调用。
接受0个或多个参数,返回一个值。
•函数的格式
–函数名([参数1[,参数2[,……]]])
–SQRT(9)LEFT(“MicroSoft”,5)DATE()
•函数的组成:
–函数名SQRTLEFTDATE
–0个或多个参数9MicroSoft5无
–一个返回值3Micro今天的日期
参数
•形参:
在编写函数时(预先编制程序代码时),不给定的具体数据,而是采用符号代表数据,称为形式参数,简称形参
–(类似于公式,例如ax2+bx+c=0的根x1,2=(±b+sqrt(b*b-4*a*c))/2中的a,b,c)
•实参:
在使用函数时(实际运行程序代码时)对应符号给定具体的值,称为实际参数,简称实参
–(x2+8x+6=0中的1,8,6)
返回值
•函数返回单个值,因此可以将函数作为表达式的一部分,函数之间可以嵌套。
–12345+sqrt(12345)Year(date())round(sqrt(8562),0)
系统函数的分类
•查询函数帮助的方法:
“帮助”菜单——“帮助内容”——“索引”
·分类:
数据类、数据库类、环境类、输入输出类、程序设计类
常用函数介绍
•数值函数:
◆ABS()函数
–功能:
返回指定数值表达式的绝对值
–举例:
?
ABS(-45)显示45
◆MAX()和MIN()函数
◆INT()函数
–功能:
计算一个数值表达式的值,并返回整数部分
–举例:
?
INT(12.5)显示12
◆MOD()函数
–功能:
用一个数值表达式去除另一个数值表达式,返回余数
–举例:
?
MOD(25.250,5.0)显示0.250
?
MOD(23,-5)显示-2
?
MOD(-23,-5)显示-3
–规则:
被除数表达式中的小数位数决定了返回值中的小数位数;
除数表达式为整数,返回值为正,否则返回式为负。
◆ROUND()函数
–功能:
返回圆整到指定小数位数的数值表达式
–举例:
?
ROUND(1234.1962,2)显示1234.2000
?
ROUND(1234.1962,0)显示1234.0000
?
ROUND(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 江苏省 计算机等级考试 二级 VFP 复习资料