Visual-FoxPro-6.0-VF速成--VF入门基础-数据库学习



《Visual-FoxPro-6.0-VF速成--VF入门基础-数据库学习》由会员分享,可在线阅读,更多相关《Visual-FoxPro-6.0-VF速成--VF入门基础-数据库学习(47页珍藏版)》请在装配图网上搜索。
1、,,,,,,,单击此处编辑母版标题样式,,单击此处编辑母版文本样式,,第二级,,第三级,,第四级,,第五级,,,*,*,VFP6.0,教程,1. Visual FoxPro,应用基础,/,冯鉴生等编著,.-,广西师大出版,,2002,1,,2. Visual FoxPro,及其应用系统开发,/,史济民,,,汤观全编著,.-,北京,:,清华大学出版社,,2000,1,教学用书,:,新编,Visual FoxPro,程序设计教程,/,高怡新、谷秀岩等编,.-,机械工业出版社,,2003,10,参考书目:,,2,,目 录,第一章,基础知识,,第二章 表的创建与,维护,,第三章 数据
2、库的创建与,操作,,第四章 查询与视图,,第五章 结构化程序设计,,第六章 面向对象程序设计基础,,第七章 表单设计,,第八章 报表和标签设计,,第九章 菜单设计,,第十章 应用实例,,3,,第一章 基础知识,本,章,知识主要包括课本的第,1,、,2,章内容,通过本章的学习要求了解数据库的发展历程、数据库的基本概念,掌握数据模型的分类、关系型数据库的特点及关系运算、,VFP6.0,数据的分类、常用函数及表达式的书写与计算等。,,4,,1.1,,概述,一、数据处理的演变:,,,1,、人工处理阶段,,,2,、文件系统阶段,,,3,、数据库系统阶段,,5,,
3、,数据(,data,):,用一定方式记录下来的客观事物的特征。,数据库,(database),:,指以一定的组织形式存放在计算机存储介质上的相互关联的数据集合,数据库管理系统(,DBMS,):,对数据库的描述、建立、编辑、运行、维护和通信等进行集中管理的软件系统。一般具有功能:数据定义(,DDL,)、,数据操纵(,DML,)、,控制和管理,(DCL),。,二、,数据库的基本概念,,特点,:数据的结构化、共享性、独立性以及数据控制功能,,6,,,2,、数据模型:数据库的组织方式。,三、,数据模型,分类,: 层次,、,网,状、,关系模型,1,、实体之间的联系分三种:,,一对一联系,,一对多联系,,
4、多对多联系,,7,,校部,人事处,科研处,教务处,管理系,教材科,师资科,教务科,……,,……,……,,层次模型:,反映的是一对多的实体关系,,几种主要的数据模型:层次、网状、关系,,8,,网状模型:,反映的是多对多的实体关系,教师,1,学生,2,教师,2,学生,3,学生,1,,9,,字段,(fields),:,二维表的列,表示事物的属性,记录,(record),:二维表,的行,表示事物各属性或各事物之间的联系,也叫,元组,。,例,1,:,,职工简况表,,,关系模型:二维表(关系),,10,,关系模型:二维表(关系),例,2,:,,职工工资表,,,职工号 基本工资,,津贴 会费 公积金 水
5、电费 应扣 实发,,,03021 860.50 150.00 8.60 26.00 76.80,,02103 660.50 100.00 6.50 20.00 56.40,,01001 760.50 120.00 7.60 23.00 60.00,,02061 470.00 60.00 4.50 14.00 23.00,,01045 650.50 100.00 6.50 20.00 54.00,,04011 450.00 60.00 4.50
6、 14.00 17.00,,字段,:,二维表的列,,表示事物的属性,记录(元组),:二,维表,的行,,表示事物各属性或各事物之间的联系,,11,,关系模型:二维表(关系),,作为关系型数据库的表格应满足以下要求,:,,,,1.,表中不允许有重复的字段名,,,2.,一个二维表中,每一列数据的类型必须相同,,,3.,表中不允许有内容完全相同的记录,,,4.,表中行和列的次序可任意排列,,,5.,表中任何一个属性(字段)都必须是不可再分的元素,,,表的三种基本,关系运算,:,,,选择:,从一个关系中选取满足条件的记录,,投影:,从一个关系中选取若干个属性组成新的关系,,连接:,两个关系中的记
7、录按一定的条件横向结合,拼接成一个新的关系,,12,,关系运算:,,,,职工号 姓名 性别 职称 出生日期 婚否 基本工资 电话号码,,,01001,张虹 女 副教授,19580223 .T. 760.50 88654230,,03021,吴言 男 教授,19540412 .T. 860.50 87635210,,02103,朱呈 男 讲师,19680524 .T. 660.50 88236711,,02061,田添 女 助教,19761212 .F. 470.00 88248243,,
8、01045,刘柳 女 讲师,19680621 .T. 650.50 89546733,,04011,林临 男 助教,19770722 .F. 450.00 88344411,投 影,选 择,连接:,职工号 姓名 性别 职称 出生日期 婚否 基本工资 电话号码 津贴 会费 公积金 水电费 应扣 实发,,01001,张虹 女 副教授,19580223 .T. 760.50 88654230 120.00 7.60 23.00 60.00,,03021,吴言 男
9、 教授,19540412 .T. 860.50 87635210 150.00 8.60 26.00 76.80,,13,,关系运算综合举例,:,基本工资介于,400——500,元之间的职工的职工号、姓名和津贴,,职工工资表,,,职工号 基本工资 津贴 会费 公积金 水电费 应扣 实发,,,03021 860.50 150.00 8.60 26.00 76.80,,02103 660.50 100.00 6.50 20.00 56.40,,01001 760.50 120.0
10、0 7.60 23.00 60.00,,02061 470.00 60.00 4.50 14.00 23.00,,01045 650.50 100.00 6.50 20.00 54.00,,04011 450.00 60.00 4.50 14.00 17.00,,职工简况表,,,职工号 姓名 性别 职称 出生日期 婚否 基本工资 电话号码,,,01001,张虹 女 副教授,19580223 .T. 760.50 88654230,,03021,吴言
11、 男 教授,19540412 .T. 860.50 87635210,,02103,朱呈 男 讲师,19680524 .T. 660.50 88236711,,02061,田添 女 助教,19761212 .F. 470.00 88248243,,01045,刘柳 女 讲师,19680621 .T. 650.50 89546733,,04011,林临 男 助教,19770722 .F. 450.00 88344411,,,,,职工号 姓名 津贴,,,02061
12、,田添,60,,04011,林临,60,,14,,根据数据模型的分类,数据库管理系统层次、网状、,关系型数据库管理系统(,RDMS,),,15,,补充:数据库的三级模式结构,,应用,1,应用,4,应用,3,应用,2,外,模式,1,外,模式,2,模式,内模式,数据库,外,模式到模式的映射,模式到内模式的映射,,16,,VFP,关系数据库的进化,时间,20,世纪,80,年代初期,80,年代中期,90,年代中期,进化阶段,90,年代初期,dBASE,FoxBASE,FoxPro,Visual FoxPro,1.2 Visual FoxPro 6.0,简介,,,17,,1.2.1 Visual F
13、oxPro 6.0,的主要特点,,1,强大的查询与管理功能,,,2,引入数据库表的新概念,,,3,扩大了对,SQL,语言的支持,,,4,大量使用可视化的界面操作工具,,,5,支持面向对象的程序设计(,OOP,),,6,通过,OLE,实现系统集成,,,7,支持网络应用,OLE,Object Linking and Embedding,,18,,1.2.2 Visual FoxPro 6.0,的主要技术指标,记录数,/,每个,1,字节记录表 ≤,10,亿,默认内存变量个数,,1024,,,字节数,/,每个表,≤,20,亿,最大内存变量个数,65000,,,字符数,/,每个记录,≤,640
14、00,,字段数据类型,,13,种,,,字段数,/,每个记录 ≤,255,,主要有:,C N L D M G 6,种,,字符数,/,每个字段,≤,254,,内存变量数据类型,6,种,,可表示的最大数(绝对值),4.941×10,324,,主要有:,C N L D,,4,种,,可表示的最小数(绝对值),4.941×10,-324,,备注字段指针长度,10,,,数值型数据的最大宽度,20,位,备注字段内容长度,≤,64K,,,字符串长度 ≤,254,,索引关键字表达式长度,≤,100,,,命令行长度,≤,8192,,报表标题长度,≤,254,,,文件
15、名长度,与,Windows,的文件名相同,文件类型,24,种,,,字段名长度 ≤,10,个字符,,可以利用的工作区数 ≤,32767,,,内存变量名长度,≤,254,个字符,,,19,,1.2.3 VFP,的启动、退出、用户界面与操作,一、,VFP,的启动与退出,,退出命令:,quit,,,二、,VFP,的用户界面与操作,,,1,、 窗口组成,,标题栏 菜单栏 工具栏,,,工作区 命令窗口,,状态栏,,,2,、 基本操作,,,,三、,VFP,的三种操作方式,,,单命令、菜单驱动、 程序方式,,四、 辅助设计工具: 向导、设计器、生成器,,20,
16、,1.2.4,项目管理器,(P22),,项目管理器用于组织和管理项目中的文件,即建立、修改、查看这些文件,可作为应用系统的控制中心,具有运行和连编等功能。项目是文件、数据、文档及,VFP,对象的集合,项目文件以,.,pjx,扩展名保存。,,,21,,1.3 VFP,的数据(,P27,),一、数据类型(共,13,种),,,主要的数据类型有:,代号,名称,长度,说 明,举 例,N,,数值,型,,<=,20,,存放一个整数或实数,,工资、学时,C,,字符,型,,<=,254,,存放一串字符或汉字,,姓名、职称,D,,日期,型,,=,8,,存放一个日期,,出生日期,L,,逻辑,型,,=,1,
17、,存放一个逻辑值,,婚否,M,,备注,型,,=,4,,存放大量字符或汉字,,简历、摘要,G,通用,型,=,4,存放声音、图像等,照片、商标,还有:货币型(,Y,),,日期时间型(,T,),,长度固定为,8,位,再加上:浮点型(,F,)、,双精度型(,B,)、,整型(,I,)、,字符型(二进制)、备注型(二进制),,22,,一、常量 在运行过程中值,不变,的数据,类型:,C N D L,,T,,Y,,,,字符型,,C,,,“,,”,,‘’,[ ],,——,,三种定界符,,,,,,,,数值型,,N,,整数 实数,(不能用分数),,,,,,,,逻辑型,,L,.T. .t.,,.Y.
18、.y.,(True),,,.F.,,.f.,,.N. .n.,(False),如:,,“,1234,”,,‘,Good bye,’,,“,中国人民,”,,[,It,‘,s a book.,] [,所谓的,’,真实,‘,],如:,,100,,0.2,,1.123e-2,,均合法,,,10%,不合法,,23,,日期型,,D,{ },,定界符,,,{^,yyyy-mm-dd,},、,{^,yyyy/mm/dd,},,,,^,表示,严格的日期格式,,,例:,,{ ^ 2001/02/03 },无论当前系统的日期格式如何设置,此日期均为,2001,年,2,月,3,日。(或无,^,则因系统的日期格
19、式设置不同而异),,,●,日期数据格式设置 (,P17,),,,工具,,—,选项,,—,区域,,,,在,日期格式,下拉列表框中选择日期格式,,—,……,,,或,用命令,,SET DATE ANSI,|,MDY,,,yyyy-mm-dd,mm-,dd-yyyy,日期时间型,,T,,例:,{^2004-02-09,10:25:55p},货币型,Y,,在数值前添加一个货币符号(,$,),是一种特殊的数值常量。 如:,$100,,24,,二,.,变量,在运行过程中值发生,变化,的数据,按存储方式的不同,变量分成二类:,,1,、字段变量,,用来描述数据表中记录属性的变量。依赖于表,建立表结构时定义
20、。是一个多值变量。共有,13,种数据类型,常用的有:,C,、,N,、,D,、,L,、,M,、,G,等,,,2,、内存变量,,,独立于表,在,命令,窗口或,程序,中定义,用来存放数据处理过程中的一些有关数据。,,,25,,,(本章主要学习内存变量,关于字段变量将在第二章学习),,,内存变量名命名要求,:必须以英文字母或汉字开头,可由英文字母、汉字、数字或下划线组成,长度不超过,10,个字符。,,26,,①,内存变量的赋值,,,<,内存变量名,>=<,表达式,>,,给一个变量赋值,,,STOR,e,<,表达式,> TO <,内存变量名表,>,,,给一批变量赋相同的值,,,●,表达式的值决定了内存变
21、量的数据类型,,,② 内存变量的显示,,,? <,内存变量名表,>,换行后输出,,,?? <,内存变量名表,>,直接输出,,,,LIST,MEMO,ry,,[LIKE <,框架,>],,,DISP,lay,,MEMO,ry,,[LIKE <,框架,>],,●,框架,:,也称结构,指,带通配符(,*,、,?,)的变量名,,其中,,*,表示任意,一串,字符,,,,?,表示任意,一个,字符。,,27,,➂,内存变量的保存与恢复,内存变量的保存:将内存变量保存到一个文件中,,save to <,内存变量文件名,>,;,,,[all like/except <,结构,>],,,内存变量的恢复:将保存在
22、内存变量文件中的变量恢复到当前内存中。,,,restore from <,内存变量文件名,>,,[additive],,说明:缺省,additive,参数时,调入的内存变量将覆盖当前内存的内存变量。否则会添加,另外,还可将屏幕保存到某个内存变量中。,,,Save screen to <,内存变量名,>,,Restore screen from <,内存变量名,>,,28,,➃,内存变量的清除(释放),,release <,内存变量名表,>,,,release all [like/except <,框架,>,,clear memory,,或,clear all,,,<,框架,>,,也称结构,是一
23、个可包括通配符“?”,(,可代表任一字符,),或“*”,(,可代表任何字符,),的标识符。,,,[like],表示“形如”,,,[except],表示“除,…,之外”,,,[all],表示当前级别能见到的全部内存变量,,29,,三 、表达式(,P33,),表达式:,用运算符把常量、变量、函数等数据按一定规则连接起来的一个式子。,,,,1,、,算术表达式,,运算符:,( ) **,(,^,),* / % + -,,,,算术运算符的优先级如下:,,优先级,运算符,1,(高),(),2,^,**,3,*,/ %,4,(低),+ -,,30,,2,、字符表达式,
24、运算符:,+ -,(连接),,,+,表示完全连接,,,如:,“,,abc,,“,+,”,de,”,,,结果为:,“,,abc,de,”,,,-,表示将前一字符串的尾空格挪到结果的最后面,,,如,,“,,abc,,“,-,”,de,”,,,,结果为:,“,,abcde,,“,,31,,3,、日期表达式,运算符:,+ -,,,,,<,日期,1> - <,日期,2>,,,,结果为数值型,(,相差天数,),,,如:,{^2003/9/16}-{^2003/9/10},,结果为,6,。,,,<,日期,>,±,,数值,,,结果为日期型,(,日期后或前,N,天的日期,),,32,,4,、关系表达式,运算
25、符:,= ,(,!=,,,#,),> >= < <=,,$ ==,,,,P35,,,表,2,-,4,,关系运算符及说明,,2,、,$,、,= =,,只适用于字符型数据比较,,,$,,当左边是右边的子,(,字符,),串时,,,值为,.T. ,,否则为,.F.,,,= =,,精确比较,必须当两个字符包含的所有字符与顺序都完全相同时,值才为,.T. ,,否则为,.F.,说明:,1,、日期与日期比较时,老的日期比新的日期要小,,33,,$,、,= =,,只适用于字符型数据比较,,$,,当左边是右边的子,(,字符,),串时,,,值为,.T. ,,否则为,.F.,,=
26、 =,,左右两边完全相同,(,精确比较,),时,,,值为,.T. ,,否则为,.F.,,,,例如,: A1=‘ASDF ‘,,A2=‘ASDF‘,,,则,:,表达式,A1$A2,,,表达式,A2$A1,,,表达式,A1=A2,,,表达式,A1= =A2,,注,:,表达式,A2=A1,值为,.F.,,值为,.T.,,值为,.T.,,值为,.F.,,值为,.F.,说明:可用,set exact on/OFF,对,=,设置是否精确比较,,当处于系统默认的,set exact off,状态时,比较时以右字符串为准,当右边字符串比较结束就终止比较。,,当设置为,set exact on,状态时,
27、则先在较短字符串的未必增加空格,使两个字符串长度相同后再比较。,,该设置对,==,无效,,34,,,运算符:,NOT,(,!,),AND OR,,,真值表:,,,A B,NOT,A A,AND,B A,OR,B,,.F. .F. .T. .F. .F.,,.F. .T. .T. .F. .T.,,.T. .F. .F. .F. .T.,,.T
28、. .T. .F. .T. .T.,,,运算优先级由高到低:,not and or,,,۞,,运算优先级别 由高到低:(举例,1,, 举例,2,),,( ),,算术运算,,字符运算,,日期运算,关系运算,逻辑运算,5,、逻辑表达式,注:逻辑运算符的操作数类型只能是逻辑型,,35,,表达式,运算举例,:,例,1,:计算下面表达式的值,,12*4+5^2>23%5 and not ‘,abb,’ $ ‘,ddabbb,’,例,2,:执行如下命令组,写出运算结果,,,X=15,,Y=10,,Z=20,,? X
29、+y/Z>y and 100>=z**2,参考答案:均为,.f.,,36,,四、 常用函数,( P38 ),,1,数值函数,,SQRT(N) INT(N) ROUND(N1 , n2 ) MOD(n1,n2),,2,字符串操作函数,,SUBSTR(C,n1,n2) LEN(C) SPACE(N),,AT(c1,c2),,TRIM(c) LTRIM(C) RTRIM(C) ALLTRIM(C),,3,日期与时间函数,,DATE( ) YEAR(D) MONTH( D ) DAY( D ),,4,类型转换函数,,STR(N1, n2, n3) VAL(
30、C),,CTOD(C) DTOC(D) DTOS(D),,,5,宏替换函数 (,&,),,6,测试函数,,VARTYPE(E) FILE(,‘,文件名,’,),函数括号内的,N,、,D,、,C,表示自变量的数据类型,,E,为“表达式”,,37,,注意: ●,函数的表示方法,,,●,,自变量的类型及其取值,,,●,,函数值的类型及其取值,,,38,,练习题,下面表达式结果为日期型的是,:,,A. 04/05/97+2 B. CTOD(’04/05/97’) – DATE( ),,C. CTOD(’04/05/97’) - 3,,D. DATE( ) + ’04
31、/05/97’,,LEN(‘ABC ‘ – ‘DDD’),的值为,?,,比较各组函数运算的值是否相等?,,,A. LEFT(“Visual FoxPro”,6),与,,,SUBSTR(‘Visual FoxPro’,1,6),,B. YEAR(DATE( )),与,,,SUBSTR( DTOC( DATE( )), 7, 2),,39,,,C. DTOS(DATE( )),与,DTOC(DATE( )),,D.,假定,A=,‘,this,‘,, B=,‘,is a book,’,,,,,表达式,A-B,与,A+b,,4. ROUN(123456.789 , -2 ),的值为,:,,A.
32、 123460 B. 123500,,C. 123456.790 D.,–,123456.79,,5.,将,“,,X,大于等于,10,且 小于等于,100,”,,写成,VFP,的合法表达式,参考答案,:,1,、,C 2,、,7,,3,、,A,相等,B,不等,C,可能相等,D,不等,,4,、,B,,,5,、,x>=10 and x<=100,,40,,6.,判断以下各命令的运行结果,,,X=10,,y=20,,x=y=15,,? X , y,7.,判断以下各命令的运行结果,,,X=10,,y=20,,? x=y,,?? X , y,,x=y,,
33、? X , y,参考答案:,6,、,.F. 20,,7,、,.F. 10 20,,20 20,,41,,1.4 VFP,的,命令格式,P48,,<,命令动词,>[<,范围,>] [,FOR,|,WHILe,<,条件,>];,,[,FIELds,<,字段名表,>],,,,,,①,范围,短语,(,字句,),:,,,ALL,所有记录,,,NEXT,n,,从当前记录起连续,n,个记录,(,包括当前记录),,,RECOrd,,i,,记录号为,i,的记录,,,REST,,从当前记录到表文件末尾(包括当前记录),,,② 条件短语,,,FOR,|,WHILE,,<,条件,>,,,注:
34、条件由关系表达式或逻辑表达式构成,,,③,FIEL,ds,<,字段名表,>,(或,<,表达式表,>,),,例,ex0101.prg,,42,,,说明,1,:,同时缺省范围和条件子句时,记录的范围由命令本身所决定;,,例如,同为显示命令的,list,,则显示,all,,而,display,,,则显示,next 1,,,,说明,2,:,有,for,子句而缺省范围子句时,默认范围为,all,;,,,说明,3,:,缺省,fields,字段时,一般指所有字段,;,,43,,For,,<,条件,>,,与,while <,条件,>,的区别,:,,P49,,For,包括指定范围内所有满足条件的记录;,,Whi
35、le,执行时会从指定范围内的第一条记录开始比较,<,条件,>,,当,<,条件,>,为真时执行相应操作,,一旦,<,条件,>,为假时,,就停止命令的执行,而不管后面有无符合条件的记录。,1,、假设当前记录为,1,,则显示的结果分别为:,,,①,,2,,,3,,,6,号记录,,,,②,,0,条记录(无显示内容);,,2,、假设当前记录为,2,,则显示的结果分别为:,,①,,2,,,3,,,6,号记录,,,②,,2,,,3,号记录,记录号,1,,2,,3,,4,,5,,6,,①,List for,性别=“男”,,②,,List while,性别,=“,男”,,44,,●,,命令书写规则,,①,以
36、命令动词开头,其后的子句(短语)的次序允许任意排列,命令与子句间用空格分隔;,,② 保留字、函数名可仅写前,4,个字符,英文大小写等效。,,③除汉字文字外,,命令中的所有符号应使用半角符号,不能使用中文标点符号,;,,,④一条命令的长度可达,8192,个字符,一行写不下时可在行尾加分号(,;,)作继行符,换行后继续书写;,,45,,1.5 VFP6,的文件类型,.PJX .,pjt,,项目文件、项目备注文件,,.DBF,表文件,,.FPT,表备注文件,,.IDX,,单索引、压缩索引,,.CDX,,复合索引文件,,.DBC,数据库文件,,.MEM,内存变量文件,,.PRG,程序文件,,.F
37、XP,编译后的程序文件,,.TXT,文本文件,,.,scx,.,sct,,表单文件、表单备注文件,,.,lbx,.,lbt,,标签文件、标签备注文件,,.,vcx,.,vct,,可视类库文件、可视类库备注文件,,.,mnx,.,mnt,.,mpr,,菜单、菜单备注、菜单程序文件,,.app .exe,,应用程序文件、可执行程序文件,P49,,,表,2-6,,46,,本章课本纠错,,P31,,第,5,行,,,应将,960.50,,改成,:,1060.50,,P34,,倒数第,10,行,,,应将,“李明”,改成,“ 李明 ”,,,(,即,,,李明后面应该有若干空格,),,P40, mod,函数中的,计算公式不正确,,方法为:设求,mod(a,b),,,则:当,a,b,同号时,,|,余数,|=mod(|a|,|b|),,,当,a,b,异号时,,|,余数,|=|b|-mod(|a|,|b|),,,最后,取余数的符号与除数相同即可,,(上述,||,表示数学中的绝对值),,47,,
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。