二级VF理论复习_串讲
- 格式:doc
- 大小:91.00 KB
- 文档页数:12
一、VF中的基本概念VF命令:使用之前必须首先的打开表,非SQL语句条件for1、VF是一种面向对象的数据库编程语言2、计算机对数据管理经历了由低级到高级的发展阶段:人工管理文件系统数据库系统分布式数据库系统面向对象的数据库系统数据库系统阶段最大的特点是:实现了数据共享,减少了数据冗余3、关系运算分为:传统关系运算和专门关系运算传统关系运算:并交差专门关系运算:选择投影联接选择:针对表中行(元组进行的操作投影:针对表中列(属性进行的操作联接:对两张以上表的操作4、数据模型从低到高发展阶段:层次数据模型网状数据模型关系数据模型树状结构网状结构二维表结构5、数据库系统(DBS由五部分组成:硬件系统数据库(DB集合数据库管理系统(DBMS极其相关软件DBS 包括DB 和DBMS6、实体联系常见的实体联系有3种:一对一联系、一对多联系和多对多联系。
(1一对一联系(1:1若两个不同型实体集中,任一方的一个实体只与另一方的一个实体相对应,称这种联系为一对一联系。
(2一对多联系(1:n若两个不同型实体集中,一方的一个实体对应另一方若干个实体,而另一方的一个实只对应本方一个实体,称这种联系为一对多联系。
(3多对多联系(m:n若两个不同型实体集中,两实体集中任一实体均与另一实体集中若干个实体对应,称这种联系为多对多联系。
7、扩展名dbc:数据库文件dbf:表文件mnx:菜单的基本结构文件,只能用来修改菜单mpr:菜单的可执行文件,用来执行菜单pjx:项目文件qpr:查询文件prg:程序文件编译后的程序文件扩展名:FXPtxt:文件文件,必须要书写扩展名scx:表单文件vue:视图文件vcx可视类库文件frx:报表文件,报表要查看结果,只能预览,不能运行dbt:数据库备注文件FPT: 备注型/通用型文件通用型可以保存文档电子表格或者图片索引的扩展名:idx 和cdxidx :称为单索引index on 索引字段名to 索引名cdx :称为复合索引index on 索引字段名tag 索引名8、项目管理器:数据文档类代码其他数据:包括有数据库,自由表,查询,视图文档:包括有表单报表标签代码:程序其他:菜单9、索引:建立索引的目的就是提高查询速度,降低更新速度索引分为:主索引普通索引侯选索引唯一索引主索引:primary keyindex on 索引字段名tag 索引名&&VF语句建立普通索引index on 索引字段名tag 索引名unique &&VF语句建立唯一索引alter table 表名add unique 索引字段名tag 索引名&& SQL语句建立侯选索引index on 索引名tag 索引名candidate && VF语句建立侯选索引10、数据完整性分为:实体完整性域完整性参照完整性实体完整性:强调的是记录的唯一的特性靠主索引或者侯选索引来实现域完整性:规则信息默认值逻辑表达式字符表达式由字段类型决定参照完整性:插入规则删除规则更新规则11、数据:按照计算机处理数据形式的不同,可以把数据分为常量变量表达式和函数1 常量:N C D T Y L I M G F N C Y D T L 8D T Y :共同点是8个字节I M G :共同点是4个字节字符定界符有三对:"" '' []日期定界符:{} ^ / - . 或者空格2变量:字段变量和内存变量a、数组:连续的空白的存储单元A、数组的创建命令:dimension 数组名(下标 declare 数组名(下标B、数组有一维数组和二维数组C、数组创建后,没有赋值之前全部接收系统赋予的逻辑假值.f.D、同一个数组中,各个数组元素可以接收不同类型的数据E、vf任何数组的下标都是从1开始的b、变量按照它的作用域可以被分为:公共变量私有变量局部变量公共变量:又名为全局变量,在程序中任何地方都可以使用public 变量名私有变量:又名为内存变量(不需要事先建立就可以使用的变量局部变量:在那里定义就只能在那里使用local 变量名注:若字段变量名和内存变量名重名的现象时,优先输出字段变量的值;若想输出内存变量的值,则需在变量名前加上前缀M.(或M->。
2011年9月份全国计算机等级考试二级VF考试复习纲要目录第一章数据库基础知识 (2)第二章VF程序设计基础 (3)第一部分 (3)第二部分程序设计基础 (3)第三部分函数部分 (5)第三章数据库及其操作 (26)第四章关系数据库标准语言SQL (32)4.1概述 (32)4.2 查询功能 (33)4.3操作功能 (34)4.4 定义功能 (35)第五章查询与视图 (37)第六章表单设计与运用 (40)第七章菜单设计与应用 (46)第八章报表设计 (48)第一章数据库基础知识1、数据库管理系统:DBMS;数据库应用系统:DBAS;数据库系统:DBS;数据:DBDBS包括DBMS,DBAS,DB2、实体间的联系:一对一,一对多,多对多。
3、数据库中的数据模型:网状模型,层次模型,关系模型。
4、关系:一个关系就是一个二维表,每一个关系有一个关系名。
5、元组:二维表中的行称为元组。
6、属性:二维表中的列称为属性。
7、域:属性的取值范围。
8、关系→表;关系名→表名;属性→字段;元组→记录;行→记录,元组;列→字段,属性。
9、传统的集合运算:并,差,交。
10、专门的关系运算:选择(水平方向)for,while,where投影(垂直方向)fields,select联接(一对一,一对多,多对多)11、定义数组:dime/declare 数组名(3,4)第二章VF程序设计基础第一部分1、创建项目:①通过菜单创建②命令:creat project项目名2、打开项目管理器:①通过“文件→打开”菜单项②命令:modify project 项目名3、各类文件选项卡:①数据选项卡(数据库,自由表,查询,视图)②文档选项卡(表单,报表,标签)③类④代码⑤其他第二部分程序设计基础1、概念:是命令的集合,分行存储在磁盘上,按照人为的顺序依次输出的过程。
2、建立、修改:modify command 程序名3、运行:do 程序名4、基本输入语句:(以求圆的面积为例)①.input”请输入圆的半径”to r②.accept ”请输入圆的半径”to r③.@10.10 say “请输入圆的半径” get rread④.wait ”请等候……”window⑤. messagebox (“欢迎光临!”,48,“欢迎信息”)5、程序的结构:顺序结构选择结构(分支、判断)循环结构(条件循环、步长循环、扫描循环)6、程序的控制语、注释语①.exit 退出、终止②.loap 中止③.quit 关闭系统④.&& 同行注释⑤. * 换行注释⑥.error 不参与程序的执行6、程序模块7、变量的作用域①.公共变量(public):作用于程序运行的始终②.局部变量(local):只在本过程中使用,即不上传,也不接收③.私有变量(private):在程序运行过程中自动隐藏,成程序结束时显示本身第三部分函数部分1、字段数据类型(11种)* N包括Y,F,B,I2、变量:在程序运行过程中,其值可能发生变化的量。
全国计算机等级考试二级VF退队←a 1第1章 基本数据结构与算法1. 算法的基本概念算法的指解题方案的准确而完整的描述。
作为一个算法,一般应具有的特征为:1) 可行性,针对实际问题设计的算法, 考虑其可行性,应该能够得到满意的结果;2) 确定性,算法中的每一个步骤都必须是明确定义的,不允许有模掕两可的解释,也不允许有多义性; 3) 有穷性,算法必须能在执行有限个步骤之后终止; 4) 有零个或多个输入; 5)有一个或多个输入;综上所述,算法是一组严谨地定义运算顺序的规则,并且每一个规则都是有效的.明确的;这个运算顺序将在有限的次数下终止。
2. 算法复杂度算法的复杂度主要包括时间复杂度和空间复杂度。
(1)算法的时间复杂度是指执行算法所需要的计算工作量。
算法的工作量用算法在所执行的基本运算次数来度量,而算法所执行的基本运算次数是问题规模的函数,即 算法的工作量=f (n)其中N 是问题的规模。
例如,两个N 阶矩阵相乘需要的基本算法次数为n 3 ,即计算工作量为n 3, 也就是时间复杂度为n 3, 即 F (n )=O( n 3 )(2) 算法的空间复杂度 算法的空间复杂度是指执行这个算法所需要的内存空间。
【例1.1】 算法的时间复杂度是指( ) A)执行算法程序所需要的时间 B)算法程序的长度 C)算法执行过程中所需要的基本运算次数 D)算法程序中的指令条数 答案:C提示:2005年9月真题填空题第2题。
2006年9月真题选择题第7题。
2007年4月真题选择题第1题属该题的类似题目2007年4月真题选择题第11题考察算法的特征。
1.2 数据结构的基本概念1. 数据结构的定义 数据结构是指反映数据元素之间关系的数据元素集合的表示。
通俗地说,数据结构是指带有结构的数据元素的集合。
(1)数据的逻辑结构数据的逻辑结构是指反映数据元素之间逻辑关系的数据结构。
一个数据结构应包含以下两方面的信息: 1) 表示数据元素的信息; 2) 表示各数据元素之间的前后件关系。
1、数据处理的中心问题是数据管理。
多年来,数据管理经历了人工管理阶段、文件管理阶段、数据库系统阶段。
2、人工管理阶段面对的主要问题:1、数据不能独立。
2、数据不能长期保存。
3、文件管理阶段面对的主要特点:1、数据与程序分开。
2、数据能长期保存。
3、数据没有完全独立。
4、存在数据冗余。
5、数据不能集中管理。
4、数据库系统阶段特点:1、实现了数据的结构化。
2、实现了数据共享。
3、实现了数据独立。
4、实现了数据统一控制。
5、三者之间的区别:主要在于数据与程序之间的关系。
在人工管理阶段,数据与程序不具有独立性。
在文件系统阶段,程序和数据有了一定的独立性。
在数据库系统阶段提供了数据与应用程序的独立性。
6、数据库(DATA BASE 简写为DB)是按一定的组织形式存储在一起的相互关联的数据集合。
数据库具有数据的结构化、独立性、共享性、冗余量小、安全性、完整性和并发控制的基本特点。
7、数据库管理系统(DATA BASE MANAGEMENT SYSTEM 简写为DBMS)是数据库系统的核心部分。
而数据库运行管理和控制例行程序是数据库管理系统的核心部分。
8、数据库系统(DATA BASE SYSTEM 简写为DBS)具体包括计算机硬件、操作系统、数据库、数据库管理系统和建立在该数据库之上的相关软件、数据库管理员和用户等5个部分。
9、数据库应用系统(DATA BASE APPLICATION SYSTEMS 简写为DBAS)通常由数据库和应用程序组成。
10、数据模型是指数据库的组织形式,它取决于数据库中数据之间联系的表达方式。
数据库管理系统所支持的数据模型分为3类,层次模型、网状模型和关系模型。
11、关系模型:用二维表结构来表示实体以及实体之间联系的模型称为关系模型,在关系模型中把数据看成是二维表中的元素,一张二维表就是一个关系。
12、关系术语:1、关系:一个关系就是一张二维表,在VFP中,一个关系存储为一个文件,文件的扩展名为.dbf,称为表。
基础知识点:第一章数据库的概述1、数据管理技术发展的三个阶段:人工管理阶段、文件管理阶段、数据库系统阶段2、数据库阶段的特点:数据的结构化、数据共享、数据独立3、DB、DBS、DBMS三者之间的关系:DBS包含DB和DBMS4、DBS的概念:由计算机、操作系统、DBMS、数据库、应用程序及用户等组成的一个整体叫数据库系统5、能判断实体间的联系:一对一、一对多、多对多6、常见的数据模型:层次模型、网状模型、关系模型7、vfp采用的是关系模型。
8、关系术语:关系(表、元组(记录、属性(字段9、三种关系运算及运算规则:选择、投影、连接第二章vfp概述1、vfp中常见文件类型(项目、表、表备注文件、数据库、程序、表单、索引、查询、报表、菜单、标签2、项目管理器:各选项卡下包含的文件类型第三章vfp数据基础1、数据类型:各种类型可用一个字母表示;固定的存储空间2、了解跟日期有关的命令3、强调:备注型:存放的是字符串,通用型:存放图片、表格、文档等4、备注型的宽度为4个字节,它用来存放(Da备注型数据的具体内容b备注文件的文件名c指向备注文件的指针d指向备注文件中备注信息的指针5、变量的命名规则:以汉字、字母开头,由数字、字母、汉字和下划线组成。
6、数组变量a、数组必须先定义,才能使用b、数组定义好后,数组中的每个数组元素自动地被赋予逻辑值.F.c、对数组的不同元素,可以赋予不同数据类型的数据d、使用内存变量的地方,均可使用数据元素e、二维数组可以用一维形式表示f、若定义的数组变量名与内存变量名重复,则数组变量取代内存变量g、若赋值命令中使用数组名,则该数组中所有数组元素的值都相同。
举例说明:a=8 &定义一个内存变量adimension a(4,b(2,3 &该命令执行后,数组a,b中的所有元素的初值都为.F.&内存变量名与数组变量名重复,以后看到a,都应把它当成是数组变量store 10 to a 与a=10 等价&数组a中的所有元素值都为10b(1,1=30b(1,2=“计算机”b(3=.F.7、运算符的运算规则8、函数9、内存变量与字段变量名重复情况下,怎么区分内存变量和字段变量第五章索引、统计和多表操作1、索引的类型:主索引、候选索引、惟一索引、普通索引。
第一章数据结构与算法一、算法1.算法:是指解题方案的准确而完整的描述。
通常,程序的编制不可能优于算法。
2.算法的基本特征:a.可行性b.确定性c.有穷性(有限的时间、合理的执行时间)d.拥有足够的情报(一个算法的执行结果总是与输入的初始数据有关)。
3.算法的基本要素:一是对数据对象的运算和操作[算术运算(加减乘除)、逻辑运算(与或非)、关系运算(大于,小于,等于,不等于)、数据传输(赋值,输入,输出)],二是算法的控制结构:算法中各个操作之间的执行顺序(描述算法的工具:传统的流程图、N—S 结构化流程图、算法的描述语言等;算法的三种基本控制结构:顺序、选择、循环)4.算法设计的基本方法:a.列举法b.归纳法c.递推(本质上也属归纳,从初始条件出发,逐次推出所需求的结果)d.递归(基础也是归纳,分直接递归和间接递归,从算法本身到达递归边界的,通常递归算法要比递推算法清晰易读,其结构比较简练)e.减半递推技术(是工程上常用的分治法,也是归纳法的一个分支)f.回溯法5.算法复杂度:一是时间复杂度(指执行算法所需要的计算工作量a.平均性态b.最坏情况复杂性);二是空间复杂度(指执行这个算法所需要的内存空间;一个算法所占用的存储空间是算法程序所占的空间、输入初始数据所占的存储空间以及算法执行过程中所需要的额外空间)二、数据结构的基本概念6.数据结构指相互有关联的数据元素的集合,其主要研究和讨论的问题:a.数据的逻辑结构b.数据的存储结构c.对各种数据结构进行的运算;目的是提高数据处理的效率(提高数据处理的速度、尽量节省在数据处理过程中所占用的计算机存储空间)7.数据处理:是指对数据集合中的各元素以各种方式进行运算,包括插入、删除、查找、更改等运算,也包括对数据元素进行分析。
(无序表的顺序查找与有序表的对分查找)8.数据的逻辑结构:是指数据集合中各数据元素之间所固有的逻辑关系(数据结构:表示数据元素的信息、表示各数据元素之间的前后件关系)反映数据元素之间逻辑关系的数据结构。
第二部分变量、表达式及函数一、常量与变量:1.1 常量:1.数值型常量:①. 由0—9、小数点、正负号构成;②.对于很大的数据一般采用科学记数法形式书写,如:5.12E12(表示5.12×1012)、5.12E-12(表示5.12×10-12);③.在内存中占8个字节。
2.货币型常量:①.由前置符号“$”开始,如:$1234.12;②.默认采用4位小数,如果多余4位小数,则对多余的位数进行四舍五入;③.不能采用科学记数法表示,在内存中占8个字节。
3.字符型常数(字符串):①.用单引号、双引号、方括号定界,如:’abcd’、”abcd”、[abcd];&&注意:定界符成对出现②.定界符不能交叉,如:’abcd”、”abcd]都是错误的;③.不包含任何字符的字符串(“”)叫空串,空串与包含空格的字符串(“”)不同。
4.日期型常量:①.用大括号(花括号)定界,如:{10/08/01};②.分隔符可以用斜杠(/)、连字号(-)、句点(.)、空格;③.日期型常量分为:传统日期格式与严格日期格式。
传统日期格式:(用SET STRICTDATE TO 0设置)◆月、日用2位数字表示;◆年可用2位,也可以用4位。
严格日期格式:(默认,用SET STRICTDATE TO [1|2]设置)◆{^yyyy-mm-dd};◆书写时大括号内的第一个字符必须是脱字符(^);◆年必须用4位数;◆年月日的次序不能颠倒、不能缺省;◆用8个字节表示。
5.日期时间型常量:①.包括日期与时间两个部分,{<日期>,<时间>},如:{^2006-03-08,06:30P}②.用8个字节表示;6.逻辑常量:①.用两个(.)定界,如.T.、.Y.;②.逻辑型常量取值有:.T.、.t.、.F.、.f.、.Y.、.y.、.N.、.n.;③.逻辑型常量只占一个字节。
1.2 变量:1.字段变量:①.字段变量数据类型;◆字符型:用C表示,长度不能超过254个字节;◆数值型:用N表示,长度不超过20位(其中小数最大为19位);◆货币型:用Y表示,固定长度为8字节;◆日期型:用D表示,固定长度为8字节;◆日期时间型:用T表示,固定长度为8字节;◆逻辑型,用L表示,固定长度为1字节;◆浮点型:用F表示,长度不超过20位(其中小数最大为19位);◆整型:用I表示,固定长度为4字节;◆双精度型:用B表示,固定长度为8字节;◆备注型:用M表示,固定长度为4字节。
知识点回顾目录知识点回顾目录 (1)(一)SQL知识点回顾 (1)(二)数据库知识点回顾 (6)(三)查询和视图知识点回顾 (11)(四)表单知识点回顾 (14)(五)菜单和报表知识点回顾 (23)(六)第二章知识点回顾 (27)(一)SQL知识点回顾SQL——结构化查询语言SQL功能:数据查询select数据定义create drop alter数据操作insert update deleteSQL三种查询:(1)简单查询select 字段名from 表名where 条件(2)简单的连接查询select 字段名from 表名where 条件and 表a.公共字段名=表b.公共字段名(3)嵌套查询要找的字段表a条件表bselect 字段名from 表a where 公共字段名in;(select 公共字段名from 表b where 条件)特殊运算符:例题:从供应商关系中检索出全部公司的信息,不要工厂或其他供应商的信息。
like是字符串匹配运算符,通配符%表示0个或多个字符,_代表一个字符select * from供应商表where供应商名like "%公司"排序:order by 字段名1,字段名2 asc/desc简单的计算函数:count( ) sum( ) avg( ) max( ) min( )分组:group by 字段名having 条件having子句总是跟在group by子句之后,不可以单独使用判断:A) select职工号,avg(工资) as 平均工资,城市from ;职工表join仓库表on 职工表.仓库号=仓库表.仓库号; where count(职工号)>=2 group by 职工号B) select职工号,avg(工资) as 平均工资,城市from ;职工表join仓库表on 职工表.仓库号=仓库表.仓库号; group by 职工号having count(职工号)>=2having 限定分组条件(计算函数)where 限定查询条件利用空值查询:select * from 供应商表where 供应商号is null别名查询:SQL允许在from 短语中为关系名定义别名:格式为:<关系名> <别名>集合的并运算:unionSQL几个特殊的选项:只显示前几项的记录:top ninto array 数组名into cursor 临时表名into dbf / table 表名to file 文本文件名SQL操作功能:插入数据:——insertinsert into 表名(字段名1,……) values(值1,……) 若是表中多有字段添加记录,可省略字段名insert into 表名values(值1,……)更新数据:——updateupdate 表名set 字段名=新的字段值where 条件删除数据:——delatedelete from 表名where 条件SQL定义功能:表的定义:——createcreate table 表名(字段名类型(宽度),……)primary key 主索引check 规则error 信息default 默认值表的删除:——dropdrop table 表名表结构的修改:——alter增加字段:alter table 表名add 字段名类型(宽度)修改字段:(宽度和类型)alter table 表名alter 字段名类型(宽度)重命名字段:alter table 表名rename [column]原字段名to 新名删除字段:alter table 表名drop [column] 字段名定义或修改字段有效性:alter table 表名alter 字段名set check …error…alter table 表名alter 字段名set default …删除有效性:alter table 表名alter 字段名drop checkalter table 表名alter 字段名drop default定义索引:alter table 表名add primary key/unique ;索引表达式tag 索引名删除索引:alter table 表名drop primary keyalter table 表名drop unique tag 索引名(二)数据库知识点回顾表:1.新建表:(create 表名)2.打开表:(use 表名回车 browse)3.关闭表:use4.字段类型:字符型C、数值型N、日期型D、日期时间型T、整型I、逻辑型L、备注型M、通用型G、货币型Y5.宽度:8 8 4 1 4 4 8 注:一个汉字占2个字节,一个字符、一个数字各占1个字节6.NULL:空值,指尚未确定的值。
概念知识点总结1、数据库的基本理论和VF 数据库操作2、数据与程序设计3、面向对象程序设计及表单、报表、菜单4、SQL 语句数据库的基本理论和VF 数据库操作(第1、2、3、4、6章)一、数据库系统基本理论1、理解数据库系统的几个基本概念以及它们的关系 数据库(DB )、数据库管理系统(DBMS )、数据库应用系统(DBAS )和数据库系统(DBS )2、掌握实体之间的联系,可以判断出实际问题中属于那种联系 一对一、一对多、多对多3、弄清三大数据模型的结构形式:层次模型、网状模型和关系模型 我们现在所用到的数据库都是关系数据库(a )(b )(c )4、理解关系术语关系(就是二维表,记录的集合);元组(行、记录);属性(列、字段);域(一个字段的取值范围);关键字(关键的字段,唯一能标志一个元组的字段或字段的组合);外部关键字(不是本表的关键字,但是是其他表的关键字;用来建立表间的联系)5、关系运算理解传统的集合运算(并、交、差、笛卡尔积)和专门的关系运算(选择、投影、连接包括等值连接和自然连接)二、数据表操作1、了解表操作的一些命令,尤其以下几条:LIST显示记录:LIST | DISPLAY [FIELDS <字段名表>][<范围>] [FOR<条件表达式>]限定条件用FOR短语LOCATE条件定位:LOCATE FOR<条件表达式>本命令定位在满足条件的第一条记录,若想定为满足条件的下一条记录,必须用CONTINUE用FOUND()函数为T判断是否有满足条件的记录(也可用EOF()为F)二级VFP知识点总结APPEND为追加记录;INSERT为插入记录REPLACE修改记录:REPLACE <字段名1> WITH <表达式1> [FOR <条件表达式>]2、删除操作分两步走:DELETE与PACKDELETE是逻辑删除,也就是添加删除标记,PACK才是真正物理删除;逻辑删除的记录还可以恢复(RECALL)3、理解工作区的概念系统提供了32767个工作区,可以在不同的工作区同时打开多个表,使用工作区用其编号1~32767,或者别名,前十个工作区有别名:A~JSELECT 0表示使用最小未用过的工作区4、建立表之间的临时关联一个为主表,一个为子表,使用SET RELATION TO …INTO…语句要求两个表必须在不同的工作区打开可以使用SET RELATION TO解除关联三、数据库操作1、理解数据库文件它并不真正的存储数据,只是对存储数据的文件进行统一的管理建立数据库后,形成三个同名文件.dbc .dct .dcx2、理解自由表与数据库表的区别与联系区别:可以看一下“表设计器”自由表不能设置长表名、长字段名、标题、输入掩码、字段有效性规则、默认值、注释等内容自由表不能设置主索引自由表可以添加到数据库中形成数据库表(ADD TABLE…);数据库表可以移出形成自由表,相应的设置丢失,主索引变为候选索引(REMOVE TABLE…)3、掌握索引的概念索引就是排序,但它是逻辑排序,排列的不是实际记录,而是记录指针,排序的结果存放在作者:李晰索引文件中建立索引的主要目的是为了提高查询速度(在有序的集合中查询某个个体很显然比无序中查询快得多)A、建立索引可以通过命令实现:INDEX ON <索引关键字表达式> TO <独立索引文件名> | TAG <标识名> [ASCE | DESC][UNIQUE] [CANDICATE]可以建普通索引(命令中不需表示)、候选索引(CANDICATE)、唯一索引(UNIQUE)B、可以以在表设计器中建立索引索引不是真正排序,表的排序命令为SORT,是对记录的排序,结果形成新的表文件.dbf 4、区别索引文件的类型索引文件分为独立索引文件(.idx 存放一条索引结果)和复合索引文件(.cdx 存放多条索引结果)复合索引文件又分为结构复合索引文件(与表同名)和非结构复合索引文件结构复合索引文件因其与表同名,随着表的打开而打开,表的关闭而关闭,在表被修改时自动同步修改,现在是主要应用的索引文件5、区别索引的类型主索引和候选索引意义相似,建立主索引和候选索引都要求关键字表达式的值唯一,没有重复。
二级VF理论复习串讲第一章数据库基础知识数据模型有三种:层次型、网状型、关系型.。
VF 是关系型数据库系统.。
是32位的产品。
关系就是一个二维表,一列称为属性,又称为字段。
一行称为元组也称为记录。
域:取值范围,包括对字段的类型、宽度、规则的设置关键字:是属性或属性的组合(字段或字段的组合)。
关键字能够惟一标识一个元组(记录或实体)理解或看看:外部关键字;关系的特点:(1)(2)(3)(4)(5)关系的基本运算有两类:(1)传统的集合运算(并、交、差)(2)专门的关系运算:选择、投影、连接。
自然连接是去掉重复属性的等值连接。
用外部关键字保证有关联的表之间的联系。
退出VF系统,用QIUT 命令。
1.项目管理器:有六个选项卡,创建项目文件用CREATE PROJECT命令创建。
扩展名 .PJX 在项目管理器中,可用通过“连编”,生成.APP应用程序文件或.EXE 可执行文件。
在项目管理器的:“数据”选项卡可创建或添加数据库、自由表、查询和视图文件“文档”选项可创建或添加表单、报表、标签文件。
“代码”选项卡:程序、函数库、app文件。
“其他”选项卡:文本文件、菜单文件、BMP图片等VF 通过设计器、生成器、向导等辅助工具,可更加简便灵活快速地进行应用程序开发。
第二章:VISUAL FOXPRO 程序设计基础常量和变量常量和变量经常在命令或编程中使用。
常量是不变化的量,是一个固定值。
不同类型的常量有不同的书写方式:字符型必须用定界符引起来。
“张三”是常量。
张三是变量。
―10/08/2008‖是字符常量,{^2008-10-08}或CTOD(―10/08/2008‖) 才是日期型常量。
数值表达式2+3 结果是5字符表达式中,加号、减号是连接符:“中国”+“人民”结果是“中国人民”“2”+“3”结果是23{^2009-01-10} 是日期型数据,用D 来表示。
{^2009-01-10, 11:30 A}是日期时间型数据用T 表示。
V ARTYPE( ) 是测试函数类型,函数值是返回类型大写字母。
例:?V ARTYPE(123)结果是N ? V ARTYPE(“123”)结果是C? V ARTYPE(LEN(“123”))结果是NSET CENTURY ON 是设置世纪有效的一个环境参数命令SET DEFAULT TO 设置默认路径SET EXACT ON 是设置精确比较有效。
OFF无效时,对于字符相等的表达式等号是模糊等于。
此时“张三”=‖张‖勤当ON时(有效时),相当于= = ,两端必须精确相等。
VF 中的变量分为内存变量和字段变量。
内存变量又分为简单内存变量和数组变量。
当内存变量与字段变量同名时,优先使用字段变量。
引用内存变量必须加前缀M-> 或M . 例:USE XUEJI 回车,姓名= 10 给内存变量赋值。
?姓名回车。
会显示表中的名字。
?M->姓名会显示10用等号或用命令直接赋值的是内存变量。
如:X=10 X2=100 STORE XY=200内存变量的类型是由内存变量的值来决定的。
X1 X2 X3 是普通的内存变量。
X(1) X(2) X(3)….. 才是数组变量。
数组变量必须先定义才能使用。
定义命令dimension 或declare .例:dimension X(3) , 则X数组有3个元素X(1) X(2) X(3)DIME Y(2,3) 则Y 数组有6 个元素。
Y(1,1) Y(1,2) Y(1,3 ) Y(2,1 ) 。
Y(2,3)注意:数组下标是从1 开始的,不是从0 开始的。
熟记数组的几个特点:数组只定义,未使用时,每个数组元素变量的值是假值。
数组中的各个元素可以存储不同类型的数据。
二维数组可以用一维数组来表示:如:DIME y(3,3) . ? y(4) 尽管没有一维数组Y,y(4)相当于Y 数组的第4个元素。
即相当于输出? Y(2,1)SQL 语言中,将表中的记录生成数组:select * from xueji into array cc 功能是将二维表中的所有字段值用二组数组CC 来记忆。
如CC(1,3) 存储第1行第3列的内容。
CC(2,4)是存储第2行第4列的字段值。
USE XUEJIGO 3SCA TTER TO dd 功能: SCA TTER TO 命令是将当前的一个记录的字段值存到数组中。
与其相反,GATHER FROM命令是将数组变量中的变量值,存储到当前记录上。
SET EXACT ON 设置VF环境中,精确比较有效。
默认是无效状态。
在VF环境中,在对字符串进行比较时,= =是完全精确等于, 也就是说,等号两边的字符必须完完全全的一样才行,不能有任何差别。
=号则是模糊等于,也就是说在不设置SET EXACT ON 时,或设置为OFF 时,是正确的。
模糊等于就是当等号右边的字符是等号左边字符的“左子串”时,认为两者相等。
再如:“中国人民”=“中国”当设置了SET EXACT ON 时,=表示精确比较,“张三”=“张”“中国人民”=“中国”是错误的。
有一个特例: 当设置为SET EXACT ON 时,当等号两边不等长时,把等号右边的字符尾部填充空格,与等号前面的字符等长时再比较,如果两者完全相等,则两者也相等。
如:ON 时“中国”=“中国”是正确的。
函数与表达式:? 12>2 结果是真值。
“12”>“2”结果是假值。
字符比较先比较第1个字符。
函数这一节,课后作业或模拟试题中曾出现的函数,一定要熟记并会运用。
几个例子:INT()取整函数。
即取整数部分。
?INT(12.8) 结果是12INT(n/2) = n/2 是判断能否被2整除的表达式。
(偶数)MOD()求余函数. ? MOD(10,3) 结果是1LEN( ) 求参数长度的函数. 函数值是数值. ? LEN(―中国12人民‖) 结果10? LEN( SPACE(7) - SPACE(3) ) 结果是10TRIM( ) 去掉字符尾部的空格LTRIM( ) 去掉字符左端的空格ALLTRIM( ) 去掉前后空格.LEFT( ) 左子串函数(从左边开始的几个字符) ? LEFT( ―98001‖,2 ) 结果是―98‖RIGHT( ) 右子串函数(从右边开始的几个字符) ? LEFT( ―98001‖,3 ) 结果是―001‖SUBSTR( ) 子字串函数(从第几个开始,长度为几)?SUBSTR(―全国人民代表大会‖,5,8) 结果是“人民代表”函数结果是字符AT()子串位置函数结果是数值? AT(―人民‖,‖全国人民代表‖) 结果是5 ? A T(―BD‖,“ABCDE”) 结果是0 . 子串是连续的部分才叫子串。
DATE( ) 日期型DA TETIME( ) 日期时间型TIME( ) 字符型YEAR()年函数month( ) 月函数DAY()日函数。
这三个函数结果是数值。
DTOC( DATE()) 是将当前系统日期转成字符。
结果是字符型数据CTOD(―10/14/68‖) 将字符转成日期。
结果是日期型数据。
日期减日期等于天数,是数值,是相隔的天数日期减天数等于日期是日期型数据日期+ 日期是一个不合语法规则的语句。
提示出错。
IIF()是条件函数相当于条件语句IF …… ELSE…. ENDIF例:IF( 条件表达式,值1,值2) ?IIF(6<5 , 100, 200) 因条件不满足,函数值是200 宏替换函数& :功能:直接将字符的值替换到不前位置。
DB=“学生”然后USE &DB ,相当于USE 学生。
USE XUEJIXM=“姓名”? XM 功能是输出XM 变量的值。
结果就是汉字姓名。
? &XM , 相当于? 姓名,所以结果就是张三。
即表中第一个记录中的对应姓名值。
程序:三大软件结构:顺序结构、选择结构、循环结构交互式输入语句(赋值语句)Accept 只接收字符型数据并且,回车表示输入完成Input 接受任何类型的数据并且,回车时,结束输入。
WAIT 只接受一个字符,不需要回车。
只要单任何一个键,计算机就会运行后面的语句,EXIT 在循环中才用此语句,功能是退出循环,执行循环结构后面的语句。
LOOP不执行后面的语句,直接返回循环初始语句,执行下一次的循环开始。
CANCAL 终止程序运行。
RETURN返回主程序调用处。
无主程序,返回到命令提示窗口。
正规说,一般每个程序后面都要有这个语句,表示本程序段结束。
条件语句:IF ………….ENDIF双分支语句IF ……. ELSE ….. ENDIF多分支语句:DO CASE …….. ENDCASE循环语句(根据条件循环) DO WHILE .. ….. ENDDO循环语句(根据次数循环) For ………EndFor循环语句(扫描循环,只能用在对表文件的操作上)SCAN ………ENDSCAN复杂的软件,不是单一的程序能完成的。
需要许多程序,并且它们之间用DO 程序名命令相互调用。
被调用的程序叫子程序。
子程序还可以有子程序。
最上层的调用程序称为主程序。
主程序调用子程序时,有时向子程序传递一些参数。
有两种:按值传递和按引用传递。
如果传递的是常量或表达式,是按值传递,如果传递的是变量则按引用传递。
例:x=3Y=5DO 子程序名WITH 10, 20 调用子程序时,参数按值传递给A 和B 变量PARAMETERS A, B 对应接收上面的参数Do 子程序with (x), Y(X)是对变量X 求其值,所以这个参数是按值传递。
Y 是传递的变量,是按引用传递。
变量的作用域:VF若以变量的作用区域来划分内存变量分为:全局变量、私有变量和局部变量全局变量:是指在任何模块中都可使用的变量,以称公共变量.全局变量要先用PUBLIC命令建立后才能使用.私有变量: 在程序中直接使用的变量都是私有变量,系统自动隐含建立(系统内部已经用PRIV A TE 命令),这种变量称私有变量. 私有变量的作用域是它的模块或它的下一层模块. 模块也就是程序或子程序段.局部变量:用LOCAL 命令进行定义.只能在它本身所在的模块中引用,机会局部变量也是先建立再使用.第三章数据库数据库是VF的一种对象,用于存放表、表间关系等。
数据库文件扩展名 .dbc表文件. DBF 查询文件.QPR 单索引文件. IDX 复合索引文件 .CDX菜单文件.MNX 菜单程序文件.MPR 表单文件.SCX 报表文件.FRX项目文件 .PJX 应用程序文件.APP 可执行文件.EXE建立数据库CREATE DATABASE 修改数据库MODIFY DATABASE打开数据库OPEN DATABASE 删除数据库DELETE DATABASE几个短语: 打开数据库时可以以不同的方式打开: EXCLUSIVE 独占方式SHARED 共享方式NOUPDA TE 只读方式.数据库文件的扩展名是.DOC ,但建立数据时同时会产生另外两个文件: .DCT 备注文件.DCX索引文件自由表的字段名最多是10 个字节的宽度, 数据库表最多是128个宽度. 数据库表支持长表名长字段名.命令: 向数据库中添加表ADD TABLE 从数据库中移去表: REMOVE TABLEVF 中删除记录分两步: (1) 逻辑删除DELETE (2) 物理删除PACK .与DELETE ALL ; PACK 等价的是ZAP 清空表记录.顺序查找或记录指针定位命令: LOCATE 配合它执行选择下一个记录CONTINUE复合索引的种类: 四种: 主索引候选索引惟一索引普通索引主索引只有数据库表才会有, 并且只能有一个. 某个字段设置了主索引可以用来限定只能是唯一的值. 数据库表中还可以用候选索引来限定唯一的值., 如: 一个学籍表中,学生可以设成主索引, 如果有身份证号,为了不让它出现重复值, 我们可以设置成候选索引. 因为一个数据表只能有一个主索引, 但可以有许多候选索引。