1、Vfp 课件重点总汇:1. Visual FoxPro 及它的中文版,是可运行于 Windows 98 和 Windows NT 平台的 32 位数据库开发系统2. Visual FoxPro 还提供了一个集成化的系统开发环境,支持面向对象可视化编程技术。第一章 1.1.1本节重点:什么是信息、数据?信息与数据的区别与联系?数据管理的三个阶段,各个阶段的特点?重点掌握数据库系统阶段。1. 信息(Information):信息是客观事物属性的反映。它所反映的是关于某一客观系统中某一事物的某一方面属性或某一时刻的表现形式。2. 数据(Data):数据是反映客观事物属性的记录,是信息的载体。对客观事
2、物属性的记录是用一定的符号来表达的,因此说数据是信息的具体表现形式。数据所反映的事物属性是它的内容,而符号是它的形式。3. 两者关系:区别:数据与信息在概念上是有区别的。信息是有用的数据,数据是信息的表现形式。联系:信息是通过数据符号来传播的,数据如不具有知识性和有用性则不能称其为信息。 1.1.2数据的管理技术的发展大致经历了三个阶段:人工管理阶段、文件系统阶段以及数据库系统阶段。1.人工管理阶段特点:数据一般不需要长期保存;数据管理没有统一的管理软件;数据不能共享;数据不具有独立性(即不能独立于程序) 。2.文件系统阶段特点:数据可以以文件形式长期保存;程序与数据之间具有相对的独立性;数据
3、文件组织多样化。 3. 数据库系统阶段特点:采用数据模型表示复杂的数据结构,实现数据共享;有较高的数据独立性;提供数据安全性、完整性等管理与控制功能;统一管理和控制数据。1.2.1本节重点:数据库系统的组成?什么是数据库、数据库管理系统、数据库系统?它们之间的关系?数据库管理系统的基本功能?1. 数据库系统(简称 DBS)组成:由数据库(DB) 、数据库管理系统(DBMS)、计算机支持系统、应用程序和有关人员组成。 (DBA 数据库管理员)各种应用程序数据库管理系统( DBMS)数据库管理员( DBA)数据库(DB)2.数据库(DataBase 简称 DB)(1)定义:指按一组一定数据库模型组
4、织的、长期存放在辅助存储器上的、可共享的相关数据的集合。(2)特点:具有最小的冗余度,即数据尽可能不重复;资源共享性;数据独立性;安全可靠;保密性能好。(3)组成:一是数据;二是元数据(关于数据的数据,数据的结构、类型、格式、关系、完整性约束、使用权等)元数据的集合称为数据字典,数据库管理系统通过数据字典对数据库进行管理。3.数据库管理系统它是对数据库进行管理的系统软件,是用户与数据库之间的接口。功能:数据定义、数据操纵、数据的组成和存取、数据库运行管理、数据库的维护(P4)应用程序是面向最终用户的、利用数据库系统资源开发的、解决管理和决策问题的各种应用软件。1.3.1本节重点:什么是三级模式
5、结构?什么是两级映射?1. 三级模式(1)外部层(2)概念层(3)内部层注:它们分别对应于数据库模式的外模式、模式和内模式2. 二级映射(1)外部层/概念层 保证数据的逻辑独立性(2)概念层/内部层 保证数据的物理独立性1.4本节重点:信息在三个领域中的表示?E-R 模型的基本概念(实体、联系、属性) ,以及它们在 E-R 图中的表示图形?什么是关系模型?它的组成是什么?操作系统什么是超关键字、候选关键字、主关键字和外部关键字?有哪些关系运算?有哪些完整性约束?1. 数据模型是用来抽象、表示和处理现实世界中的信息和数据。数据模型主要有:层次模型、网状模型、关系模型和面向对象数据模型。树型、层次
6、模型和网状模型统称为非关系型,它们分别用树结构和网络结构对实体集和联系进行描述。2. 信息的三个领域:现实世界、信息世界、数据世界。3. 概念模型,对现实世界的第一层抽象,长期以来,广泛使用“实体联系”模型(ER 模型) 。4. 在 E-R 图中,矩形框表示实体集,菱形框表示联系,椭圆(圆形)框表示属性。5.关系模型用二维表表示实体集,通过外部关键字表示实体间联系,由三部分组成:数据结构、数据操作、完整性规则。6.完整性规则:域完整性、实体完整性、参照完整性和用户自定义。7. 关键字 超关键字(就是多个主关键字的集合) 侯选关键字 主关键字(唯一能够确定数据的字段) 外部关键字(一个关键字在一
7、张表中是主关键字,在另外一张表中就可能不是关键字)注:大多数二维表中,只有一个侯选关键字,在有些复杂的二维表中有多个侯选关键字。8. 关系运算 关系的基本运算有两类:传统的集合运算(并、差、交等) ,两个关系必须具有相同的关系模式;专门的关系运算(选择、投影、联接) 。实际设计关系模式时,一般要求满足 3NF9. 关系模型的完整性(1)域完整性(2)实体完整性(3)参照完整性1.5本节重点(在后续章节中将重点介绍):数据定义命令数据查询命令数据更新命令SQL 的视图命令1. 关系数据库语言是一种非过程语言2. 定义基本表的 SQL 语句表示为:CREATE TABLE (列名数据类型完整性约束
8、条件 ,) 表示可含有该子句,也可为空,视实际定义要求而定。例:create table cj(xh C(8),kcdh C(4)3. 数据库查询是数据库的核心操作。SQL 语言提供了 SELECT 语句进行数据库查询。 SELECT 查询语句简单的形式为:SELECT A1,A2 ,An (指出目标表的列名或 列表达式序列)FROM R1,R2,Rm (指出基本表或视图序列)WHERE F (F 为条件表达式)4. 插入语句( INSERT)它可将一个记录插入到指定的表中。语句格式为:INSERT INTO (,)VALUES(,)注:INSERT 语句在插入一个记录时,将表达式的值按序作为
9、对应列的值。此时,若未指明列名的那些列,在对应的记录中取空值。5. 更新语句(UPDATE)修改语句可对指定表中已有数据进行修改。语句格式如下:UPDATE SET , WHERE 功能:修改指定表中满足 WHERE 子句条件中的记录,其中 SET 子句给出的值,用于取代相应列的值,若省略 WHERE 子句,则表示要修改表中的所有记录。6. SQL 删除语句的格式为:DELETE FROM WHERE 该语句的功能是从指定表中删除满足 WHERE 子句条件的记录。如果省略 WHERE 子句,则删除表中所有记录。注意:仅删除表中记录,表的定义仍在数据字典中。7. SQL 语言用 CREATE V
10、IEW 语句建立视图,其一般格式为:CREATE VIEW 视图名 AS SQL 查询语句视图是 DBMS 所提供的一种以用户模式观察数据库中数据的重要机制。视图可由基本表或其他视图导出。视图只是一个虚表。1.6本节重点:数据库设计的基本步骤?数据库设计的各个步骤的任务、实现的方法、设计步骤以及最终的结果?1. 数据库设计包括数据库结构特性的设计与数据库行为特征的设计。2. 数据库设计方法也有两种:面向数据和面向过程。3. 需求分析的重点是“数据”和“处理” ,通过调研和分析,应获得用户对数据库的基本要求(1) 信息需求(2)处理需求(3)安全与完整性的要求4. 在需求分析中经常使用结构化分析
11、方法(Strucured Analysis,简称 SA) 。SA 方法从最上层的组织机构入手,采用自顶向下逐层分解的方法分析系统,并用形式化或半形式化的描述(如数据流程图(DFD)和数据字典(DD))来表达数据和处理过程的关系。5. 数据流程图(Data Flow Diagram,简称 DFD)是使用直观的图形符号,描述系统业务过程、信息流和数据要求的工具。6. 数据字典是关于数据库中数据的描述,即元数据7. 系统设计分为三个阶段:概念结构设计,逻辑结构设计和物理结构设计。8. 一般用 E-R 模型作为描述概念模型的工具9. 概念结构设计步骤:按分层的局部应用需求,设计局部概念模式局部概念模式
12、集成为全局概念模式主要工作有两点:合并 消除冗余10.概念结构设计的最终成果有两个方面:数据的概念结构说明系统的功能设计描述11 逻辑结构设计从概念模型导出特定的 DBMS 可以处理的数据库的逻辑结构,包括数据库的模式和外模式。设计步骤如下:E-R 图向关系模式的转换规范化处理数据模式的优化用户模式的设计概念结构设计阶段中所得到的全局 E-R 图中的实体集和联系,转换为 RDBMS所支持的关系型数据的逻辑结构。概念模型( E-R图)关系数据模式规范化数据模式用户模式转化规则规范化优化逻辑结构设计的基本步骤12. 逻辑结构设计中的成果也有两个方面:在数据库设计的描述方面在功能设计描述方面:自顶向
13、下13. 数据库物理结构设计有两个目标:提高数据库的性能有效地利用存储空间14. 系统实施的任务是实现系统设计阶段提出的数据逻辑结构、存储结构和软件结构,按实施方案完成一个可实际运行的信息系统,交付用户使用。该阶段的主要工作包括三个方面:利用 DBMS 提供的数据定义语言对逻辑结构设计和物理结构设计的结果进行定义,包括数据的描述、记录的描述、记录间关系的描述以及物理结构的各种描述,建立实际的数据库结构。装入测试数据对应用程序进行测试,以判断其功能和性能是否能满足设计要求,并对数据库进行检查和评估。装入实际数据,建立起实际的数据库。15.测试包括以下三种类型:(1)模块测试(2)系统测试(3)验
14、收测试16 系统维护工作的主要任务:. 1. 日常维护数据库的备份与恢复安全维护空间管理并发控制问题解决2. 监控与分析收集统计数据分析操作3. 性能调整调整索引调整查询和调整事务4. 扩展与增强应用程序扩展与增强模式修改DBMS 版本升级1.7本节重点:各种 DBMS 产品的比较?Visual FoxPro?Orade是世界上使用最广泛的大型关系型数据库管理系统之一DB2(UDB ,通用数据库)能够在各种系统中运行自如,大型的 DBMS。Sybase多库、多设备、多用户、多线索等特点极大地丰富和增强了数据库功能。MSSQL Server采用客户/服务器体系结构,支持 Web 技术。Acces
15、s单文件型数据库,提供对数据的完整性和安全性控制的机制,提供界面友好的可视化开发环境。Visual Foxpro将在第 2 章中详细介绍。第二章2.1本节重点:熟悉 VFP 的操作环境熟练掌握几个常用的命令1. 工具栏:系统提供了 10 多个工具栏,可利用“显示”“工具栏”设置工具栏。一般为常用工具栏。2. 在命令窗口中是以交互式的方式输入命令的,也可以通过编写程序的方式执行命令。3. 命令的语法格式说明(1)斜体字:该部分是命令的一个语法成分,由用户定义。(2)方括号:“ ”;可选项。(3)省略号:“”;前一语法成分可重复多次。(4)竖线:“|”;前后语法成分选择其一。(5)粗体字:命令名关
16、键字,用于标识命令的功能。例:DELETE FILE FileName|? RECYCLE RECYCLE 用于决定是否将删除的文件放入回收站。4.如果命令太长,在命令窗口中可用+换行输入,在程序中用“;”换行输入(最后一行不需要分号) 。5.”*” 只能将整行命令定义为注释,且*必须为命令行第一个字符(如果出现在命令中,就表示同类型的所有文件,例:dir a:*.txt)6.”?” 显示的值在上一次显示内容的下一行显示(即换行显示) ;”?” 将本行内容接着上一行的内容显示(不换行) 。 7. DIR 命令在 VFP 主窗口中显示文件的目录。 格式:DIR 文件路径 文件说明 例如:DIR
17、& 显示当前目录表文件DIR a:*.txt & 显示 a 盘中的 txt(文本)文件DIR a:jxglt*.scx & 显示 A 盘中以字符 t 开头的.scx 文件8. MD / RD / CD 命令MD:创建文件夹; RD:删除文件夹; CD:改变当前目录。 9. COPY FILE / RENAME / DELETE FILE 命令例如:COPY FILE C:aamyfile.txt TO a:RENAME a:*.txt TO c:*.doc &故 rename 具有移动文件的功能10. RUN 命令调用外部 DOS 命令, DOS 应用程序或 Windows 应用程序。例如:R
18、UN /N Calc & 运行 Windows 的 “计算器”应用程序(相当于调用系统中的工具)(/N 表示不必要等待该命令执行结束就可以执行下一个命令)11. QUIT 命令关闭所有打开的文件,并结束当前的 VFP 系统的运行。2.1.31.通过 set 命令修改 vfp 的操作环境。(如果最后不是 “确定” ,而是“设置为默认值” ,那么下次再用的时候就是这次的设定值,不变。)2. 常用的 SET 命令 ,具体见书 34 页,重要的几个如下:1).SET CLOCK ON|OFF|STATUS 决定 VFP 是否显示系统时钟2). SET DATE TO AMERICAN|ANSI|MDY
19、|DMY|YMD|LONG指定日期表达式和日期时间表达式的显示格式3). SET DEFAULT TO 路径说明 指定默认的驱动器、目录或文件夹4). SET ESCAPE ON|OFF 决定是否可以通过按 【ESC 】键中断程序和命令的运行5). SET ESCAPE ON|OFF 决定是否可以通过按 【ESC 】键中断程序和命令的运行6). SET TALK ON|OFF 决定 VFP 是否显示命令结果7). SET SAFETY ON|OFF 决定改写已有文件是否显示对话框2.2本节重点:VFP 各种文件类型每种文件的文件个数1. Visual FoxPro 文件类型具体见书本 35 页
20、。2. 创建一个报表并保存后,在磁盘上指定位置将生成扩展名分别为 frx.frt 的两个同名文件。2.3本节重点:熟悉项目管理器中的页面熟练掌握项目管理器的各种操作1. 注意:一旦项目文件建立完成,就会在相应的路径中生成两个文件(PJX (项目)和 PJT(项目备注) ) ;打开相应的项目文件,则项目管理器就打开了。2. 创建项目的方法:(三种)命令窗口中使用 create project 命令 命令格式: create project 项目文件名|?使用“文件”菜单中的“新建”菜单项;使用工具栏上的“新建”按钮。2.3.11. 命令按钮1). 添加 :把已有的文件添加到项目中2.3.31.
21、快捷菜单命令(单击右键,出现的菜单)(1)包含/排除:用于将所选项设置为项目包含或项目排除。如某项为项目排除,则前用 斜线带圆圈 来标注,包含的项在运行是只读的。(2)设置主文件:即设置程序的“入口”程序,可以设置为主文件的为:程序、表单、查询或菜单,并且每个项目职能有一个主文件。(3)重命名:修改所选项的名称。 (不能对已打开的文件进行重命名)(4)编辑说明:编辑所选项的说明信息。(5)项目信息:用编辑或设置一些与项目有关的信息。2.4本节重点:掌握各种数据类型掌握数据存储(常量、变量、数组、字段、对象)方法掌握各类型数据运算的操作符、表达式掌握常用系统函数的用法2.4.1对数据进行操作的时
22、候,只有同类型的数据才能进行操作,若对数据类型不同,系统判为语法错误。1.字符型 C(Character)由任意字符(字母(m) 、数字(6)、空格( )、符号 (*)等)组成,每个字符占“1”个字节,最多可有 254 个字符。英文半角状态下输入,有些由数字组成的编码还是作为字符型处理。2.货币型 Y(Currency) Y使用其类型,需在数字前加上美元符号($) 。涉及数据时,用货币型代替数值型,小数位数超过 4 位,系统自动四舍五入。3. 日期型 D(Date)用于存储日期数据,占 8 个字节。格式: yyyy / mm / dd4. 日期时间型 T(DateTime)用于存储日期时间数据
23、,占 8 个字节。格式: yyyy(4 个字节) / mm(2个字节) / dd(2 个字节) hh:mm:ss am/pm 5. 数值型 N(Numeric )由 09、 (+)、(-)、(.) 组成。注:小数点和小数 位数是字段总长的一部分。 6. 逻辑型 L(Logical)用于表示两种状态,只能是“真”(.T.)或 “假”(.F. ) ,占 1 个字节。7. 浮点型 F(Float )与数值型等价,只是为了提供兼容性。8. 双精度型(Double )B只能用于数据表中的字段定义,位数固定,小数点的位置由输入的数值决定,占 8 个字节。9. 整型(Integer)I用于数据表中的字段定义
24、,占 4 个字节。10. 备注型(Memo )M用于表中存储数据块,占 4 个字节,这 4 个字节只是一个引用(指针) ,指向实际的备注内容。注:表中记录的备注字段数据保存在单独的文件中,与表名同名,扩展名为 fpt,即备注文件。11. 通用型(General)G用于存储 OLE 对象,占 4 个字节,这 4 个字节只是一个引用(指针) ,指向实际的内容,即电子表格、照片、声音等其他类型文档。与备注型相同,若表中有通用型字段,则会生成备注文件,与表名同名,扩展名为 fpt。2.4.21. 名称命名规则名称中只能包含字母、下划线(_)、数字和汉字,即不能出现各种字符如+ 、-、!、# 、%等。名
25、称的开头只能是字母、汉字或下划线,不能是数字。除了自由表的字段名、索引标识的长度最多 10 字符,其余的名称长度可1128 个字符。应避免使用 VFP 系统的保留字系统变量一般采用下划线开头。例:2x、2_x、num- of-xs、nSum&Score、 _aver#gz、dir 、use (系统保留字)如果文件名中使用了空格符号,那么在命令中引用文件名是要加双引号。2.4.21.常量在数据处理过程中其值不发生变化的量。根据其数据类型可以分为 6 种。数值型 (对于特别大或者特别小的数字用浮点表示法:3.12E+28 即 3.12 乘以10 的 28 次方) 字符型(字符串,需“定界符 ”括起
26、来。注:定界符: 单引号() 、双引号( “”) 、方括号( )字符串中字母的大小写不等价。空串(“”) (不包含任何字符的字符串)和空格字符串(“ ”) (包含空格的字符串)是不同的) 货币型 逻辑型(.T. 、.t.、.Y.、.y. 或 .F.、.f.、.N.、 .n.(”.”是定界符,不能省)日期和日期时间型(用 括起来传统格式:mm/dd/yy hh:mm:ss a/p严格格式: yyyy/mm/dd hh:mm:ss a/pVFP6.0 及以上版本的默认格式为严格的日期格式。VFP3.0 不支持严格的格式, VFP5.0 支持。空日期值用 表示,空日期时间值用 :表示。 )如果要使用
27、传统的日期格式,要使用命令 set strictdate,格式为Set strictdate to 0/1/2(0 表示不进行严格的日期格式检查,1 表示进行严格的日期格式检查,2 表示进行严格的日期格式的检查,并对 ctod 和 ctot 函数也进行严格的日期格式检查2.内存变量VFP 中内存变量不需要声明,它的创建是通过赋值来完成,并且同时确定了该变量的数据类型。赋值方法:store to 可同时为多个不同变量赋同一个值。= 只能为一个变量赋一个值, “=”为赋值号。3.控制访问变量局部变量(local) 变量(private) (公有)变量(public)4. 变量访问当变量和字段名同名时,字段有优先被访问权。要在变量名前加“m.”以示区别。例子:在当前的工作区中打开一张表名为 xs,其中存在一个字段为 xh 则可以