vf知识点
VF知识点整理
VF知识点整理1.数据库是按一定方式把相关数据组织、存储在计算机中的数据集合,数据库不仅存放数据,而且还存放数据之间的联系。
2.数据是描述事物的符号。
数据的概念有两方面的含义:描述事物特性的数据内容以及存储在媒体上的数据形式。
数据的形式是多样的,例如,姓名、电话号码、年龄、工资等都是数据。
3.计数机对数据的处理经历了4个阶段⑴人工管理阶段:这一阶段的数据管理任务,包括存储结构、存取方法、输入\输出方式等完全由程序员通过编程实现。
(2)文件系统管理阶段:这一阶段的数据处理采取程序与数据分离的方式,有了程序文件和数据文件的区别。
数据文件可以长期保存在外存储器上被多次存取,在操作系统的文件系统的支持下,程序使用文件名访问数据文件,程序员只需关注数据处理的方法,而不必关心数据在存储器上如何存取。
(3)数据库系统阶段:使用数据库技术的主要目的是有效地管理和存取大量的数据资源,包括提高数据的共享性,使多个用户能够同时访问数据库中的数据,减少数据的冗余度,提高数据的一致性和完整性,提供数据与应用程序的独立性,从而减少应用程度的开发和维护费用。
(4)分布式数据库系统4.(1)数据库:DB 存储在计算机存储器中结构化的相关数据的集合,不仅存放数据而且还存放数据之间的关系。
(2)数据库管理系统:DBMS 是指帮助用户建立、使用和管理数据库的软件系统。
主要包括:数据描述语言(DDL)、数据操作语言(DML)以及其他管理和控制程序。
(3)数据应用系统:DBAS 是利用数据库系统资源开发的面向某一实际应用的应用软件系统。
(4)数据库系统:DBS 是指引进数据库技术后的计算机系统,包括硬件系统、数据库集合、数据库管理系统和相关软件、数据库管理员、用户等5部分。
5.数据库系统的特点:①数据的独立性强,减少了应用程序和数据结构的相互依赖性。
②数据的冗余度小,尽量避免数据的重复存储。
③数据的高度共享,一个数据库中的数据可以为不同的用户所使用。
VF知识点总结
VF知识点总结概念知识点总结1、数据库的基本理论和VF 数据库操作2、数据与程序设计3、SQL 语句4、⾯向对象程序设计及表单、报表、菜单数据库的基本理论和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)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的基础知识(1)人工文件数据库(2)关系运算传统:交并差专门:选择:行元组(记录) for where 行减少一个表投影:列属性(字段) fields 列减少一个表连接:多个表行列减少变多join on自然连接:多个表去掉重复属性的等值连接笛卡尔积:多个表3 * 3(3)关系的特点: 关系表二维表(.dbf)一个关系必须规范化元组不能重复属性不能重复属性的顺序没有要求记录顺序没有要求(4)项目(.pjx)建立项目:create project [项目名]修改项目:modify project [项目名]第二章函数常量数值表示方法:直接表示123 12.35 N货币常量表示:$123 默认4位小数$123 123.0000 8字节Y字符常量表示:"" '' [] sql Cthisform.grid1.recordsource="sele ..where 颜色='蓝' "日期常量{} 2005/05/02=>数值表示:{yyyy/mm/dd} 8字节D{yy/mm/dd}{mm/dd/yyyy} 传统严格:{^yyyy/mm/dd}set mark to ',' : set mark to :set date to ymd mdy dmy ...set cent on|offset stri to 0|1|2日期时间常量: {yyyy/mm/dd hh..} 8字节T逻辑型:m=5>6 .t. .T..y..Y. .F. .f..N..n. 1字节L表达(1)字符: + - 连接类型必须相同1+2=3"1"+"2"=12 1+"2" ×"1"-"2"=12"1 "+" 2 "=1口口2口"1 "-" 2 "=1口2口口(2)日期表达式:日期+日期×日期+数值√日期-数值√日期-日期(3)逻辑: and or not !.and. .or. .not. not>and>or(5)==:精确比较职工号=="z1" z1 z11 z12 z112日期越后的越大.t.>.f.$:包含left 左边right右边substr "...........""计算机" $ 商品名商品名like "%计算机%"like(商品名,"*计算机*")函数数值abs()sign()sqrt()int(3.456) =>3ceil(3.456)=>4floor(3.456)=>3round(3.456,2)=>3.46round(456.325,-2)=>500max("2","9","85")=>9min("计算机","电脑")=>电脑j d字符函数(1)len(字符型):结果数值len(sapce(0))=>0len(space(3)+space(5))=>8len(space(5)-space(3))=>8(2)space(数值):结果字符(3)trim() 后面结果字符ltrim() 前面allttrim() 前后into table allt(thisform.text1.value) (4)left(姓名,2) 左结果字符right(姓名,2) 右substr(姓名,2)任意位置截取一直到末尾substr(姓名,2,3):(5)at("..","..."):第一次结果数值at("..","...",n):第n次(6)stuff("abcdef",2,3,"11"):a11efstuff("abcdef",2,3,""):aefstuff("abcdef",2,0,"11"):a11bcdef(7)like(表达式1,表达式2):表达式可以出现通配符?*like("ab*","abcd") .t.like("abcd","ab*") .f.转换(1)str():数值转换为字符str(表达1,表达2,表达3) str(thisform.text1.value,8,2)(2)val():字符转数值(3)ctod():字符转日期(4)dtoc():日期转字符(5)year():截取年份n(6)month():月份n(7)day():天n(8)date():系统日期d(9)time():系统时间c(10)bof():表的首部(11)eof():表的末尾do while not eof()(12)&: &"123"=>123(13)vartype():(14)empty():"空值"测试0 .f. 空格空串 .t.empty(.null.)=> .f.(15)isnull():空值isnull(.null.) => .t.(16)iif(150>200,200,300)变量字段变量(表中的字段名)和内存变量(除表的字段名以外)当字段变量和内存变量同名,最终字段变量优先,要访问内存变量m.内存变量m->内存变量(1)假设表中的字段名姓名张三命令窗口输入:姓名=姓名-"你好"?姓名=>张三?m.姓名?m->姓名=>张三你好(2)假设表中的字段名商品名计算机命令窗口输入:m=商品名-"技术"?m => 计算机技术?商品名->计算机(3)x=3y=3store 3 to x,y(4)?:换行输出??:当前光标处输出一行(5)数组dime(1)数组的初值: .f.(2)数组的起始的小标(下标的下线):1(3)数组的个元素的类型可以不一样(4)vf变量的数据类型由变量的值决定,可以通过改变变量的值来改变变量的类型(5)对数组名赋值代表对所有元素赋值(6)可以用一维数组表示二维数组(6)scatter to :将表的当前记录赋值到数组gather from :将数组的值赋值到表的当前记录第三章数据库基本操作数据库(.dbc)数据库的命令(1)建立数据库:create database 数据库名(2)打开数据库:open database(3)修改数据库(打开数据数据库设计器):modify database(4)关闭数据库:close database(5)删除数据库:delete database(6)将自由表添加到数据库:add table(7)将数据库移除变为自由表:remove table(8)设置当前数据库:set database to 数据库名(9)取消当前数据库:set database to (所有的数据库都不是当前,不是关闭) 自由表:不属于任何一个数据库的表数据库表:放在库中(1)一个表只能属于一个数据(2)数据库表(1)字段有效性(域完整性):规则:逻辑表达式><信息:字符表达式""默认值:由字段的类型"" {} $ 123(2)索引:主候选普通唯一(3)联系:永久联系:表现为表与表之间的连线(1)必须在数据库设计器(2)建立永久联系必须先建索引:一个主一个普通(3) 一对一一对多主主(默认) 主普通(默认)候选候选主唯一主候选候选普通候选主候选唯一临时联系:指针的联动(1)先建立索引,一般主对普通(2)指针的联动:当父表的指针指向某条记录,子表的指针自动指向同一条记录(3)建立临时命令:set relation to 索引字段into 表名(4)取消临时联系:set relation to(4)参照完整性:更新插入删除步骤:(1)建立索引(2)建立永久联系(3)清理数据库:数据库->清理数据库(4)建立参照完整性更新:级联父子限制父子忽略删除:级联父子限制父子忽略插入:限制子父忽略自由表的特点:(1)自由表不能建立上面的操作(2)自由表不支持长表名into table allt(thisform.text1.value)(3)自由表:候选普通唯一(4)将数据库表删除后,原来是主索引->候选索引索引:逻辑顺序由指针构成的文件索引和表单独存放(1)主索引: 一个数据库表只能建立一个主索引建立主索引的字段值不能重复(2)候选索引:一个表可以建立多个候选候选索引和主索引的功能完全相同建立主索引的字段值不能重复(3)普通:一个表可以建立多个普通建立普通就是为了排序建立普通索引的字段值可以不重复,也可以重复(4)唯一:一个表可以建立多个唯一建立唯一就是为了排序建立唯一引的字段值可以不重复,也可以重复建立唯一索引,如果字段不重复,结果全部出现如果字段重复,重复字段结果只出现一个,默认出现第一个(5)建立单索引(.idx)index on 索引表达式to 索引名注意(1)一个单索引产生一个文件,多个单索引产生多个文件(2)单索引的文件名就是to后面的索引名(3)单索引只能升序,不能降序(4)单索引只能两种索引:普通(默认) 唯一(unique)(6)结构符合索引(.cdx)注意:(1)多个结构符合索引只产生一个文件(2)结构符合索引的文件名就是表名(3)结构可以升序,也可以降序默认:升序asce desc(4)建立三种:候选(candidate) 唯一(unique) 普通(默认)(5)index on 索引表达式tag 索引名(7)排序:物理顺序生成一个表文件和原来的表分开存储命令:sort on 排序字段to 表名(8)查找顺序查找:locate for 查找条件(1)locate for 无论执行多少次,最终只能找到符合条件的第一条记录(2)继续查找:continue(3)判断查找是否成功:found() .t. 找到.f. 未找到(4)如果找到则eof()=> .f.如果没有找到: 则eof()=>.t.索引查找:seek(1)要用seek,必须按查找的字段先建立索引(2)继续查找:skip(3)locate for 性别="男" seek "男"(9)设置当前索引(打开索引)(1)命令建立索引:index on tag 直接有效(2)设计器:不会直接有效set order to 索引名set order to :关闭有效索引第四章sql(1)简单sql公式sele 结果字段1,结果字段2,...from 表where 条件注意:(1)*:所有字段* from 表1 * from 表1,表2 表1.*(2)distinct:去掉重复记录张三女张三女(3)where 查询条件(2)连接查询(1)where 连接等价于[inner] join on 内连接wheresele 结果字段from 表1,表2,..where 表1.公共字段=表2.公共字段; and ..and 查询条件join on (2个表)sele 结果字段from 表1 join 表2 on 表1.公共字段=表2.公共字段; where 查询条件join on(3个表)sele 结果字段from 表1 join 表2 join 表3 ;on 表2.公共字段=表3.公共字段;on 表1.公共字段=表2.公共字段;where 查询条件(2)超级连接left join :左连接左的表如果不满足条件,结果也会出现,满足条件的也会出现right join:右连接full join:全连接join on:内连接只有满足的才会出现嵌套(1)in not in 在....里面sele 结果字段from 结果的表where 公共字段in;(sele 公共字段from 条件的表where 查询条件)(2) exists (真的条件) not exist (假的条件)sele 结果字段from 结果的表where exists;(sele * from 条件的表where 结果表.公共字段=条件表.公共字段; and 查询条件)计算查询(1)sum(参数) 求和(2)max (3)min (4)avg() (5)count()数数计数排序sele 结果字段from 表where 条件;order by 字段1 [asc|desc],排序字段2 [asc|desc],...注意:(1)order by 排的最终结果的顺序修正(2)排序可以更多个字段,从左到右的顺序(3)asc 升序desc 降序默认为升序分组sele 结果字段from 表where 条件;order by 排序[asc|desc];group by 分组字段1,分组字段2,...[having 分组的条]注意(1)as 重命名sele 原字段as 结果字段...(2)avg max sum min count:只能写在sele 或having(3)order by :结果排序只能跟结果字段(4)where :只能跟原字段(5)group by :可以跟原字段也可以是结果字段(6)条件:where having(7)having:必须跟在group by 的后面(8)having 和where 不矛盾先用where 限定元组,在用group by 分组,然后再用having去掉不满总条件的分组(9)嵌套查询sele ..(sele...)order by 不能用在子查询中查询去向(1)top n [perc] :前多少条:top必须和order by 同时使用(2)into array 数组名(3)into cursor 临时表(4)into table|dbf 永久表(5)to file 文本文件数据操纵(1)插入数据非sql:append insert append fromsql:insert into 表名values(字段值):插入全部字段insert into 表名(制定字段)values(字段值):插入部分字段insert into 表名from array 数组名insert into 表名from memvar 从同名的内存变量(2)更新数据非sql:replace 更新字段名with 字段值:只能当前一条replace 更新字段名with 字段值for :满足条件replace all 更新字段名with 字段值for : 满足条件replace all 更新字段名with 字段值:全部sql:update 表名set 字段名=字段值:默认全部update 表名set 字段名=字段值where :符合条件(3)删除记录非sql(1)逻辑删除:dele for 条件(2)恢复:recall for 条件(3)物理删除:pack 必须先逻辑后物理(4)彻底删除:zap 删除全部记录后,表依然存在sql:(1)逻辑删除:dele from 表名where 条件(2)物理:pack数据定义(1)建立表:create table|dbf 表名[name 长表名][free];(字段名1 字段类型[(字段宽度[,小数位数])] [null|not null] [check [error]] [default][primary key |unique ][refe 表2][,字段名2...])(2)修改表格式1:alter table 表名add|alter [column] 字段名字段类型[(字段宽度[,小数位数])] [null|not null][check [error]] [default][primary key |unique ][refe 表2][,字段名2...])格式2:alter table 表名alter [column] 字段名[null|not null] [set default] [set check][drop default] [droup check]格式3:alter table 表名drop 字段名alter table 表名renamen 原字段名to 新字段名alter table 表名add primary key |unique ..alter table 表名drop primary keyalter talbe 表名drop unqiue tag 索引名查询和视图查询的知识点(.qpr)(1)查询是预先定义好的sql sele 语句(2)是一个文本文件(3)建立查询(1)新建->查询(2)项目->数据->查询(3)create query 查询文件名(4)新建->文本文件->sql->保存->.qpr(4)修改查询:modify query 查询文件名(5)查询的选项卡: 字段->sele连接->join on筛选->where排序->order by分组->group by having杂项->top distinct运行查询:do 查询文件名.qpr视图(1)基于sql产生(2)视图保存在数据库中,磁盘上不存在,操作视图,必须先打开数据设计器(3)查询保存在磁盘上,就是叫查询文件,跟数据库无关(4)视图:字段连接筛选排序分组更新条件杂项(5)查询只能查表,但是不能更新表,视图既可以查询表,也可以更新表(6)建立视图:create view 视图名as sele ..(7)删除视图:drop view 视图名(8)修改视图:modify view表单(.scx)表单文件名:保存或关闭表单控件名(表单名):name表单标题:catpion背景色:backcolor自动居中:autocenter模式表单:windowtype不可移动:movable高:height宽:width左:left顶:top表单的退出命令:thisform.release方法:退出release 显示:show 隐藏:hide表单:load init destroy unload事件:click dblclick rightclick属性:caption backcolor name ...建立表单:create form 表单名修改表单:modify form 表单名运行表单:do form 表单名标签(label1)属性name:名字caption:标题fontsize:字体大小forecolor:字体颜色autosize:自动调整大小backcolorfontname:字体backstyle:是否透明文本框(text1)name:名字value:文本框的值inputmask:格式x:任意字符9:数字和+ - #:空格数字+- . , passwordchar:密码显示的字符表示文本框的值:thisform.text1.value将sql的结果放入文本框:(1)sele ..into array aa(2)thisform.text1.value=aa命令按钮(command1)属性default:默认按钮enter click .t. 一个cancel:取消escenabled:是否可用(黑色和灰色)visible:是否可见(显示和隐藏)caption:标题事件:click选项组:optiongroup1 option1 option2属性:value=n:第n 个按钮被选中if thisform.optiongroup1.value=n :选中第n个按钮.....elseendifdo casecase ....endcasebuttoncount:按钮的个数组合框(combo1)value:选中的值displayvalue:选中或输入的值displaycount:显示的最大数目字段名=bo1.displayvalue rowsourcetype:数据源的类型0-无additem 增加条目removeitem 删除条目1-值手动自己输计算机,电脑,...6-字段某个字段的值8-结构显示某个表的所有字段名3-sql 写sele 命令5-数组数组名7-文件*.doc *.xls 幻灯片pptrowsource:数据源列表框(list1)value:列表框中选中的值listcount:列表框中的条目总数rowsourcetype:数据源的类型rowsource:数据源list(i):代表第i个条目thisform.list1.value页框(pageframe1) page1 page 2..pagecount:页数activepage:激活某一页thisform.pageframe1.activepage=n:激活第n页表格(grid1)captionrecorsourcetype:数据源的类型0-表开关的状态无关1-别名表必须开4-sql sele 语句recordsource:数据源columncount:列数-1 :全部列N:只能有n列0-表thisform.grid1.recourdsource="表名"4-sqlthisform.grid1.recourdsource="sele .. into cursor "计时器(timer1)interval: 计时器时间间隔500复选框(check1)value=1 选中=0 为选中check1 check2 (一个check就是2个结果,二个check就是4个结果)菜单(.mnx .mpr)建立菜单(1)先建->菜单->(.mnx)->单击菜单->生成(.mpr)菜单文件菜单程序文件(2)运行:.mpr 程序文件(3)菜单表文件(书227页,本身并不能运行,必须要生成)(4)建立菜单/修改:modify menu 菜单名(5)退出菜单:set sysmenu to default(6)退出表单:thisform.release(7)菜单的显示位置:单击显示->常规选项->位置访问键: (\<字母)快捷键: 直接输(菜单设计器的选项打勾后,再按ctrl+某个键)分组线:\-运行菜单:do 菜单名.mpr(8)顶层表单(将菜单显示在表单上)菜单(1)建立菜单(2)单击显示->常规选项->勾上顶层表单表单(1)将表单的showwindow -2(2)给表单init (load):添加调用菜单的代码:do 菜单文件名.mpr with this注意:菜单中要用表单中的东西原来表单中:thisform.release菜单中:表单文件名.release快捷菜单(将菜单显示在表单上,右键才可以显示)菜单(1)先建->快捷菜单(2)单击显示->常规选型->设置-> para 形参名(是否设形参,关键是要看你的菜单是不要用表单,如果要就必须设,不要就不设)表单(1)在表单的rightclick 添加代码do 菜单名.mpr with this注意快捷菜单也可以用表单的东西原来在表单:thisform.release菜单中:形参名.release程序(.prg)注释*:&&:note :输入命令(1)input "输入提示" to 变量:输入任意类型数值:1213货币:$123字符型:"" '' []日期: {}(2)accetp "输入提示" to 变量:只能输入字符串字符:不用""(3)wait "输入提示" to 变量:只能输入单个字符程序结构(1)顺序结构(2)选择结构:if if do caseendif else case ..endif ..endcase (3)循环结构do while for scan for.. .. ..enddo endfor endscanloop:结束本次循环继续下一次exit:结束循环参数传递格式1: do 过程名(函数名) with 参数do aa with 5 (常量): 单向do aa with x+y (表达式):单向do aa with (x) (带括号的变量):单向do aa with x (变量):双向格式2:过程名(参数)set udfp to value:设置单向传递单向aa(5)aa(x+y)aa((x))aa(x)set udfp to refe :双向aa(5) :单向aa(x+y):单向aa((x)):单向aa(x) :双向变量的作用域公共变量:publicpublic 变量初值:.f.作用范围:全部都可以用私有变量:在他和他的下层可以使用直接定义的变量叫私有变量局部变量:local 变量名初值:.f.只能在本模块中使用建立和修改程序:modify command 运行程序:do 程序名do 查询.qprdo 菜单.mprdo form 表单报表(.frx)标签:显示文字表达式:域控件ole对象:图片建立报表:create report 报表名修改报表:modify report 报表名预览报表:report form 报表preview。
VF全部考点总结
第一部分窗口认识1、VF的启动2、标题栏的介绍控制按钮(应用软件的图标,双击此图标可以关闭该应用软件)正在使用的软件信息最小化按钮、最大化按钮及还原按钮、关闭按钮。
3、工具栏的操作(重点)(1)显示与隐藏方法一:显示→工具栏方法二:在工具栏上任意地方单击鼠标右键(2)工具栏的移动针对固定工具栏,将光标定位在空白处用鼠标拖动。
针对浮动工具栏,将光标定位在空白处用鼠标拖动或用鼠标拖动标题栏。
4、工作区域。
5、状态栏的介绍当前打开的表名及位置、当前指针的位置及总记录个数。
有OVR 表示改写状态无OVR表示插入状态。
切换方式:INSERT 键 有NUM表示小键盘可用,否则不可用。
有CAPS 表示输入的字母是大写,否则是小写。
切换方式:CapsLock 键.6、命令窗口有三种方法可以显示或隐藏命令窗口(1)单击命令窗口右上角的关闭按钮可关闭它,通过“窗口”菜单下的“命令窗口”选项可以重新打开。
(2)单击“常用”工具栏上的“命令窗口”按钮。
(3)按Ctrl+F4组合键隐藏命令窗口;按Ctrl+F2组合键显示命令窗口。
7、VF退出(1)用鼠标左键单击Visual FoxPro 6.0标题栏最右面的关闭按钮(2)从“文件”下拉菜单中选择“退出”选项。
(3)用窗口左上角的控制按钮(a.单击选择“关闭”b.或双击.)(4)ALT+F4(5)QUIT第二部分数据与数据运算数据的表现形式:常量、变量、表达式、函数✓考点1 常量●常量用以表示一个具体的、不变的值。
不同类型常量的书写格式不同。
在VisualFoxPro中,常量主要包括以下几种类型。
1.数值型常量:数值型常量即常数,用来表示一个数量的大小,由数字0~9小数点和正负号组成。
2.货币型常量:货币型常量用来表示货币值,其书写格式与数值型常量类似,但要加上一个前置的符号($)。
3.字符型常量:字符型常量也称为字符串,其表示方法是用半角单引号、双引号或方括号把字符串括起来。
vf知识点
<一>数值型 N 货币型 Y 字符型 C 逻辑性 L 日期型 D 日期时间型 T<二>1、Vfp 是面向对象的数据库系统2、数据库 DB数据库管理系统 DBMS (整个数据库系统的核心) 数据库应用系统 DBAS 数据库管理员 DBA 3、数据库系统的特点①实现数据共享,减少数据冗余 ②采用特定的数据模型 ③具有较高的数据独立性 ④有统一的数据控制功能 4、实体间的联系 ①一对一联系 ②一对多联系 ③多对多联系5、数据库管理系统所支持的数据模型分为三种:层次模型(树状结构)、网状模型(网状结构)、关系模型(二维表结构)6、一个关系的逻辑结构就是一张二维表。
数据库并不包括用户数据7、关系术语DBMS (VFP )信息世界现实世界关系 表 实体集 二维表 关系模式 表结构 实体集 表头 元组 记录 实体 行 属性字段属性列表 .dbf 数据库 .dbc数据库备注文件 .dct 数据库索引文件 .dcx 单索引文件 .idx结构复合索引文件.cdx 可执行文件 .exe 应用程序文件 .app 编译文件 .fxp 源程序文件 .prg 备注文件 .fpt 查询文件 .qpr 菜单 .mpr8、在一个关系中,行列的交叉点叫分量,分量是不可再分的,等价于属性不可再分9、关系的特点①关系必须规范化②同一关系中不能出现相同的属性名③关系中不允许有完全相同的元组,即不允许有冗余④在一个关系中元组的次序无关紧要⑤在一个关系中列的次序无关紧要10、关系的基本运算有两类:一类是传统的集合运算,另一类是专门的关系运算并:或A或B①传统的集合运算差:A而非B交:A且B选择:从关系中找出满足给定条件的元组的操作(以行为单位)②专门的关系运算投影:从关系中指定若干个属性组成新的关系的操作(以列为单位)连接:关系的纵向结合。
等值连接自然连接11、变量用于储存数据,其值是可变的。
每个变量有一个变量名,代码通过变量名来访问变量的值。
VF知识点总结
第一章 VF数据库基础1.4 vf系统简介Vf6.0是可运行于windows平台的 32位数据库开发系统1.5 项目管理器1.定义:指文件、数据、文档和visual foxpro对象的集合,是将一个应用程序的所有文件集合成一个有机的整体。
扩展名.pjx2.项目管理器包含的选项卡:●数据:数据库,自由表,查询●文档:表单,报表,标签●类:●代码:程序、函数库API,应用程序●其他:文本文件,菜单文件,其他文件●全部:包含以上各类文件3.在项目管理器中,可以:新建文件、添加文件、删除文件、修改文件,不可以重命名文件4.退出VF命令:quit1.6 数据库基础知识数据:是存储在某种媒体上能够识别的物理符号。
数据处理:将数据转化为信息的过程。
DBS(数据库系统)包括DB(数据库)、DBAS(数据库应用系统)、DBMS(数据库管理系统)数据库系统的组成:硬件系统、数据库集合、数据库管理系统及相关软件、数据库管理员和用户。
数据库系统的核心是:数据库管理系统(DBMS)数据模型:层次模型(用树型结构表示实体及其之间联系的模型称)网状模型(用网状结构表示实体及其之间联系的模型)关系模型(用二维表来表示实体以及实体之间联系的模型。
以关系数学理论为基础)1.7关系数据库“关系”指的是:表文件(.dbf文件)外部关键字:若表中的一个字段不是本表的主关键字或候选关键字而是另外一个表的主关键字或候选关键字,这个字段就称为外部关键字。
传统的集合运算并:两个关系的元组的集合。
差:属于一个关系而不属于另一个关系的元组的集合。
交:两个关系中的公共元组。
专门的关系运算:选择:从关系中找出满足给定条件的元组的操作称为选择。
投影:从关系中制定若干属性,组成新的关系。
投影是从列的角度进行的运算。
连接:把两个关系拼接成一个关系的运算。
第二章数据与数据运算2.1 常量与变量2.1.1 常量常量的数据类型:字符数值日期日期时间货币逻辑●字符常量:可以使用的定界符“”‘’ []●数值常量:1.23E-5 科学计数法●日期常量:分严格日期格式:{^yyyy-mm-dd}传统日期格式:{mm/dd/yy}Set strictdate to 0 可以使用传统日期格式Set strictdate to 1/2 必须使用严格日期格式默认情况下使用严格日期格式Set mark to “-”日期分隔符(”/”,”–““.”)默认 /Set date to mdy /dmy/ymd 设置日期顺序默认 mdySet century on 4位年份显示Set century off 2位年份显示(默认)Set century to 世纪值 rollover 年份参照值当输入两位的年份小于参照值,输出年份世纪值+1如: set century to 19 rollover 20R={10/21/13}?r 输出为: 2013年10月21日R={10/21/95}?r 输出为: 1995年10月21日●日期时间常量●逻辑常量:.t. .f.(.y. .n.)在主窗口口只显示 .t. 和 .f.货币型常量:使用$ ,保留4位小数2.1.2 变量1.变量三要素:变量名数据类型变量值2.变量分类:字段变量和内存变量当内存变量和字段变量同名时,字段变量优先使用,如果要使用内存变量M.变量名或 M->变量名3.内存变量赋值用= 或 storeStore 值 to 变量1,变量2,…Store 一次可以对多个变量赋相同的值。
VF重点
第一章Visual FoxPro 数据库基础Visual FoxPro就是一个32位既面向对象又面向过程的数据库管理系统。
1.1 数据库基础知识数据:是指存储在某一种媒体上能够识别的物理符号。
在Visual FoxPro中数据的范围比较广:文字数据、图像数据、声音数据、其它。
但我们使用最多,最为基础的还是文字数据。
数据包含两个方面:数据的内容和形式。
同一个数据内容可以有不同的形式。
数据处理:是指将数据转换成信息的过程。
信息:通过对数据进行加工处理,获得人们有用的数据的过程。
信息=数据+数据处理1.1.2 计算机数据管理数据处理的中心问题是数据管理.数据管理是指对数据的收集、整理、组织、分类、查询、维护等。
计算机对数据管理经历以下几个的发展阶段:1、人工管理阶段数据和程序不具有独立性,无法进行长期保存,数据不能共享,数据冗余大,一组数据对应一组程序,数据和程序之间是一一对应关系。
程序与程序之间存在大量的数据重复称为数据冗余。
2、文件系统管理阶段数据和程序有了一定的独立,数据和程序开始分开存储,有了数据文件和程序文件之分。
但是,数据文件是为了满足特定业务或某部门的专门需要而设计的。
3、数据库系统管理阶段数据和程序彻底分开,出现了专门管理数据的系统--数据库管理系统(Data Base Management System,DBMS)。
数据和程序具有较高的独立性,实现数据共享,减少数据冗余(注:但并不是完全避免数据冗余),1.1.3 数据库系统的几个概念1、数据库(DataBase-DB):存储计算机上的结构化的相关数据的集合。
它不仅包括描述事物本身的数据,而且还包括事物之间的联系。
2、数据库管理系统(Data Base Management System-DBMS):为数据库的建立、使用、维护而配置的相关软件。
如:Visual FoxPro就是一个32位数据库管理系统。
3、数据库应用系统(DBAS):开发人员通过数据库管理系统开发出来的相关软件。
Vf需要记住的知识点
Vf需要记住的知识点1、update 教师set 新工资=原工资*1.20 where职称=”教授”2、insert into 教师values (“林红”,”讲师”,”1000”,”1200”)3、myform_da.caption=time4、myform_da.caption=dtoc(date())5、do scmenu_d.mpr6、left(职工号,4)=”1102”7、order by 3 desc , 2 desc8、运行报表文件report form9、包含条形和弹出式菜单10、Do while i>=1011、建立候选索引alter table 课程表add unique 课程号tag temp (index 唯一)12、模块尽量内聚度高耦合度弱13、设置默认值alter table 舌头alter 年度set default “2006”14、脱离vf独立运行的程序是exe程序15、报表文件FRX中保存的是报表设计格式的定义16、Delete from 表where 字段=字段逻辑删除17、调用报表格式文件pp1预览报表的命令是“Do form pp1 preview”预览报表:report form 报表文件名preview18、select 歌手姓名,max(分数)as'最高分',min(分数)as'最低分',avg(分数)as'平均分'from 评分表,歌手表where 评分表.歌手编号=歌手表.歌手编号group by 歌手姓名order by 平均分desc into table result19、‘性别$男女‘20、use temp cappend from 歌手信息(追加信息)21、Replace all email with 部门好+雇员号+其他22、select 歌手信息.姓名as 姓名,歌手信息.歌手编号as 歌手编号, avg(打分表.分数) as 平均分from 歌手信息,打分表where 歌手信息.歌手编号=打分表.歌手编号group by 歌手信息.歌手编号order by 平均分desc into table ttt23、设置标签的alignment属性为时钟,选中标签然后执行‘格式’对齐菜单的水平居中命令24、暂停事件thisform.timer1.interval=025、关系中不能出现相同属性名26、列数,方向,字段布局27、存到文本文件中To file mn_p.txt28、建立字段有效性规则及错误提示信息alter table orderitem alter 数量set check 数量>0 error “数量必须大于零”29、继续事件=50030、计时器的timer 事件ble1.caption=time()31、set sysmenu to default 菜单的退出命令select student.学号,姓名,avg(成绩) as 平均成绩,count(*) as 选课门数from SC , studentwhere student.学号=SC.学号group by SC.学号having count(*)>=4and 平均成绩>=75order by 平均成绩descinto table TWO32、建立主关键字段Creat table 学生(学号C(10)primary key,姓名C(16))33、表单有自己的属性事件和方法34、实现关系的投影运算短语是select35、表单文件的扩展中,表单信息的数据库文件是SCX36、DIMENSION F(2,3) 或DECL F(2,3) &&定义F为2行3列的二维数组,共6个元素37、模糊比较(SET EXACT OFF)——只要右边字符串在左边字符串的起始位置能找得到,结果就为真,38、ABS()函数返回指定的数值表达式的绝对值。
vf知识点及历年考题
endfor
for i=10 to 1 step -1 ??a(i) endfor cancel
20、从键盘输入10个数,将他们 按照从大到小的顺序输出
分析:三步,
1.数组初始化,
2.用冒泡排序法从小到大排序, 3.数组输出
21.求3*4矩阵中元素的最大值和最小值
分析:先求出每行中的最小值,放于数组b中, 然后再求数组b中的最小值。 &&设要求的矩阵为a dime b(3) for i=1 to 3
enddo
cancel
Enddo
?s cancel
14. 显示100以内能被5整除的偶数或奇数 15. 求1/1!+1/3!+1/5!+.......+1/(2*n-1),的和, 其中当1/(2*n-1)<10-6是结束运算 Clear
S=0 i=1 do while .T. m=1 for j=1 to i m=m*j endfor m=1/m if m<10^(-6) exit endif s=s+m i=i+2 enddo ?s cancel
各种双重求和 Do while .T. 模板求和 判断素数以及素数之和和个数 掌握一种排序算法 掌握一种查找算法 变量和命令不区分大小写
二、关键字 keyword
VF关键字:在编程时,不能当做变量使用的字符符号
请回忆学过的关键字……
clear、cancel、return、store、dime/dimension/declare; not、and、or; input、accept 、to; if、 else、endif、case、endcase; do、while、enddo、for、endfor、next、step、loop、exit; 各种函数名称(int、sqrt、rand、pi、 len、substr、 str、 val); 各种命令的四个字母的缩写
vf基本知识点
一、数据类型:字符型(Character):引用字符型数据时必须加””(单引号也可以)日期型(Date)year\month逻辑型(Logical):只有两种:.T. 和 .F.数值型(Numeric)二、算术运算符:+-*/ (^乘方例如:6^2表示62)其优先级顺序:()、^、*/、+-三、关系运算符:<、<=、>、>=、=、<>四、逻辑运算符:NOT 非取反操作AND 与说明:两个条件必须同时满足才成立用and 连接OR 或说明:两个条件只要有满足就可以成立用or 连接优先级:not and or(非、与、或)五、语法规则命令的结构:由两部分组成(命令动词+短语)命令动词,也称关键字,它的词意指明了该命令的功能。
短语,通常用来对所要执行的命令进行某些限制性的说明总结:命令动词是用户用来表示要实现或完成的任务,动词短语提供执行命令所需的各种数据参数六、函数讲解:left(表达式,n) 从字符串表达式的左边取长度为n的子串right(表达式,n) 从字符串表达式的右边取长度为n的子串year(表达式) 取日期表达式的年份值month(表达式) 取日期表达式的月份值substr(表达式,n,m) 从字符串表达式中提取n开始的m个字符的子串,若省略m,则取n开始的所有字符str(表达式,n,m) 转换数值表达式为数字字符串,n是返回的字符串长度,m是返回的字符串中的小数位数val(表达式) 返回数字字符串对应的数值dtoc(表达式) 转换日期表达式为字符串ctod(表达式) 转换表达式为对应的日期值七、特别提示Insert、英文标点符号、空格、颜色粘贴命令行时注意物理删除例题讲解:设有数据表“pay”包含以下字段:工号(C)、姓名(C)、性别(C)、部门(C)、婚否(L)、工作日期(D)、工资(N)、补贴(N)、公积金(N),应发工资(N)。
一、列表显示(列出符合条件的所有数据的相应字段):list 列表fields 指定字段格式:(1)列出某字段:list [fields] 字段名1,字段名2,字段……for 条件(2)列出所有字段信息:list for 条件(1)列出部门为“办公室”和“研发部”的所有男性职工的信息。
VF知识点
2010.31.算法的时间复杂度是指算法在执行过程中的基本运算次数.2.属于系统软件的是操作系统.3.软件调试过程中的任务是诊断和改正程序过程中的过程.4.数据流程图是结构化方法的需求分析工具.5.数据库管理系统中负责模式定义的语言是数据定义语言.6.在学生管理数据库中存取一个学生的数据单是记录.7.数据库中用E-R图来描述信息结构但不涉及信息在计算机中表示他属于数据库设计的设计阶段。
8.VF中编译后的程序文件扩展名是FXP。
9.修改表结构使用命令MODISTRU。
10.为当前学生总分加10分命令REPLACEALL总分with总分加1011视图物理上不包含数据。
12对于关系列的次序无关紧要。
13,报表数据源可以是表.视图.查询。
14表单中指定数据源的属性是recordsource15在报表中打印当前时间应插入域控件16可根据数据库表和自由表建立查询。
17sql中更新命令关键词是update18查询读者表所以记录并存储与临时表文件one中sql语句为;select*from读者intocursorone19.软件是程序数据文档的集合20.为表建立索引候选索引可保证数据实体完整性2010.91.线性表的链式存储结构所需的存储空间一般要多于顺序存储结构2.在栈中。
栈顶指针不变栈中元素随栈顶指针变动而动态变化3.软件测试目的是发现程序中的错误4.软件过程不规范不属于软件危机表现5.软件产品生命周期是指软件产品从提出发现使用到停止使用退出过程6.面向对象方法中继承是指类之间共享属性和操作机制7.层次网状关系型数据是数据间联系方式8数据库设计中反应用户对数据要求的设计是外模式9.vf中将日期型或日期时间型数据中年份用4位数字表示为setcenturyon10int取整round四舍五入floor小于括号值最大整数ceiling大于括号值最小整数11在表设计器中设置索引包含在结构复合索引文件中(扩展名cdx)12删除视图dropview13列表框可设置多重选择而组合框不能14vf中属于命令按钮属性的是parent.this-相对引用。
Vf知识点总结
Vf知识点总结
1.清除屏幕的命令clear
2.退出vfp系统的命令quit
3.创建自由表的命令create<表名>
4.使用自用表的命令use<表名> [noupdate] [exclusive] [shared]
5.显示表结构的命令list structure /display Structure
6.打开表设计器modify structure
7.追加记录append [blank]
8.浏览记录browse for <条件表达式>
9.复制表结构copy structure to 新表名fields <字段名>
10.复制表文件copy to 新表名[fields <字段名>] [for <条件>]
11.定位记录go top &&将记录指针指向第1记录go bottom &&将记录指针指向最后1个记录go n
12.skip+n skip-n && 向文件尾(头)移动n记录
13.显示记录list|display [off] [to printer] [to file <文件名>] [for<条件表达式>]
14.修改记录edit|chang [fields<字段名表>] [for<条件表达式>]
15.删除记录delete [<范围>] [for<条件表达式>]
16.恢复记录recall [<范围>] [for<条件表达式>]
17.物理删除pack /zap
18.过滤记录list for 过滤字段list fields
19.。
VF笔试重点考核知识点
(2)投影 是指从一个关系模式中选择若干个属性组成新的关系的操作。
(3)联接 是从两个关系模式选择符合条件的元组或属性组成一个新的关系。
选择和投影的操作对象是一个表,而联接的操作对象是两个表。
选择、投影和联接这三种专门的关系运算,运算的结果依然是关系。
15.日期函数
【函数】DATE()
【功能】返回系统的当前日期。
第三章 表和数据库的基本操作
一、表的操作
1.表分为自由表(不属于任何数据库的表)和 数据库表(包含在一个数据库中的表)。
2.关于表操作的几个基本命令
CREATE 表文件名 创建一个新的自由表的结构
USE 表文件名 打开指定的表文件
【功能】返回串cExp1在串cExp2中的起始位置。函数值为整数。如果串cExp2不包含串cExp1,函数返回值为零。
2.取左子串函数LEFT( )
【格式】LEFT(<cExp>,<nExp>)
【功能】返回从cExp串中第一个字符开始,截取nExp个字符的子串。
3.取右子串函数RIGHT( )
【格式】RIGHT(<cExp >,< nExp>)
【功能】返回从cExp串中右边第一个字符开始,截取nExp个字符的子串。有关说明同LEFT( )函数。
4.取子串函数SUBSTR( )
【格式】SUBSTR (<cExp>,<nExp1> [,< nExp2>] )
【功能】返回从串cExp中第nExp1个字符开始,截取nExp2个字符的子串。
(2)主索引: 组成主索引关键字的字段或表达式,在表的所有记录中不能有重复的值。主索引只适用于数据库表的结构复合索引中。自由表中不可以建立主索引;数据库中的每个表可以且只能建立一个主索引。
VF知识点归纳
VF知识点归纳按照新⼤纲,需要学习的内容有:数据库系统与VF基础知识、数据库基本操作、结构化查询语⾔SQL、VF程序设计、设计器和项⽬管理器使⽤等。
第⼀章.数据库基础知识1.数据库(DB)、数据库管理系统(DBMS)、数据库应⽤系统、数据库系统(分为硬件系统、操作系统、数据库管理系统、数据库集合、数据库应⽤系统和数据库管理员和⽤户)2.实体:客观存在并可以相互区别的事物。
可以是物体也可以是事件。
属性:实体的特征。
其具体值称为属性值。
实体型:属性的集合。
实体集:同类型实体集合。
(VF中⽤“表”来存放同⼀类实体,即实体集。
)3.实体间联系:⼀对⼀、⼀对多、多对多4.数据模型:层次模型(树形结构表⽰实体及其之间联系)⽹状模型(⽹状结构表⽰……)关系模型(⼆维表结构表⽰……)(VF属于关系模型)5.关键字:属性或属性的组合,其值能唯⼀标识⼀个元组。
外部关键字:不是本表主关键字或候选关键字,⽽是另⼀个表的主关键字或候选关键字。
域:数据的取值范围。
6.表中不能再包含表。
不允许⼀个表中有相同的字段名。
不允许有完全相同的元组。
关系中⾏、列顺序⽆关紧要。
7.关系运算:选择运算(横向抽取)投影运算(纵向抽取)链接运算(两个关系若⼲属性拼接成⼀个新的关系)8.关系完整性:实体完整性:主关键字不能取空值,不同记录主关键字不能相同参照完整性⽤户定义完整性(域完整性)第⼆章.VF系统概述1.当前操作对象不同,横向主菜单和下拉菜单选项也不同。
(上下⽂敏感)2.光标移⾄所在⾏任何位置回车即可。
(已执⾏第⼆次执⾏的命令)3.显⽰命令窗⼝:Ctrl+F2隐藏命令窗⼝:Ctrl+F4或者通过“窗⼝”菜单4.右下⾓三个格⼦:为空表⽰插⼊⽅式/显⽰OVR表⽰改写⽅式,Insert键控制⼩键区数字是否可⽤,有Num为可⽤,NumLock键控制字母⼤⼩写,为空表⽰⼩写,CapsLock键控制5.设置默认⽬录:“⼯具”-“选项”……set default to 盘符盘符⽰例:E:\MyVfFile6.时间显⽰格式默认为:⽉⽇年可在“选项”-“区域”中设置显⽰⽅式7.VF系统设置修改:临时:在内存中(关闭VF后再次开启时⼜恢复成设置前的设置)永久:windows注册表中(当前设置永久有效)设置完单击“设置为默认值”8.“窗⼝”-“数据⼯作期”/⼯具栏中的“数据⼯作期”9.程序是由若⼲条命令或语句有序组成的,不当即执⾏。
VF知识点总结(考试必备)
VF知识点总结(考试必备)一、有效性规则和参照完整性1.有效性规则先选中要求设置的字段,(1)“规则”:逻辑型表达式即SQL格式表达式。
例:年龄是15-20:年龄>=15 and 年龄<=20(2)“信息”:字符型表达式,直接摘抄加“”(英文状态)(3)“默认值”:看选中的字段是什么类型2.参照完整性(1)判断一方(没有重复字段的表)和多方(有重复字段的表)(2)一方建主索引,多方建普通索引(3)由一方向多方扯一条线(4)清理数据库(数据库—清理数据库,如果遇到“文件正在使用暂不能发布pack命令,”此时close all,再重新以独占方式打开数据库再进行一次清理)(5)右键编辑参照完整性(两个永久性联系须一一设置其参照完整性)二、SQL语句1.格式:格式一:Select [top]字段1/字段2……from 表1,表2…. where 连接条件and(or) 筛选条件{group by 某一字段[haing count(字段)] } order by 字段1 asc/desc, 字段2 asc/desc……into table 表格式二:Select [top]字段1/字段2……from 表1 join表2 join 表3…. on 连接条件(返回来写) where 筛选条件{group by 某一字段[haing count(字段)] } order by 字段 1 asc/desc, 字段 2 asc/desc……into table 表⑪.“字段1/字段2……”,根据题目要求,搜索什么字段写什么字段,若其中某一字段在表中没有则认定为是起的新名字,在该字段前加as,之后向函数avg(),sum(),max(),min(),count()。
⑫.“group by 某一字段[haing count(字段)]”为难点。
考虑用不用group by,首先在草稿纸上或脑海生成题目要求的表,选取一个个例填写分析是否用得到group by,按什么分组。
vf各章知识点
Select的排序查询
Select的分组统计查询
Select的嵌套查询
Select的查询结果处理
第8章结构程序设计基础
知识点
程序的概念
程序的基本结构
程序文件的建立、修改与运行
简单输入命令
常用状态设置命令、程序注释命令
单分支选择结构
双分支选择结构
多分支选择结构
表的打开、关闭
记录的定位
表结构的显示
表记录的显示
表结构的修改
表记录的修改
成批数据修改
表记录的增加
表记录的删除
表的复制
表的排序
索引的含义、作用
索引的类型,索引文件的类型
索引文件的创建
索引文件的使用
表中数据的统计计算
工作区概念、别名
工作区的选择
第5章数据库的操作
知识点
建立数据库
向数据库中添加表
数据库表的特点
数据库的打开、关闭与删除
设置字段的有效性规则
建立表间的永久性联系
设置参照完整性
第6章查询与视图设计
知识点
查询的概念、查询设计器的使用
查询文件的创建、查询文件的运行
定向输出查询结果
视图的概念、视图设计器的使用
创建视图
利用视图更新数据
第7章SQL应用
知识点
SQL语言概述
SQL的Select命令格式
Select的带条件查询
第1章数据库基础知识
知识点
数据及数据管理、数据管理技术
DB、DBMS、DBS
数据库系统的特点
DBMS的主要功能
实体、属性、实体间的联系
数据模型
关系应用的概念、特点、关系运算
VF知识点
第一章 Visual FoxPro 数据库基础Visual FoxPro 是计算机优秀的数据管理系统软件之一。
1.1数据库基础知识1.1.1计算机数据管理的发展1.数据与数据处理①数据是存储在某一种媒体上能够识别的物理符号。
被计算机存储和反应客观事物的符号。
存储在某一种媒体上能够被识别的符号。
描述事物的符号。
②数据处理是指将数据转换成信息的过程。
2.计算机数据管理数据管理经历了①人工和管理阶段②文件管理阶段③数据库管理阶段1.1.2数据库系统1.数据库①数据库:有组织,可共享的相关数据的集合数据库(DB Date Base)是存储在计算机存储设备上的结构化的相关数据集合。
数据库管理系统(DBMS Date Base Management System)2.数据库系统的特点数据路系统(DBS)是有五部分组成:硬件系统、数据库集合、数据库管理系统及相关软件、数据库管理员和用户。
其中数据库管理系统是数据库系统的核心。
DBS>DBMS>DB (DBS包含DBMS,DBMS包含DB)1.1.3数据模型1.实体的描述①实体:客观存在并且可以相互区别的事物称为实体。
②实体的属性:描述实体的特征称为属性。
③实体集和实体型:属性值的集合表示一个具体的实体,而属性的集合表示一个实体的类型,称为实体型(汗血宝马)。
同类型的实体集合称为实体集(马)2.实体间联系及联系的种类①一对一联系(唯一性)如:身份证和人②一对多联系(不可逆性)如:母亲和孩子,皇帝和臣子③多对多联系(胡逆性,可逆性)3.数据模型简介①层次数据模型(已淘汰)②网状模型(已淘汰)③关系数据模型:关系数据模型是以关系数学理论为基础的。
用二维表结构来表示实体以及实体之间联系的模型称为关系模型。
一张二维表就是一个关系,一个关系就是一张二维表。
1.2关系数据库1.2.1关系模型1.关系术语①关系:一个关系就是一张二维表,每个关系有一个关系名。
文件拓展名为.dbf 每个表都要有一个表名,表名的本质代表实体集,一个表存储为一个文件。
VF各章知识点汇总
第一章数据库基础理论一、信息、数据和数据处理信息是有用的数据;数据是信息的表现形式,数据是信息的载体二、数据模型有三种:层次模型、网状模型、关系模型Visual FoxPro 6.0是关系型数据模型三、关系模型关系其实就是一张二维表,由字段、记录,和数据项组成,表中的每一行称为记录或元组,表中每一列称为字段或属性,表中每一项称为数据项或分量。
四、数据库:是数据库系统的核心和管理对象五、数据库系统由四部组成:硬件系统、系统软件(操作系统、数据库管理系统)、数据库应用系统和各类人员三级模式:外模式、概念模式和内模式六、数据库管理系统(DBMS):由三部分组成:数据描述语言DDL、数据操纵语言DML、数据库管理例行程序。
二、关系数据库1、一个关系数据库由若干个数据表组成,数据表由若干个记录组成,而每一个记录是由若干个以字段属性加以分类的数据项组成。
(即数据项→记录→数据表)2、表间关联关系的类型:一对一关系、一对多关系、多对一关系3、关系完整性:是指关系中的数据及具有关联关系的数据间必须遵循的制约和依存关系,保证数据的正确性、有效性和相容性关系的完整性包括:域完整性、实体完整性、参照完整性。
其中域完整性是指:包括字段的值、类型、有效规则实体完整性是指:对关系中的记录值是唯一的。
参照完整性是指:在数据库设计时要进行参照完整性。
建立关联表间数据的参照性。
4、关系运算:选择运算:是指从关系中选择某些满足条件的记录组成的一个关系投影运算:是指从关系中选择某些字段值组成的一个关系连接运算:是将两个或多个关系通过连接条件组成一个新的关系第三章基础知识一、数据类型:(其中所提到的字符个数,一个汉字用两个字符来表示,所有的标点符号应在英文状态下输入) 有六种基本数据类型:1、字符型:由“”、‘’和[]三种作为字符型数据的定界符。
且数据长度不能超过254个字符2、数值型:包括数值型、浮点型、货币型、双精度型、整型其中数值型是最常用的数据类型,是由数字(0~9)、小数点和正负号组成,最大长度不能超过20个字符 (包括十、—号和小数点)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.创建视图命令格式是:CREATE SQL VIEW视图名)]EREMOTE]ECONNECTlOh联接名)ESHARE] |CONNECTION(ODB数据源)] [AS命令]按照AS子句中的SQL SELEC命令查询信息,创建本地或远程的SQL 视图。
例如,例7.i 对应的命令是:OPEN DATABASE D\学生管理&&先打开相应的数据库CREATE SQL VIEW myview :ASSELECTS生•学号,学生•姓名,学生•性别,学生•入学成绩;FROM学生管理!学生2.维护视图视图的维护主要包括对视图的重命名、修改和删除等操作。
(1)重命名视图命令格式是:RENAME VIEW原视图名)TO<目标视图名)该命令重命名视图。
(2)修改视图命令格式是:MODIFY VIEW视图名)EREMOTE〜该命令打开视图设计器修改视图计算机二级VPF辅导:在VFP中建立查询掌握了查询设计器的使用方法,下面用具体的例子来说明查询设计的方法。
现在对学生表建立一个查询,显示学生的学号、姓名、出生日期及入学成绩等信息,并按“入学成绩”的升序排列。
1.启动查询设计器启动查询设计器,并将学生表添加到查询设计器中。
2.选取查询所需的字段在查询设计器中单击“字段”选项卡,从“可用字段”列表框中选择“学号”字段,再单击“添加”按钮,将其添加到“选定字段”列表框中。
使用上述方法将“姓名” 、“出生日期”和“入学成绩”字段添加到“选定字段”列表框中,这4 个字段即为查询结果中要显示的字段,显示结果中显示字段的顺序,用鼠标拖动选定的字段左边的小方块,上下移动,即可调整字段的显示顺序。
3.建立排序查询 '如果在“排序依据”选项卡中不设置排序条件,则显示结果按表中记录顺序显示。
现要求记录按“入学成绩”的升序显示,因此在“选定字段”列表框中选择“入学成绩”字段,再单击“添加”按钮,将其添加到“排序条件”列表框中,再选择“排序选项”的“升序”单选按钮,如图7.4 所示。
4.保存查询文件查询设计完成后,选择系统菜单中“文件”下拉菜单的“另存为” 选项,或单击常用工具栏上的“保存”按钮,打开“另存为”对话框。
选定查询文件将要保存的位置,输入查询文件名,首发中国自学编程网,并单击“保存”按钮。
5.关闭查询设计器单击“关闭”按钮,关闭查询设计器。
完成查询操作后,单击“查询设计器”工具栏中的“ SQ。
”按钮, 或从“查询”菜单项中选择“查看SQL'命令,可看到查询文件的内容。
例如,上面所建立查询的内容如下:SEL EcT学生.学号,学生.姓名,学生.出生日期,学生.入学成绩;FROM学生管理!学生;ORDER BY学生.入学成绩计算机二级VFP辅导:VFP表的关联所谓关联,就是当前表记录指针的移动,能引起别的表按某种条件相应地移动记录指针。
建立关联后,称当前表为主文件,与主文件建立关联的表为子文件。
1.一对一的关联命令格式是:SET RELATION TO关联表达式l>]INTO工作区号1)1(别名1)[,(关联表达式2>INTO工作区号2>1(别名2>]…][AI)DITIVE]该命令使当前表与INTO子句所指定的工作区上的表按表达式建立关联。
(1) INTO 子句指定子文件所在的工作区,<关联表达式>用于指定关联条命令中各子句的含义是:件。
可以使用索引表达式建立关联。
首先在子文件中按某表达式建立索引并指定为主索引,然后使用某关联表达式建立关联,当关联成功后,每当主文件的记录指针移动时,Visual Fox—Pro 就在子文件中查找索引表达式的值与主文件中关联表达式的值相匹配的记录,若找到了,则记录指针指向找到的第一条记录,如没有找到,则记录指针指向文件尾。
注意,索引表达式和关联表达式不一定相同,当然大多数情况下是相同的。
也可以使用数值表达式建立关联。
当主文件的记录指针移动时,子文件的记录指针移至和主文件中数值表达式值相等的记录。
(2) 若选择ADDITIVE则在建立新的关联的同时保持原先的关联,否则会去掉原先的关联。
(3) 省略所有选项时,SETRELATIONTO命令将取消与当前表的所有关联。
2.一对多的关联前面介绍了一对一的关联,这种关联只允许访问子文件满足关联条件的第一条记录。
如果子文件有多条记录和主文件的某条记录相匹配,当需要访问子文件的多条匹配记录时,就需要建立一对多的关联。
命令格式是:SET SKIP TO别名1)[,(别名2)…] 该命令使当前表和它的子表建立一对多的关联。
命令中各子句的含义是:(1) 别名指定子文件所在的工作区。
如果缺省所有选项,则取消.主文件建立的所有一对多关联。
(2) 一个主文件可以和多个子文件分别建立一对多的关联。
因为建立一对多关联的表达式仍是建立一对一关联的表达式,所以建立一对多的关联应分两步完成:先使用命令SETRELATIO建立一对一的关联(使用索引方式建立关联),再使用命令sET SKI建立一对多的关联。
计算机二级VFP辅导:VFP工作区基础学习1.工作区的概念工作区是用来保存表及其相关信息的一片内存空间。
平时讲打开表实际上就是将它从磁盘调入到内存的某一个工作区。
在每个工作区中只能打开一个表文件,但可以同时打开与表相关的其他文件,如索引文件、查询文件等。
若在一个工作区中打开一个新的表,则该工作区中原来的表将被关闭。
有了工作区的概念,就可以同时打开多个表,但在任何一个时刻用户只能选中一个工作区进行操作。
当前正在操作的工作区称为当前工作区。
2.工作区号与别名不同工作区可以用其编号或别名来加以区分。
Visual FoxPro提供了32767个工作区,系统以丨〜32767作为各工作区的编号。
工作区的别名有两种,一种是系统定义的别名:1〜lO 号工作区的别名分别为字母A〜J。
另一种是用户定义的别名,用命令“ USE表文件名)ALIAs别名)”指定。
由于一个工作区只能打开一个表,因此可以把表的别名作为工作区的别名。
若未用ALIAS子句对表指定别名,则以表的主名作为别名。
3.工作区的选择命令格式是:SELECT^作区号)|(别名)| O该命令选择一个工作区为当前工作区,以便打开一个表或把该工作区中已打开的表作为当前表进行操作。
命令中各子句的含义是:(1) 工作区的切换不影响各工作区记录指针的位置。
每个工作区上打开的表有各自独立的记录指针。
通常,当前表记录指针的变化不会影响别的工作区中表记录指针的变化。
(2) SELECT0 表示选择当前没有被使用的最小号工作区为当前工作区。
用本命令开辟新的工作区,不用考虑工作区号已用到了多少,使用最为方便。
(3) 也可在USE命令中增加IN子句来选择工作区并打开表。
例如,在l 号工作区打开学生表,并给它取一个别名,可用命令:USE学生ALIAS xs IN 或USE学生ALIAS xs IN A4.工作区的互访在当前工作区中可以访问其他工作区中的表的数据,但要在非当前表的字段名前加上别名和连接符,引用格式为:别名.字段名或别名一> 字段名。
计算机二级VFP辅导:在VFP中建立索引文件的方法1.用命令建立索引命令格式是:INDEX ON索引表达式)丁0<单索引文件名)1 TAG索引标志名)[0尸<复合索引文件名>][FOR( 条件)][c()MPACT][ASCENI)ING lI)ESCENI)ING][uNIQIjE][ADDITIVE]该命令对当前表建立一个索引文件或增加索引标志。
命令中各子句的含义是:(1) (索引表达式>是包含当前表中的字段名的表达式,表达式中的操作数应具有相同的数据类型。
(2) 若给出TO单索引文件名)子句,则建立一个单索引文件。
若给出TAG索引标志名)[OF<g合索引文件名>],则建立一个复合索引文件,或为已建立并打开的复合索引文件增加索引标志。
0尸<复合索引文件名)选项用于指定非结构复合索引文件的名字,省略此选项时,表示建立结构复合索引文件。
(3) 若选择FOR条件)选项,则只有哪些满足条件的记录才出现在索引文件中。
(4) 选用COMP. ACT,则建立一个压缩的单索引文件。
复合索引文件自动采用压缩方式。
(5) 复合索引时,系统默认或选用ASCENDING按索引表达式的升序建立索引。
选用DEs(2ENDING$降序建立索引。
单索引文件只能按升序索引(6) 选用UNIQUE对于索引表达式值相同的记录,只有第一个记录列入索引文件。
(7) 选用ADDITIVE建立本索引文件时,以前打开的索引文件仍保持打开状态。
vf 编程计算3!+4!+5!set talk offs=0p=1*2n=3do while n<=5p=p*ns=s+pn=n+1enddos结果为150计算机二级VPF辅导:VFP查询设计器1.届动查询设计器启动查询设计器,建立查询的方法很多:(1)选择“文件”菜单下的“新建”选项,或单击常用“工具栏”上的“新建”按钮,打开“新建”对话框,然后选择“查询”并单击“新建文件”打开查询设计器建立查询。
(2) 用CREATE QuEF命令打开查询设计器建立查询。
(3) 利用SQL SELEC T令,直接编辑.qpr文件建立查询。
下面介绍使用查询设计器建立查询的方法。
不管使用哪种方法打开查询设计器建立查询,都首先进入图7. 1所示的“添加表或视图”对话框,从中选择用于建立查询的表或视图,这时单击要选择的表或视图,然后单击“添加” 按钮。
如果单击“其他” 按钮还可以选择自由表。
当选择完表或视图后,单击“关闭”按钮正式进入如图7. 2 所示的查询设计器窗口。
注意,当一个查询是基于多个表时,这些表之间必须是有联系的。
查询设计器会自动根据联系提取联接条件,否则在打开图7. 2 所示的查询设计器之前还会打开一个指定联接条件的对话框,由用户来设计联接条件。
2.查询设计器的选项卡、查询设计器中有6个选项卡,其功能和SQL SELEC命令的各子句是相对应的。
(1)字段。
在“字段''选项卡设置查询结果中要包含的字段,对应于SELECT 命令中的输出字段。
双击“可用字段”列表框中的字段,相应的字段枋自动移到右边的“选定字段”列表框中,中国自学编程网,。
如果选择全部字段,单击“全部添加”按钮。
在“函数和表达式”编辑框中,输入或由“表达式生成器”生成一个计算表达式,如AVG入学成绩)。
(2)联接。
如果要查询多个表,可以在“联接”选项卡中设置表间的联接条件。
对应于JOIN ON 子句。
(3) 筛选。
在“筛选”选项卡中设置查询条件。
对应于WHERE子句。
(4) 排序依据。
在“排序依据” 选项卡中指定排序的字段和排序方式。
对应于ORI)ER BY子句。