1、12/10/2022Visual FoxPro 6.0程序设计1 学习要点学习要点1、数据库系统的基本概念、数据库系统的基本概念2、数据模型、数据模型&3、关系模式、关系模式*4、Visual FoxPro环境环境*5、VFP配置配置6、项目管理器的使用、项目管理器的使用*第第1章章 数据库系统数据库系统 Visual FoxPro 概述概述12/10/2022Visual FoxPro 6.0程序设计21.1 数据管理技术发展v数据与信息 信息:事物状态与属性的抽象,可理解,可传递 数据:信息的载体,对信息的具体反映,广义性。v数据处理 对各种数据的进行收集、整理、组织、存储、维护、计算、检
2、索、统计和传输的过程。通常数据处理也称为信息处理。信息处理一般分为五个步骤:1、原始数据的收集 2、数据的规范化及其编码 3、数据输入 4、数据处理 5、数据输出12/10/2022Visual FoxPro 6.0程序设计31.1 数据管理技术发展v数据管理技术发展三阶段 1、人工管理阶段;数据的逻辑结构、存储结构、存取方式依靠程序员 数据与程序是一体的。数据不能共享,数据不独立 2、文件系统阶段;数据是单独的文件,数据文件之间也是相对独立的 程序与数据相对独立 数据文件的形式众多 3、数据库系统阶段。12/10/2022Visual FoxPro 6.0程序设计41.1 数据管理技术发展v
3、数据管理技术发展三阶段 3、数据库系统阶段。数据的表示使用了数据模型,面向整个应用 较高的数据独立性,用户只考虑数据的逻辑结构,不考虑物理结构 数据的安全性、完整性等众多功能 用户接口方便12/10/2022Visual FoxPro 6.0程序设计51.2 数据库系统v数据库DB:是以一定的组织形式存放在计算机存储介质上的相互关联的数据的集合。v数据库管理系统DBMS:是操纵和管理数据库的系统软件。Visual FoxPro 属于一种关系型数据库管理系统。数据定义语言DDL 数据管理语言DMLv数据库系统:是以数据库应用为基础的计算机系统。组成:组成:数据库数据库、硬件硬件(计算机硬件设备)
4、、软件软件(数据库管理系统、操作系统)、用户用户(应用程序设计员、终端用户、数据库管理员)12/10/2022Visual FoxPro 6.0程序设计6数据库管理系统数据库管理员各种应用程序操作系统数据库图1-1 数据库系统示意图12/10/2022Visual FoxPro 6.0程序设计71.4 数据模型v现实世界中的事物及其联系转化为数据的过程:现实世界事物及联系事物对象性质信息世界概念模型实体对象性质数据世界数据模型数据对象性质(抽象)(数据表示)12/10/2022Visual FoxPro 6.0程序设计81.4 数据模型v概念模型:能够被用户与程序员理解表达信息结构的模型,面向
5、客观世界、面向用户,如E-R图学生成绩考试学号姓名学号课程成绩v数据模型:刻画实体在数据库中的存储形式及实体之间的联系,有多种类型:关系模型 层次模型 网状模型 面向对象模型12/10/2022Visual FoxPro 6.0程序设计91.4.2 关系模型v1、关系与关系模式:关系:以二维表的结构来表示实体与实体间的联系系。一个关系就是一张二维表,关系的首行称为“属性”(在关系数据库中称为“字段”),其他各行称为“元组”(在关系数据库中称为“记录”)。学号课程代号成绩备注9910010100189考试9911010209976考试9911020119158补考属性或列或字段元组或记录12/1
6、0/2022Visual FoxPro 6.0程序设计101.4.2 关系模型v关系模式:对关系结构的描述,包括关系名及所属该关系的诸属性名 如成绩关系对应的模式:成绩(学号,课程代号,成绩,备注)学号课程代号成绩备注9910010100189考试9911010209976考试9911020119158补考12/10/2022Visual FoxPro 6.0程序设计111.4.2 关系模型v2、关系模型及组成:用二维表表示实体集,通过外部关键字表示实体间联系的数据模型。关系模型通过一系列的关系模式来表示数据的结构和描述,一般有三个组成部分:1 数据结构:数据库中所有数据及其相互联系都被组成关
7、系(二维表)的形式 2 数据操作:提供一组完备的关系运算,以支持对数据库的各种操作 3 完整性规则:包括域完整性规则、实体完整性规则、参照完整性规则和用户定义的完整性规则12/10/2022Visual FoxPro 6.0程序设计121.4.2 关系模型v3、关系模型的性质、关系模型的性质(1)、二维表的记录数随数据的增删而改变,但它的字段数却是相对固定。因此字段的个数、名称、类型、长度等要素决定二维表的结构。(2)、二维表的每一列均有唯一的字段名。(3)、二维表中不允许出现完全相同的两行。(4)、二维表中行的顺序、列的顺序均可任意交换。(5)、其属性具有原子性,不可再分。v4、二维表的关键
8、字、二维表的关键字 超关键字:能够惟一地标识记录的一列或几列的组合。候选关键字:能够惟一地标识记录的最少列的组合。主关键字:从候选关键字中选出的惟一标识记录的关键字。外部关键字:一张表中的某列是另一张表的主关键字。12/10/2022Visual FoxPro 6.0程序设计131.4.2 关系模型v5、关系的规范化:对关系模式与属性进行分解以消除异常的过程。衡量关系规范的原则:关系范式 第一范式1NF 第二范式2NF 第三范式3NFv6、关系运算 选择:水平分解,选择满足条件的记录 投影:垂直分解,选择苦干个字段构成新的关系 联结:根据联结条件将两个关系拼成一个关系12/10/2022Vis
9、ual FoxPro 6.0程序设计141.5 主流的DBMS产品vOracle:使用是为广泛的大型关系数据库vDB2:IBM公司开发,适用于UNIX、OS/2、WindowsvSybase:Sybase公司vMS-SQL SERVER:微软公司开发,用于Windows平台vAccess:Office套件的组件之一,属于小型可视化的关系数据库。vVisual Foxpro12/10/2022Visual FoxPro 6.0程序设计151.1 Visual FoxPro 6.0发展概述发展概述1、1986年6月推出了FoxBASE+1.0版 2、1987年7月推出了FoxBASE+2.0版 3
10、、1988年7月推出了FoxBASE+2.1版4、1992年下半年推出了FoxPro 2.5版5、1994年下半年推出了FoxPro 2.6版6、1995年6月推出了Visual FoxPro 3.0 7、1996年8月推出了Visual FoxPro5.0 8、1998年9月推出了Visual FoxPro6.012/10/2022Visual FoxPro 6.0程序设计161.6 Visual FoxPro 6.0 基础知识基础知识 12/10/2022Visual FoxPro 6.0程序设计171.6.1 系统的启动系统的启动VFP6的启动的启动:介绍三种方法:菜单、快捷方式、文件夹
11、VFP6的退出:的退出:在命令窗口中输入QUIT后按Enter键或在【文件】菜单中选择【退出】或单击主窗口右上角的关闭按钮。VFP的操作方法:命令法、菜单法12/10/2022Visual FoxPro 6.0程序设计18Visual FoxPro 6.0 系统启动系统启动单击此菜单项鼠标指向此菜单项鼠标指向此菜单项双击桌面快捷方式12/10/2022Visual FoxPro 6.0程序设计19双击双击双击双击双击返回12/10/2022Visual FoxPro 6.0程序设计201.6.3 命令的语法格式v1、命令规则:(1)以命令动词开始;(2)各部分之间要用空格隔开;(3)命令、子句
12、、函数名都可简写为前4个字符,大、小写等效;(4)一行只能写一条命令,总长度不超过8192个字符,超过屏幕宽度时用续行符“;”;(5)变量名、字段名和文件名应避免与命令动词、关键字或函数名同名,以免运行时发生混乱。v2、命令格式中的符号约定:命令中的 、|、符号都不是命令本身的语法成分,使用时不能照原样输入,其中其中:表示可选项,根据具体情况决定是否选用|表示两边的部分只能选用其中的一个 表示可以有任意个类似参数,各参数间用逗号隔开 斜体或 表示其中内容要以实际名称或参数代入Delete file filename|?recycle12/10/2022Visual FoxPro 6.0程序设计
13、211.6.3 命令的语法格式v3、常见的命令错误(1)命令动词写错(2)格式不符合要求 标点符号不对(一定要用英文标点符号)缺少必需的空格或添加了不该有的空格 数据类型不一致,要注意字符型、数值型、日期型、逻辑型数据的书写格式 (3)打不开所需文件:没有正确输入盘符和路径或文件名输错12/10/2022Visual FoxPro 6.0程序设计221.6.4 几个常用的命令v*和&*:注释一行,位于第一个字符&:注释其后的内容v?和?命令在主窗口显示表达式的值?|?表达式1 表达式2?换行显示,?不换行显示vClear:清除主窗口内容vDir:显示文件的目录 Dir 路径文件说明 路径省略显
14、示当前文件夹 文件说明省略显示所有的表文件(DBF)文件说明的通配符:*和?举例:dirdir*.txtdir d:mydbf?.*12/10/2022Visual FoxPro 6.0程序设计231.6.5 VFP环境配置v环境:影响VFP运行的参数设置 显示方式 数据表示 文件位置 v设置方法:通过选项菜单 通过SET命令v一个典型的环境设置:设置默认的文件夹 菜单法 set default to 路径12/10/2022Visual FoxPro 6.0程序设计241.6.6 VFP常见的文件类型常见的文件类型.app生成的应用程序.mem内存变量保存.dbc数据库.mnx菜单.dct数
15、据库备注.mnt菜单备注.dcx数据库索引.mpr生成的菜单程序.dbf表.mpx编译后的菜单程序.fpt表备注.pjx项目.cdx复合索引.pjt 项目备注.idx 索引,压缩索引.prg 程序.err编译错误.fxp编译后的程序.exe可执行的程序.qpr生成的查询程序.fky宏 .fmt 格式文件.qpx编译后的查询程序.frx报表.scx表单.frt 报表备.sct表单备注.lbx标签.tbk备注备份.lbt标签备注.vcx可视类库.vct可视类库备注12/10/2022Visual FoxPro 6.0程序设计251.3 Visual FoxPro 6.0 基本概念基本概念 12/1
16、0/2022Visual FoxPro 6.0程序设计261.3.1 数据库数据库 数据库(Data-BASE):现阶段对数据库的定义是存贮在一起的通用化相关数据的集合,它不仅包括描述事物的数据本身,而且包括有关事物之间的联系。数据库文件具有.dbc 扩展名,可以包含一个或多个表、视图、到远程数据源的连接和存储过程。1.3.2 表表表(Table):表是构成数据库的基本元素之一,是数据库中数据组织并存储的单元。在Visual FoxPro中,一个表以记录(行)和字段(列)的形式存储数据,它与传统的数据库的概念等同。12/10/2022Visual FoxPro 6.0程序设计271.3.3 视
17、图(视图(SQL VIEW或或VIEW)视图:一个定制的虚拟表定义,可以是本地的、远程的或带参数的。视图可引用一个或多个表,或者引用其他视图。视图是可更新的,它可引用远程表。1.3.4 关系(关系(Relation)关系:是表之间的一种链接,它允许您不仅能从当前选定表中访问数据,而且可以访问其他表中的数据。这种链接指的是联接条件。12/10/2022Visual FoxPro 6.0程序设计281.3.5 数据库管理系统数据库管理系统 数据库管理系统(Data Base Management System):是对数据库进行管理的软件系统。简称为DBMS。它的功能可概括为五个方面:数据的组织和存
18、贮、数据的查询、数据的增加删除和修改、数据的排序和索引、数据的统计和分析。1.3.6 常量常量 常量:一个不变的数值或字符串。常量表达式中包括常量和操作符,但不包含变量,而且计算结果总是常值。Visual FoxPro支持多种类型的常量,如:数值常量、字符常量、日期常量、逻辑常量、货币常量、日期时间常量等。12/10/2022Visual FoxPro 6.0程序设计291.3.7 变量变量 变量:是值可改变的量,指代计算机内存中的某一位置,其中可存放数据。变量分为字段变量和内存变量。内存变量:是独立于数据库文件的临时存储单元,可以用来存放表操作过程中或程序运行过程中所要临时保存的数据。字段变
19、量:表中的每一个字段就是一个字段变量,字段名就是字段变量的变量名。字段变量的当前值等于表中当前记录该字段所对应的内容。12/10/2022Visual FoxPro 6.0程序设计301.4 文件命名方法和命令构成文件命名方法和命令构成 12/10/2022Visual FoxPro 6.0程序设计311.4.1 命令构成的基本格式命令构成的基本格式 示示 例例USE GradeCOUNT ALL FOR 课程成绩60 LIST ALL 姓名,课程成绩 FOR;课程成绩60 TO PRINTERUSE第1条命令:打开名为GRADE的表文件。第2条命令:统计GRADE中分数在60分以下的人数。第
20、3条命令:在打印机上输出成绩为60分以下的学生的姓名和分数。第4条命令:关闭表文件GRADE,将其保存在磁盘上。这四条命令的功能分别是这四条命令的功能分别是12/10/2022Visual FoxPro 6.0程序设计32Visual FoxPro 的一般语法式的一般语法式 ;FOR;WHILE;TO FILE/TO PRINTER/TO ARRAY;/TO;ALL LIKE/EXCEPT;IN 可以将命令分为八个部分,即每个顶头行为一个部分12/10/2022Visual FoxPro 6.0程序设计33各部分的意义各部分的意义命令动词:命令动词:它是VFP的命令名,用来指示计算机要完成的操
21、作。表达式表:表达式表:用来指示计算机执行该命令所操作的结果参数。范围:范围:指定命令可以操作的记录集。范围有下列四种选择:ALL 当前表中的全部记录。当前表中的全部记录。NEXT 从当前记录开始的连续从当前记录开始的连续N条记录。条记录。RECORD 当前表中的第当前表中的第N号记录。号记录。REST 从当前记录开始到最后一条记录为止的所有记录。从当前记录开始到最后一条记录为止的所有记录。FOR:它规定只对满足条件的记录进行操作。WHILE:从当前记录开始,按记录顺序从上向下处理,一旦遇到不满足条件的记录,就停止搜索并结束该命令的执行。TO子句:子句:它控制操作结果的输出去向。ALL LIK
22、E/EXCEPT:它指出包括或不包括与通配符相匹配的文件、字段或内存变量。IN:它允许在当前工作区操作指定工作区。12/10/2022Visual FoxPro 6.0程序设计341.4.2 有关规则有关规则 1、命令动词必须是命令行的第一个非空字符,各子句可以以任意顺序跟在动词后面,命令动词与子句、子句与子句之间用一个或多个空格隔开,2、命令动词和VFP保留字均可用前4个或4个以上字母简写。3、命令行的总长度不得超过2048个字符(包括空格在内),若命令较长,在显示器上显示不下时,可以分几行写,但除最后一行以外,每行的未尾以“;”结束。4、命令、关键字、变量名和文件名中的字母既可以大写也可以
23、小写,还可以大写、小写混合,三者等效。12/10/2022Visual FoxPro 6.0程序设计351.4.3 VFP6文件命名方法文件命名方法 文件名由主文件名和扩展名两部分组成。主文件名最长由10个字符组成,可以包括字母、数字、下划线、连字符,但不能使用“*”、“?”、“/”等。但加入到了数据库中的表和字段名均支持长文件名,最长为128个字符。扩展名由“.”加3个字母组成,表示文件类型。ABC_DE-f1主文件名.DBF分隔符扩展名文件名中可以大、小写字母子混合使用12/10/2022Visual FoxPro 6.0程序设计36命令、函数符号的约定命令、函数符号的约定:其中的内容是可
24、选项,不选时系统自动取缺省值。:其中的内容是用户的选择项,通常有多种可能供用户选择一种。/:为二选一表示符。要求用户从本符号的左右两项中选择一项。:省略符。它表示在一个命令或函数表达式中,某一部分可以按同一方式重复。12/10/2022Visual FoxPro 6.0程序设计37小小 结结1、VFP6从FoxBASE开始发展大致经过了八个阶段。2、VFP6对系统的要求不高,本书以Windows98为系统平台介绍VFP6的使用方法,VFP6功能强大,使用简单。3、VFP6的启动可以通过Windows的开始菜单、桌面快捷方式、直接运行VFP6.EXE、或任意VFP6文件实现。4、VFP6退出可以通过在命令窗口中执行QUIT、系统菜单的退出菜单项或主窗口的“关闭”按钮实现。5、VFP6的文件类型很多,重点掌握所介绍的12种常用类型。6、VFP6的数据类型也很多,应重点掌握6种常用数据类型。7、应掌握VFP6的一些基本概念。8、VFP6的命令一般由八个部分构成,除命令动词以外,其它子句的位置可以任意。