VF二级复习资料.docx
《VF二级复习资料.docx》由会员分享,可在线阅读,更多相关《VF二级复习资料.docx(23页珍藏版)》请在冰豆网上搜索。
VF二级复习资料
1.数据(Data)定义:
数据一般被认为是对客观事物特征所进行的一种抽象化、符号化来表示。
主要包括以下两个方面:
一是描述事物特性的数据内容,二是存储在某一种媒体上的数据形式。
2.数据处理定义:
数据处理是指将数据转换成信息的过程。
通过处理数据可以获得信息,通过分析和筛选信息可以产生决策。
3.计算机数据管理定义:
计算机对数据的管理包括对数据的收集、整理、组织、存储、维护、检索、统计、传输等一系列的工作。
4、计算机数据管理五个环节:
对原始数据的收集.数据的规范化以及编码.数据输入.数据处理.数据输出
5、数据库(DB)定义:
指数据库系统中以一定的方式将相关数据组织在一起,存储在外存储设备上形成的、为多个用户共享、与应用程序相互独立的相关数据集合。
数据库设计的根本目标:
解决数据共享问题
6、数据库管理系统(DBMS)定义:
用于建立、使用和维护数据库的系统软件。
数据库管理系统对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。
DBMS是数据库系统的核心。
VisualFoxPro就是一种数据库管理系统软件。
DBMS是一个系统软件,必须在操作系统和相关系统软件支持下,才能效的运行。
7、数据库系统定义(DBS):
指引进数据库技术后的计算机系统(DBS),实现有组织地、动态地存储大量相关数据,提供数据处理和资源共享的便利手段。
由以下五部分组成:
硬件系统、数据库集合、数据库管理系统及相关软件、数据库管理员和用户。
8、数据库应用系统(DBAS):
指系统开发人员利用数据库系统资源开发出来的,面向某一类实际应用的应用软件系统。
注:
DBS包含DB和DBMS;DBS的核心是DBMS;DBAS的核心是DB;
9、数据库系统的特点:
实现数据共享,减少数据冗余、采用特定的数据模型、具有较高的数据独立性、有统一的数据控制功能
10.实体的描述:
客观存在可以相互区别的事物,实体既可以是具体的对象,也可以是抽象的对象。
11.实体集和实体型:
属性值的集合表示一个实体,而属性的集合表示一种实体的类型,称为实体型。
同类型的实体的集合,称为实体集。
12.实体间联系及联系的类型定义:
实体之间相对应的关系称为联系,它反映了现实世界事物之间的相互关联。
类型:
一对一联系、一对多联系、多对多联系
13.数据模型简介定义:
数据模型是在数据库领域中定义数据及其操作的一种抽象表示。
类型:
层次数据模型、用树形结构表示实体及其实体间联系的模型、网状模型、利用网状结构表示实体及其之间联系的模型、关系模型
14.关系定义:
一个关系就是一张二维表,通常将一个没有重复行、重复列的二维表看成一个关系。
在VisualFoxPro中,关系文件扩展名.DBF,称为“表”。
15.元组定义:
在一个二维表中,水平方向的行称为元组,每一行就是一个元组,元组对应存储文件中的一个具体记录。
16.属性定义:
二维表中垂直方向的列称为属性,每一列都有一个属性名,在VisualFoxPro中属性表示为字段名。
17.域定义:
域就是不同元组对同一个属性的取值所限定的范围,其类型与范围具体由属性的性质及其所表示的意义确定。
同一属性只能在相同域中取值。
18关键字定义:
关系中不允许出现相同的记录,能唯一区分、确定不同元组的属性或属性组合,称为该关系的一个关键字。
19.外部关键字定义:
当A表的主关键字被包含到B表中时,A表的主关键字就称为B表的“外部关键字”。
20.关系的特点:
关系必须规范化、二维表中的每一列都有唯一的字段名且取值性质相同、二维表中不允许出现完全相同的两行、二维表中可以任意交换行的顺序和列的顺序
21.关系设计原则:
概念单一化原则、避免在表之间出现重复字段、表中的字段必须是原始数据和基本数据元素、用外部关键字保证有关联的表之间的联系
22.下拉式菜单项:
主菜单栏中包括8个下拉式菜单项:
文件(F)、编辑(E)、显示(V)、工具(T)、程序(P)、项目(Q)、窗口(W)、帮助(H)。
23.项目:
项目是文件、数据、文档和VisualFoxPro对象的集合。
项目的扩展名为.pjx
24.项目管理器:
是VFP中用来创建、修改、组织项目中各种对象和数据的主要组织工具,是VFP的“控制中心”,在项目管理器中也可以将应用系统编译成一个扩展名为.app的应用文件或.exe的可执行文件。
25.数据选项卡:
数据库,自由表,查询;文档选项卡:
表单,报表,标签;程序选项卡:
程序;其它选项卡:
菜单,文本文件
26.<范围>子句表示命令对表文件进行操作的记录范围,一般有4种选择:
ALL:
表示数据表的所有记录;NEXT:
指定第n条记录;RECORD:
从当前记录开始的n条记录;REST:
从当前记录到文件结束的所有记录
27.条件子句:
FOR<条件>的作用是:
在规定的范围中,按条件检查全部记录,即从第一条记录开始,满足条件的记录就执行该命令,不满足的就跳过该记录,继续搜索下一条记录,直到最后一条记录。
若省略<范围>,则默认为ALL;WHILE<条件>的作用是:
在规定的范围中,只要条件成立,就对当前记录执行该命令,并把记录指针指向下一条记录,一旦遇到使条件不满足的记录,就停止搜索并结束该命令的执行。
即遇到第一个不满足条件的记录时,就停止执行该命令,即使后面还有满足条件的记录也不执行。
若省略范围则默认为REST。
28常量定义:
常量是指在所有的操作过程中保持不变的数。
29常量分类:
数值型常量(N)可以是整数、实数或科学记数法。
在内存中占8个字节;货币型常量(Y)不可用科学计数法,货币型常量用来表示货币值,其书写格式与数值型常量类似,但在表示货币型常量时,需要在数字前加上货币符号($)。
货币数据在存储和计算时,采用4位小数,占据8字节存储空间。
货币型数据用字母Y表示。
如果一个货币型常量多于4位小数,则系统会自动将多余的小数四舍五入;字符型常量:
日期型常量;日期时间型常量;逻辑型常量
(1)SETDATETO(设置日期格式)。
(2)SETMARKTO(设置自定义分隔符)。
(3)SETCENTURYON/OFF(设置显示格式的年份是以四位显示还是以两位显示,默认两位)(4)SETCENTURYTO[世纪值]ROLLOVER[年份参照值]
(5)SETSTRICTDATETO
30.日期时间型常量(T)日期时间型常量包括日期和时间两部分:
{<日期>,<时间>}。
日期时间型数据用8个字节存储,第一个4字节保存日期,其余的4字节保存时间。
31.逻辑型常量(L)逻辑型数据只有逻辑真和逻辑假两个值。
逻辑真的常量形式有:
.T.、.t.、.Y.和.y.,逻辑假的常量表示形式有:
.F.、.f.、.N.和.n.。
前后两个黑点作为逻辑型常量的定界符是必不可少的,否则会被误认为变量名。
逻辑型数据只占用1个字节。
32.变量:
其值是动态的,可以随时更改的。
分为内存变量和字段变量。
33.变量的命名规则:
只能使用字母、下划线,汉字和数字;必须以字母、汉字或下划线开头;避免使用VFP中的保留字。
;变量名字长度是1-128个字符,但自由表的字段名和索引名最多只能是10个字符。
34.字段变量定义:
表中的字段名就叫字段变量,字段变量保存在表中,可永久存在,字段变量的类型与定义表时设置的类型是一致的。
类型:
数值型、浮点型、货币型、整型、双精度型、字符型、逻辑型、日期型、日期时间型、备注型和通用型等。
35.内存变量(无备注和通用类型)定义:
内存中的一个存储区域,只能临时存在,一但退出系统就自动消失,其类型包括:
字符型(C),数值型(N),货币型(Y),逻辑型(L)日期型(D),日期时间型(T)。
36.内存变量的赋值方法:
格式:
STORE<表达式>TO<内存变量名表>
37.数组定义:
是由一系列元素组成,每个数组元素相当于一个简单内存变量,分为一维数组和二维数组。
38.一维数组的声明:
DIMENSION|DECLARE<数组名>(<下标上限>)数组大小由下标值的上、下限决定,下限规定为1。
数组定义之后,系统自动给每个元素赋一个初值:
逻辑值.F.。
在赋值和输入语句中使用数组名时,表示将同一个值同时赋给该数组的全部数组元素。
39.RELEASEALL&&清除所有的内存变量;如:
RELEASEALLEXTENDED&&专用于在程序中清除公共内存变量;RELEASEALLLIKEA*&&清除以字母A开头的所有内存变量;如:
RELEASEALLEXCEB*&&除了字母B开头的内存变量不清除外,其它都清除
40.将表的当前记录复制到数组:
SCATTER[FIELDS<字段名表>][MEMO]TO<数组名>[BLANK
41将数组数据复制到表的当前记录:
GATHERFROM<数组名>[FIELDS<字段名表>][MEMO]
42.数值表达式定义:
数值表达式又叫做算术表达式,是最容易理解的一种表达式。
数值型数据可以是数值型常量或者变量。
其运算结果仍然是一个数值型数据
43.求余运算%:
[1]两正数求余情况,大家都知道。
[3]若两数不能整除,除数和被除数都为负时,余数则为两数取绝对值后直接相除所得的余数再加负号。
[4]若两数不能整除,被除数为负,除数为正时,余数为两数直接相除后的余数再加上除数。
[5]若两数不能整除,被除数为正,除数为负时,余数为除数取绝对值后两数相除的余数再加上除数。
44.字符表达式定义:
由字符串连接运算符将字符型常量、变量或者函数连接起来形成,其运算结果仍然是一个字符型数据。
45.运算符:
﹢:
前后两个字符串首尾连接形成一个新的字符串。
﹣:
连接前后两个字符串,并将前字符串的尾部空格移到合并后的新字符串尾部。
两运算符的优先级相同。
46.各种类型的数据进行比较
(1)数值型和货币型——按数值的大小进行比较2)日期或日期时间型——越早的日期时间越小,越晚的日期时间越大(3)逻辑型——.T.大于.F.
47.$:
“属于”运算符,左边字符串在右边字符串的任意位置能够找得到,结果为真,否则结果为假。
(专用于字符串比较)
48.=:
等于运算符,比较分以下两种情况:
[1]模糊比较(SETEXACTOFF)——只要右边字符串在左边字符串的起始位置能找得到,结果就为真,否则结果为假。
[2]精确比较(SETEXACON)——在比较之前先去掉两边字符串的尾部空格,再进行比较,如果两个字符串完全相等结果就为真,否则结果为假。
49.1.ABS()函数,功能:
ABS()函数返回指定的数值表达式的绝对值。
2.SIGN()函数,功能:
SIGN()函数返回指定数值表达式的符号。
当表达式的结果为正、负和0时,函数值分别为1、-1和0。
3.SQRT()函数,功能:
SQRT()函数返回数值表达式的平方根。
4.PI()函数,功能:
PI()函数返回数值常量π的近似值。
5.INT()函数,功能:
INT()函数返回数值表达式的整数部分。
6.CEILING()函数,功能:
CEILING()函数返回大于或等于数值表达式的最小整数。
7.FLOOR()函数功能:
FLOOR()函数返回小于或等于数值表达式的最大整数。
9.MOD()函数功能:
MOD()函数返回<数值表达式1>除以<数值表达式2>两个数相除后的余数。
余数的正负号与除数相同。
10.MAX()函数功能:
MAX()函数返回数值表达式中的最大值表达式。
11.MIN()函数功能:
MIN()函数返回数值表达式中的最小值表达式。
1.LEN()函数功能:
LEN()函数返回字符表达式值的长度,函数值为数值型。
注意:
每个中文字符占两个字符。
2.LOWER()函数:
LOWER()函数将表达式中的大写字母转换成小写字母,其他字符不变。
3.UPPER()函数功能:
UPPER()函数将表达式中的小写字母转换成大写字母,其他字符不变。
4.SPACE()函数功能:
SPACE()函数生成指定空格数的空字符串。
5.LTRIM()函数功能:
LTRIM()函数删除<字符表达式>串首空格字符。
6.ALLTRIM()函数功能:
ALLTRIM()函数删除<字符表达式>首尾空格字符。
7.LEFT()函数功能:
LEFT()函数从字符表达式值的左端取一个指定长度的子串作为函数值。
8.RIGHT()函数功能:
RIGHT()函数从字符表达式值的右端取一个指定长度的子串作为函数值
9.SUBSTR()函数格式:
功能:
SUBSTR()函数从表达式值的起始位置取一个指定长度的子串作为函数值。
如果不指定“长度”,则从指定的“起始位置”开始一直取到末尾。
10.OCCURS()函数功能:
OCCURS()函数返回第一个字符串在第二个字符串中出现的次数。
12.STUFF()函数功能:
STUFF()函数用<字符表达式2>串替换<字符表达式1>串中由<起始位置>和<长度>指明的一个子串。
⏹如:
?
STUFF("ABCDEFG",2,3,"123")&&结果为:
A123EFG
⏹[1]如果“长度”为0,表示把字符表达式2插入到字符表达式1中指定的起始位置之前。
⏹如:
?
STUFF("ABCDEFG",2,0,"123")&&结果为:
A123BCDEFG
⏹[2]如果“字符表达式2”是空串,表示从字符表达式1中指定“起始”位置开始,连续删除指定“长度”个字符。
⏹如:
?
STUFF("ABCDEFG",2,3,"")&&结果为:
AEFG
⏹STR()函数
⏹格式:
STR(<数值表达式>[,<长度>[,<小数位数>]])
⏹功能:
⏹STR()函数将<数值表达式>按设定的<长度>和<小数位数>转换成字符型数据,函数返回值为字符型。
⏹如:
?
STR(123.4567,8,4)&&结果为:
"123.4567"
⏹[1]理想“长度”等于整数部分加上指定"小数位数",再加上小数点。
⏹如:
?
STR(123.4567,7,3)&&结果为:
"123.457",长度7为理想长度。
⏹[2]如果指定“长度”大于“理想长度”,则在字符串前加空格来达到指定“长度”。
⏹如:
?
str(123.4567,9,3)结果为:
"123.457"
⏹[3]如果指定“长度”小于“理想长度”,但又大于或等于整数部分长度,则优先满足整数部分,然后再考虑小数部分。
⏹如:
?
str(123.4567,5,4)结果为:
"123.5"?
str(123.4567,3,4)结果为:
"123"
⏹[4]如果指定“长度”小于整数部分位数,则返回一串*。
⏹如:
?
str(123.4567,2,4)结果为:
**
⏹[5]如果省略"长度"和"小数位数",则转换后的总长度默认为10,且不保留小数位数,小数四舍五入.
⏹如:
?
str(123.5567)结果为:
"124"
⏹VAL()函数
⏹格式:
VAL(字符表达式)
⏹功能:
VAL()将数值字符串转换为数值。
⏹[1]若字符串的首字符不是数字符号,则返回数值0
⏹如:
?
VAL("A123.456")&&结果为0.00
⏹[2]若字符串内一但出现非数字符号,则只转换该符号前面的数字。
⏹如:
?
VAL("123A.456")&&结果为123.00
⏹CTOD()函数
⏹格式:
CTOD(<字符表达式>)
⏹功能:
⏹CTOD()函数将“mm/dd/yy”格式的<字符表达式>串转换成对应的日期值,返回的函数值为日期型。
⏹如:
?
ctod("09/02/74")&&结果为:
{09/02/74}
⏹?
ctod("^1974-9-2")&&结果为:
{09/02/74}
⏹BETWEEN()函数
⏹格式:
BETWEEN(<表达式T>,<表达式L>,<表达式H>)
⏹功能:
⏹当<表达式T>值大于等于<表达式L>且小于等于<表达式H>时,函数值为逻辑真(.T.),否则函数值为逻辑假(.F.)。
⏹如:
?
BETWEEN(30,20,50)&&结果为逻辑.t.
⏹如果<表达式L>或<表达式H>有一个是NULL值,则函数值也是NULL值。
⏹如:
?
BETWEEN(30,20,null)&&结果为null
⏹1.数据库
⏹定义:
⏹数据库是用来管理数据的仓库(.dbc),它通过一组系统文件将相互关联的数据库表及其相关的数据库对象统一组织和管理。
⏹在VisualFoxPro应该把.dbf的数据库文件称作数据库表,简称表。
⏹建立数据库后,用户可以在磁盘上看到文件名相同,但扩展名分别为dbc、dct和dcx的三个文件。
扩展名为.dbc的是数据库文件,扩展名为.dct的是数据库备注文件,扩展名为.dcx的是数据库索引文件。
用户一般不直接使用这三个文件。
⏹1.常用方法
⏹使用项目管理器中建立数据库
⏹使用“新建”对话框建立数据库
⏹使用命令方式建立数据库
⏹命令格式:
⏹CREATEDATABASE<数据库名>
⏹数据库文件扩展名.dbc可以缺省,由系统默认。
⏹如果不指定数据库名称或使用问号都会弹出创建对话框请用户输入数据库名称。
打开数据库
⏹1.常用方法
⏹在“项目管理器”中打开数据库
⏹通过“打开”对话框打开数据库
⏹使用命令方式打开数据库
⏹命令格式:
⏹OPENDATABASE<数据库名>[EXCLUSIVE|SHARED][NOUPDATE]
修改数据库
⏹命令格式:
⏹MODIFYDATABASE<数据库名>
关闭数据库
⏹命令方式:
⏹CLOSEDATABASES:
关闭当前数据库。
⏹CLOSEDATABASESALL:
关闭所有打开的数据库。
⏹CLOSEALL:
关闭所有打开的数据库以及表、索引等。
删除数据库
⏹命令格式:
⏹DELETEDATABASE<数据库名>[DELETETABLES][RECYCLE]
⏹DELETETABLES用于在删除数据库的同时删除该数据库所含的表等。
⏹RECYCLE:
将删除的数据库文件和表文件放入回收站,如无该短语,则会直接删除,而不会放入回收站中。
建立表操作
⏹命令格式:
⏹Create<表名>
⏹或
⏹Createtable<表名>
⏹(字段名1类型(宽度),
⏹字段名2类型(宽度),
⏹字段名3类型(宽度),
⏹…………………
⏹字段名n类型(宽度)
⏹)
表的字段
⏹1.字段名规则
⏹字段名是字段的惟一标志,由1~128个非空字符组成(自由表字段名长度不能超过10个字符。
⏹自由表字段名最长为10个字符。
数据库表字段名最长为128个字符。
⏹字段名可以由字母、汉字、数字和下划线组成。
⏹字段名必须以字母或汉字开头。
字段名中不能包含空格。
⏹2.字段类型
⏹字符型(C)货币型(Y)数值型(N)浮点型(F)双精度型(B)整型(I)日期型(D)日期时间型(T)逻辑型(L)备注型(M)通用型(G)
⏹注:
1.如果字段类型是备注或通用型,则还会生成一个表名.fpt的文件。
2.上述字段类型中没有时间型。
3.可以链接或嵌入OLE对象的字段类型是通用型;用于存放大量字符的类型称为备注型。
⏹3、字段宽度:
用于决定存储的数据的数量或精度。
对于数值型数据而言,宽度包括整数、小数点、小数的位数之和。
⏹如:
要存放-123.56应定义宽度为:
7,小数位数为:
2。
⏹3、空值:
暂时未确定(值为null)
⏹注:
空值与“空格”和数值0不同。
⏹表结构的修改
⏹命令形式
⏹modifystructure&&修改当前表的结构
⏹LISTSTRU&&显示当前表的结构
⏹表结构的复制
⏹命令:
CopyStructTo<新表文件名>[Fields<字段名表>]
⏹
(2)表的复制
⏹复制表文件是将当前表文件的结构和记录同时进行复制,以得到一个副本。
这是保护表文件的安全措施之一。
⏹命令:
CopyTo<新文件名>
浏览表中的内容
⏹使用BROWS|LISE|DISPLAY命令:
⏹USE<表名>&&打开表,注意:
use后不加表名,表示关闭当前表
⏹BROWS|LISE|DISPLAY&&浏览表
⏹Browse[Scope][Fields<字段名表>][For<条件表达式>]
⏹List[Scope][Fields<字段名表>][For<条件表达式>]
⏹Display[Scope][Fields<字段名表>][For<条件表达式>]
⏹[]是用来确定参与命令操作的记录范围。
⏹ 它有四种选择:
⏹ All:
表示所有的记录
⏹ RecordN:
表示第n条记录
⏹ NextN:
表示当前记录后的n条记录(包括当前记录)
⏹ Rest:
表示当前记录后的所有记录(包括当前记录)
⏹ 其中:
NextN和Rest命令需要事先用Goto定位。
⏹Browse是全屏幕方式显示、List是以滚动方式显示、而Display则为分屏方式显示。
⏹在Browse命令的显示窗口中,可以对记录进行编辑修改。
但List、Display命令显示记录后,并不能对记录进行编辑修改。
增加记录
⏹使用Append命令:
Append
⏹APPENDFROM学生学籍_c&&将学生学籍_c表中的所有记录追加到当前表中
⏹APPEBLANK&&向表中追加一条空记录
⏹3.使用INSERT命令
⏹INSERT&&在当前记录之后插入新记录
⏹INSEBEFORE&&在当前记录之前插入新记录
定位记录命令
绝对定位:
GO命令
⏹相对定位:
SKIP命令
⏹用LOCATE命令定位
⏹LOCATEFOR总成绩=60&&逻辑条件定位,使指针定位到总成绩为60的记录
⏹CONTINUE&&继续定位到下一条满足条件的记录
⏹1.逻辑删除
⏹命令格式:
⏹DELETE[FOR<逻辑表达式>]
⏹2.恢复记录的命令
⏹命令格式:
⏹RECALL[FOR<逻辑表达式>]
⏹3.物理删除有删除标记的记录
⏹命令格式:
⏹PACK[MEMO][DBF]
⏹物理删除表中的全部记录
⏹命令:
ZAP
⏹物理删除表中的全部记录,不管是否有删除标记。
⏹该命令只是删除全部记录,并不删除表,执行完该命令后表结构依然存在。
修改记录命令
⏹使用操作命令浏览和修改数据
⏹1.EDIT或CHANGE命令交互修改
⏹这两个命令均用于交互式地对当前表记录进行编辑、修改,操作界面类似于APPEND界面。
⏹2.REPLACE命令直接修改
⏹使用REPLACE命令直接用指定表达式或值来修改记录。
⏹REPLACE语文WITH语文+5FOR语文<80&&替换满足条件的记录
VFP索引是指由指针构成的文件,这些指针逻辑上按照索引关键字的值进行排序。
索引文件和表文件分别存储,并且不改变表中的物理顺序。
索引的作用:
提高查询速度(相反更新速度会变慢
⏹索引文件的种类
⏹简单索引文件(.idx)
⏹只能容纳一项索引,只能用命令方式操作。
⏹结构复合索引文件(.cdx)
⏹结构复合索引文件的主名与表文件的主名相同。
表文件打开时,它随表的打开而打开,关闭表时随表的关闭而关闭。
在添加、更改、删除索