VF知识点总结.doc_第1页
VF知识点总结.doc_第2页
VF知识点总结.doc_第3页
VF知识点总结.doc_第4页
VF知识点总结.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

二级VFP知识点总结概念知识点总结1、数据库的基本理论和VF数据库操作2、数据与程序设计3、SQL语句4、面向对象程序设计及表单、报表、菜单数据库的基本理论和VF数据库操作(第1、2、3、4、6章)一、数据库系统基本理论1、理解数据库系统的几个基本概念以及它们的关系计算机硬件用户数据库(DB)数据库管理系统(DBMS)数据库应用系统(DBMS)数据库系统(DBS)数据库(DB)、数据库管理系统(DBMS)、数据库应用系统(DBAS)和数据库系统(DBS)建立数据库系统的主要目的是为了实现数据共享2、掌握实体之间的联系,可以判断出实际问题中属于那种联系一对一、一对多、多对多班长班长-班级班级11班级班级-学生学生1n教师教师-学生学生mn(a)(b)(c)3、弄清三大数据模型的结构形式:层次模型、网状模型和关系模型我们现在所用到的数据库都是关系数据库ABDCEGFEFGABCD学号姓名年龄性别籍贯9001李丽20女北京9002肖峰21男上海9003王红19女长春4、理解关系术语关系(就是二维表,记录的集合);元组(行、记录);属性(列、字段);域(一个字段的取值范围);关键字(关键的字段,唯一能标志一个元组的字段或字段的组合);外部关键字(不是本表的关键字,但是是其他表的关键字;用来建立表间的联系)5、关系运算理解传统的集合运算(并、交、差、笛卡尔积)和专门的关系运算(选择、投影、连接包括等值连接和自然连接)二、数据表操作1、了解表操作的一些命令,尤其以下几条:LIST显示记录:LIST | DISPLAY FIELDS FOR 限定条件用FOR短语LOCATE条件定位:LOCATE FOR 本命令定位在满足条件的第一条记录,若想定为满足条件的下一条记录,必须用CONTINUE用FOUND()函数为T判断是否有满足条件的记录(也可用EOF()为F)APPEND为追加记录;INSERT为插入记录REPLACE修改记录:REPLACE WITH FOR 2、删除操作分两步走:DELETE与PACKDELETE是逻辑删除,也就是添加删除标记,PACK才是真正物理删除;逻辑删除的记录还可以恢复(RECALL)3、理解工作区的概念系统提供了32767个工作区,可以在不同的工作区同时打开多个表,使用工作区用其编号132767,或者别名,前十个工作区有别名:AJSELECT 0表示使用最小未用过的工作区4、建立表之间的临时关联一个为主表,一个为子表,使用SET RELATION TO INTO语句要求两个表必须在不同的工作区打开可以使用SET RELATION TO解除关联三、数据库操作1、理解数据库文件它并不真正的存储数据,只是对存储数据的文件进行统一的管理建立数据库后,形成三个同名文件.dbc .dct .dcx2、理解自由表与数据库表的区别与联系区别:可以看一下“表设计器”自由表不能设置长表名、长字段名、标题、输入掩码、字段有效性规则、默认值、注释等内容自由表不能设置主索引自由表可以添加到数据库中形成数据库表(ADD TABLE);数据库表可以移出形成自由表,相应的设置丢失,主索引变为候选索引(REMOVE TABLE)3、掌握索引的概念索引就是排序,但它是逻辑排序,排列的不是实际记录,而是记录指针,排序的结果存放在索引文件中建立索引的主要目的是为了提高查询速度(在有序的集合中查询某个个体很显然比无序中查询快得多)A、建立索引可以通过命令实现:INDEX ON TO | TAG ASCE | DESCUNIQUE CANDICATE可以建普通索引(命令中不需表示)、候选索引(CANDICATE)、唯一索引(UNIQUE)B、可以以在表设计器中建立索引索引不是真正排序,表的排序命令为SORT,是对记录的排序,结果形成新的表文件.dbf4、区别索引文件的类型索引文件分为独立索引文件(.idx 存放一条索引结果)和复合索引文件(.cdx 存放多条索引结果)复合索引文件又分为结构复合索引文件(与表同名)和非结构复合索引文件结构复合索引文件因其与表同名,随着表的打开而打开,表的关闭而关闭,在表被修改时自动同步修改,现在是主要应用的索引文件5、区别索引的类型主索引和候选索引意义相似,建立主索引和候选索引都要求关键字表达式的值唯一,没有重复。它们的区别是:候选索引可以多个,主索引只能一个;主索引只能在数据库表中建立;主索引只能在表设计器中建立普通索引和唯一索引允许出现重复值,不同的是,唯一索引值存储重复值之中的一个。注意此处“唯一索引”中唯一的意义不同于上述“唯一”6、理解三种数据完整性(结合操作,理解概念)A、实体完整性:保证表中记录唯一的特性,(实体与记录是不同范畴的同意义概念),通过主关键字(索引)和候选关键字(索引)实现。B、域完整性:域就是范围的意思,也就是限定字段的取值范围,为了尽量保证取值正确,通过设置字段的有效性规则实现,参照前面的图,“规则”框中设置条件,也就是字段允许取值的范围,是一逻辑表达式;“信息”框中设置出错后的提示信息,是一字符串;“默认值”框中可以填字段默认的取值。C、参照完整性:在修改一个表时,参照与之有关系的另一个表的内容进行,也是为了避免有错误的操作。首先建立永久联系,两个表要求必须在同一数据库中,而且之前先对同样的字段建立索引,一对一:主表建主索引,子表建候选索引;一对多:主表建主索引,子表建普通索引理解每种参照规则。7、查询和视图(结合操作,理解概念)相似之处:都是从一个或多个表中“导出”(SELECT语句实现)部分数据,注意并不真正存储导出的数据各自特点:查询形成一个查询文件(.qpr ),该文件中并不真正存储导出的数据,而是存储导出的方式,也就是一个SELECT语句,在使用时,运行查询(DO XX.QPR),可以以多种方式查看结果,但是查询只能查看结果,不能修改原来表中的数据。视图是一个“虚表”,它并不真正存储导出的数据,而是一个查看原表数据的“窗口”,它不是一个文件,因为是“虚表”,所以必须放在数据库中依赖于原来的表而存在。除了不真正存放数据这一点,其他的都与表相同,可以浏览数据、可以修改原来的数据、可以与表建立联接,可以根据视图再“导出数据”(也就是建立查询和视图)四、理解项目管理器在开发一个应用系统时,会涉及到很多不同类型的文件,为了对它们进行统一的管理,可以建一个“项目”,使用项目管理器就是为了对多种文件进行管理。数据与程序设计(第7章)一、数据1、掌握数据类型与表示数据类型的大写字母字符型(C)、数值型(N)、整型(I)、日期型(D)、日期时间(T)、逻辑型(L)在表中还有两类特殊类型:备注型(存放长字符串)与通用型(存放声音、图片等特殊数据)2、数据形式有四种:常量、变量、表达式和函数常量就是具体的数据,使用常量时注意格式:数值型常量(2.7,-13)、字符型常量要加定界符(”abv”,计算机,张三)、日期型常量(2011-2-24,连接符可以是短线、斜杠、句点)、逻辑型常量(.T.)3、变量就是不确定的数据,变量分为内存变量和字段变量,内存变量又分为一般内存变量(内存变量)和数组内存变量(数组)A、内存变量:系统在内存中开辟的一个存储空间,用来存放用户使用到的数据,为了使用这个空间进行存取数据,给它命名,这就是变量名。x 12.5内存变量可直接使用。B、数组变量:内存中一块连续的空间,用来存放一组数据F F Fa(1) a(2) a(3)x(1,1) x(1,2) x(1,3) x(2,1) x(2,2) x(2,3) F F FF F Fx(1) x(2) x(3) x(4) x(5) x(6)DIMENSION a(3) DIMENSION x(2,3)数组有一维数组和二维数组。一组空间有一个共同的名字(a),叫数组名,可以通过数组名引用整个数组,也可以通过数组名加下标使用其中的一个数据元素,每个数据元素相当于简单内存变量。不可以出现同名的内存变量和数组变量。数组使用前要先申请(dimension,declare),申请后,每个空间存放了初始数据.f.。二维数组也可以象一维数组一样引用。C、字段变量:表中一个字段的值有多个,所以把字段看作一个变量,字段名就是变量名,当记录指针在不同的记录间移动时,字段就有了不同的取值。学号姓名年龄性别籍贯9001李丽20女北京9002肖峰21男上海9003王红19女长春若内存变量与字段变量同名,则引用时要加前缀“M.”或“M-”( M-姓名)。4、表达式表达式是由常量、变量和函数通过运算符连接起来的计算公式。要掌握各种表达式的运算符。我们比较熟悉的就是数值计算的运算符(+、-、*、/、)对于不常用的要着重去记字符串运算符+、-表示两个字符串相连接,+:直接连接;-:连接后,前串尾部空格转到新串船尾部。日期运算也是这两个符号:+、-,日期加(减)数值代表此日期若干天之后(前)的日期。两日期相减代表两日期之间相差的天数。时间运算类似。比较运算符主要有、=、=、=、!=经常考到的是字符串比较运算,要记住:$:字串包含测试,前串是后串的子串,结果为真=:全等运算,两串完全相等结果为真=:与set exact 的设置有关ON状态时,在不考虑尾部空格时,两串相同,为真OFF状态时,后串是前串的前一部分,结果为真(在具体题中去记)逻辑运算符(AND、OR、NOT)5、函数函数也是一种操作,有函数名和参数两部分组成,格式为函数名(参数),函数名代表要进行的操作,参数代表对那些数据操作。每个函数都是有返回值的,也就是操作的结果(即函数名(参数)本身代表一个值)。参数可以是一个(比如取整函数INT(2.45),也可以是多个(比如取子串函数SUBSTR(“计算机考试系统”,7,8)),也可以是0个(比如系统日期函数DATE())。要记住及灵活使用一些常用函数,我们在题里具体去讲。二、程序设计此部分笔试试卷考的一般是阅读程序。阅读程序就像做英语文章的阅读理解一样,要想读懂一个程序,应基本做到两方面:一是懂得每条命令语句的意思;二是弄清程序结构。程序中基本的单语句只有三种:输入语句: INPUT/ACCEPT TO 赋值语句: = STORE TO 输出语句:?此处的就包括了我们前面所提到的所有数据形式,常量(每种格式)、变量(三种,名称多样)、表达式(多种运算符)、函数(很多种)因此最复杂的是赋值语句。程序中基本结构也有三种:顺序结构。选择结构(IF和CASE):IF ELSE ENDIFDO CASE CASE 条件1 语句序列1 CASE 条件2 语句序列2 . ENDCASE循环结构:(WHILE、FOR和SCAN)DO WHILE ENDDOFOR = TO STEP ENDFOR | NEXT SCANFORWHILE ENDSCAN就是这三种基本结构和三条基本语句形成的程序就会千变万化,及其繁复。我们只能尽量多见识各种程序,以达到熟练掌握的目的。三、程序模块及其调用DO WITH ()FUNCTION|PROCEDURE PARAMETERS RETURN ENDFUNC|ENDFROC1、模块调用DO WITH () 为两种调用语句,当主模块执行到调用语句时自动转向执行子模块,子模块执行完后,返回主模块继续执行下面的语句,返回时可能会带有值。2、参数传递在调用的过程中有时会传递参数,调用语句中的参数为实参,子模块中PARAMETERS 语句中说明的参数叫形参,形参的类型和顺序必须与实参一致,调用时,系统会自动把实参传递给形参。形参的数目不能少于实参,若多的话,多出来的形参自动取逻辑值.f.参数传递有两种方式:按值传递和引用传递采用第一种调用语句(DO WITH )时,若参数是常量或表达式,则为按值传递;若参数是变量,为引用传递。采用第二种调用语句(())时,默认都是按值传递,但是若参数是变量,有一条设置语句可以改变传递方式(SET UDFPARMS TO VALUE|REFRENCE)用小括号括起来的变量不论什么情况下都是按值传递。按值传递传的是实际的数据,形参的改变不会影响到实参;引用传递传的是地址,形参的改变也就是实参的改变。3、变量的作用域当涉及到多个模块有调用关系时,变量的作用域的概念就会被提出。变量的作用域有如下三种:公共变量(用PUBLIC说明),作用范围为所有模块。私有变量(不需说明,直接使用),作用范围为建立它的模块和下属模块。局部变量(用LOCAL说明),作用范围为本模块,调用它的模块和被它调用的模块均没有效。A=1PUBLIC XY=2LOCAL ZPRIVATE A隐藏变量(用PRIVATE说明),目的是为了隐藏上层模块的同名变量,不让它在本模块及下属模块中起作用,而使用新的变量SQL命令语句(第5章)SQL(Structured Query Language,结构化查询语言),是基于关系数据库的标准语言,广泛应用于包括VFP在内的数据库开发软件。它在VFP中的主要应用语句有如下三类:n 查询语句SELECTn 记录操作 插入语句INSERT 更新语句UPDATE 删除语句DELETEn 表的操作 创建表CREATE TABLE 修改表ALTER TABLE 删除表DROP TABLE一、查询语句SELECT命令基本格式为:SELECT ALL|DISTINCT TOP nExpr PERCENT Alias.Select_Item AS Column_name ,Alias.Select_Item AS Column_nameFROM DataName!TableName AS Local_Alias , DataName!TableName AS Local_Alias INNER|LEFT OUTER|RIGHT OUTER|FULL OUTER JOIN DataName!TableName AS Local_Alias ON JoinCondition WHERE JoinCondition AND JoinCondition AND FilterCondition AND|OR FilterCondition ORDER BY Order_Item ASC|DESC, Order_Item ASC|DESC GROUP BY GroupColumn ,GroupColumn HAVING FilterConditionTO SCREEN|FILE FileName ADDITIVE|PRINTER PROMPTINTO TABLE TableName|CURSOR CursorName|ARRAY ArrayName此命令功能丰富,使用灵活,看似复杂,实际上只要你把几个基本短语搞清楚,掌握它的用法,也并不太难。1、SELECT短语设置要查什么,查询项一般是表中的字段名,依次列举出来,若是所有字段则用“*”,从多个表中查询时,别忘了给字段名前加表名,比如(学生.学号)。若是查询结果项不在表中,但可以由表中内容生成,则可以设置表达式,比如(YEAR(DATE()-YEAR(出生日期) AS年龄)AS可以省略。若查询的结果可能有重复值,可以加DISTINCT去掉重复值。若想查询前几项或前百分之几,要加TOP短语,比如TOP 3 或TOP 50 PERCENT(此短语一定和ORDER BY短语结合使用)2、FROM短语后面跟表名,用于指定从哪个(或哪几个表中查询)。一个表比较简单,若是多个表需要建立联接。3、建立联接表之间的联接分为内部联接和外部联接(也称超链接),我们一般建立的是内联接,有两种方式:A、通过JOIN短语建立(在ON短语中设置连接条件):比如FROM 学生 INNER JOIN 成绩 ON学生.学号=成绩.学号INNER经常省略。B、直接列举表名,在WHERE设置连接条件:比如FROM 学生,成绩 WHERE 学生.学号=成绩.学号内部联接是指两个表中只有满足连接条件的记录才会出现在结果中,外部联接则不同,不满足连接条件的记录也会出现在结果中,因此又有左联接、右联接和全联接,使用的是第一种建立方式,把INNER JOIN换成LEFT OUTER|RIGHT OUTER|FULL OUTER JOIN4、WHERE短语除了前面的作用,WHERE短语还用来设置筛选条件。也就是我们反复讲的 比较运算符 这种形式的条件。A、比较运算符除了以前用的传统比较运算符(,=,=,=!,=,$)外,SQL语句还提供几种特殊形式的运算符:BETWEENAND:用于判断其值是否满足于一个区间,比如 工资BETWEEN 1500 AND 2000(使用时注意小值在前大值在后)LIKE:模糊比较,后面提供的值是一个模糊字符串,比如 姓名LIKE “王%” (只能与字符串比较,%代表多个字符,_代表一个字符,注意与传统VFP中的通配符是不一样的)IN:后面提供的是多个值,用于判断是否是其中的一个,后面通常是子查询,看下例。IS:只是用来判断某字段是否为空,比如 入学成绩 IS NULL。B、值有时候题中明确给出了条件的具体值,这比较简单,比如我们经常写的 性别=”男” ,工资=2000 等等。有时候题里没有明确给出值,需要我们先把它查出来,这是就用到查询的嵌套。比如“查询与王芳同一个系的学生信息”,王芳是什么系的,不知道,就要用子查询查出来,SELECT * FROM 学生 WHERE 系名=( SELECT系名FROM 学生 WHERE 姓名=”王芳”)这就叫嵌套查询,就是一个SELECT语句中还嵌入了一个SELECT语句。若子查询会查出多个值,这里就不能用=,而用前面提到的IN。5、ORDER BY短语用于指定按某关键字排序。多个排序项用逗号隔开,可以分别指定其排序方式升序还是降序,默认为升序。比如 ORDER BY 成绩 DESC,学号排序项可以是字段名,生成结果(如前面的年龄),查询项的序号,但不能是表达式。6、GROUP BY短语用于在分组汇总时指定分组项。一般什么时候用到分组呢,读题时若有“每个”什么,或“各个”什么,及类似的意思,就要进行分组,比如查询“每门课程的选课人数”、“每个人的平均成绩”,“每个仓库的职工数”、“每个职工的订单数”等等。“每个”后面修饰的主语就是我们的分组项。分组一般结合汇总,汇总方式常用的有计数(COUNT)、平均值(AVG)、总和(SUM)等。GROUP BY短语中可能会带有一个HAVING短语,用来对分组进行限制,后面也是跟筛选条件,比如查询“在3个人以上的选课人数”,“订单多于5个的职工的姓名及订单数”。7、TO短语制定查询输出目标。查询的默认输出为浏览窗口。TO SCREEN|FILE FileName ADDITIVE|PRINTER PROMPTSCREEN:输出到屏幕,即VFP主窗口。FILE FileName ADDITIVE:输出到文本文件,若选用ADDITIVE,则查询结果将追加到原文件尾部;否则覆盖原文件。PRINTER PROMPT:输出到打印机,若选用PROMPT,则在开始打印之前,打开打印机设置对话框。比如要求输出到文本文件aa,TO FILE aa8、INTO短语INTO TABLE TableName|CURSOR CursorName|ARRAY ArrayNameTABLE TableName:保存到独立的表文件。CURSOR CursorName:保存到临时表文件。ARRAY ArrayName:保存到数组。此短语在上机操作中用的较多。9、几个特殊项A、量词(SOME、ANY、ALL)一般放在比较运算符后,子查询前,用于限制子查询使用的数目。也就是和子查询结果的某些比较,还是和所有的比较。B、谓词(EXISTS)一般放在子查询前,此时不需要再比较,就是判断子查询结果存在。C、并短语(UNION)一般放在两个查询块之间,用于取两次查询结果的并集。这些在讲笔试试卷时再举例。二、插入语句INSERT插入语句的主要形式为:INSERT INTO VALUES ()将给定的值插入到表记录中,每个值与前面的字段名一一对应,若包含所有的字段值,则不需指定字段名。另外还有两种插入形式不常用到:从数组中插入INSERT INTO FROM ARRAY 从同名变量插入INSERT INTO FROM MEMVAR三、更新语句UPDATE此语句用来修改表中记录的内容。基本格式为:UPDATE SET = WHERE WHERE短语用于限定修改的记录。使用方法见SELECT语句的解释,注意有时为简单条件,有时需要在条件中使用子查询。四、删除语句DELETE此语句用来删除表中的记录,同VFP的DELETE命令一样,也是逻辑删除。基本格式为:DELETE FROM WHERE WHERE短语用于限定删除修改的记录。使用方法见上。注意,查询时有联接查询,但是修改和删除的语句中不可能出现表的联接。五、创建表CREATE TABLECREATE TABLE ( ( ,) CHECK ERROR DEFAULT PRIMARY KEY|UNIQUE REFERENCES TAG ,该命令不打开表设计器创建表,但是在命令中基本能设置所有的表设计器中设置的内容,比如字段,有效性、默认值、索引等。其中字段名、类型和宽度是必要的。六、修改表ALTER TABLE修改表的结构命令比较复杂,主要是因为它可以增加字段、修改字段和删除字段。 添加字段:ALTER TABLE ADD () CHECK ERROR DEFAULT 修改字段:ALTER TABLE ALTER () CHECK ERROR DEFAULT 删除字段ALTER TABLE DROP 重命名字段ALTER TABLE RENAME COLUMN TO 七、删除表DROP TABLEDROP TABLE 八、视图的创建与删除语句创建视图的主体语句是一个SELECT语句。CREATE VIEW AS SELECT-查询删除视图使用DROP VIEW 面向对象程序设计及表单、菜单、报表(第8、9、10章)一、面向对象程序设计的基本概念1、对象与类:类是具有共同属性共同方法的对象的集合。类是对象的抽象,对象是类的实例。2、属性属性是对象特征的描述,也就是对象的存在状态,是静态的。属性的使用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论