84
Visual FoxPro 及及及及及 及及 及及及及及及及及及及及 及及及 及及

Visual FoxPro 及其应用系统开发

Embed Size (px)

DESCRIPTION

新世纪计算机基础教育丛书 谭浩强 主编. Visual FoxPro 及其应用系统开发. 第 1 章 绪论. 1.1 数据库的基本概念. 1.2 数据库管理系统和数据库应用系统. 1.3 微机 Xbase 关系数据库系统. 1.4 VFP 的界面组成和操作. 1.5 VFP 的工作方式. 1.6 VFP 的辅助设计工具. 1.7 项目管理器: VFP 的控制中心. 1.1 数据库的基本概念. 1.1 数据库的基本概念. 1.1.1 从文件管理到数据库管理. 1.1.2 数据库系统的特点. - PowerPoint PPT Presentation

Citation preview

Page 1: Visual FoxPro 及其应用系统开发

Visual FoxPro及其应用系统开发新世纪计算机基础教育丛书 谭浩强 主编

Page 2: Visual FoxPro 及其应用系统开发

第第 11 章 绪论章 绪论1.11.1 数据库的基本概念数据库的基本概念

1.2 1.2 数据库管理系统和数据库应用系统数据库管理系统和数据库应用系统1.3 1.3 微机微机 XbaseXbase 关系数据库系统关系数据库系统

1.5 VFP1.5 VFP 的工作方式的工作方式1.4 VFP1.4 VFP 的界面组成和操作的界面组成和操作

1.6 VFP1.6 VFP 的辅助设计工具的辅助设计工具1.71.7 项目管理器:项目管理器: VFPVFP 的控制中心的控制中心

Page 3: Visual FoxPro 及其应用系统开发

1.1 数据库的基本概念1.1.1 1.1.1 从文件管理到数据库管理从文件管理到数据库管理1.1.2 1.1.2 数据库系统的特点数据库系统的特点1.1.3 1.1.3 数据库系统的分代数据库系统的分代1.1.41.1.4 数据库系统的分类数据库系统的分类

1.11.1 数据库的基本概念数据库的基本概念

Page 4: Visual FoxPro 及其应用系统开发

1.1.1 从文件管理到数据库管理

( 1 )信息就是客观世界在人们头脑中的反映。是对客观事物状态和特征的描述,按其存在形式的不同,可以分为现实世界、观念世界和数据世界三种。比如说,“一个财大的学生”这种描述就是一条信息( 2 )数据,记录信息的物理符号就是数据,它是一种物理符号序列,泛指一切可以被计算机处理的符号及符号组合,是信息的一种量化表示。

1 、信息、数据与数据处理补充知识

Page 5: Visual FoxPro 及其应用系统开发

1.1.1 从文件管理到数据库管理

为了在计算机中存储和处理这个信息,必须把它的属性和特征抽出,当然,会根据处理的要求抽取部分必要的特征。例如:姓名,性别,年龄,学号,通信地址等,并且可描述成如下形式: (张三,男, 20 , 2002001 ,北京)( 3 )数据处理是对数据的加工和整理,即对各种类型的数据进行收集、分类、存储、检索和传输等一系列的加工和整理过程。就处理设备而言经历了手工处理、机械处理和计算机处理三个阶段。

1 、信息、数据与数据处理

Page 6: Visual FoxPro 及其应用系统开发

数据库的基本概念数据库的基本概念

数据处理技术的发展过程大致经历了人工管理、文件管理、数据库管理及分布式数据库管理等四个阶段。

通俗的讲,数据库可理解为存储数据的基地或仓库。

Page 7: Visual FoxPro 及其应用系统开发

文件管理阶段 应用程序与数据之间的关系如图所示。

操作系统应用程序 n

应用程序 2 数据组 2

数据组 n

应用程序 1 数据组 1┆ ┆

Page 8: Visual FoxPro 及其应用系统开发

数据库管理阶段 数据库管理阶段是 60 年代末在文件管理基础上发展起来的。随着计算机系统性价比的持续提高,软件技术的不断发展,人们克服了文件系统的不足,开发了一类新的数据管理软件——数据库管理系统( DataBase Management System , DBMS ),运用数据库技术进行数据管理,将数据管理技术推向了数据库管理阶段。

Page 9: Visual FoxPro 及其应用系统开发

在数据库管理阶段,应用程序与数据之间的关系如图 1-3 所示。

数据库管理系统 数据库应用程序 2

应用程序 1

应用程序 n

Page 10: Visual FoxPro 及其应用系统开发

序号 文 件 应 用 系 统 数 据 库 系 统1 文件中的数据由特定的用户专用 库内数据由多个用户共享

2

每个用户拥有自己的数据,导致数据重复存储 原则上可消除重复。为方便查询允许少量数据重复存储,但冗余度可以控制

3数据从属于程序,二者相互依赖 数据独立于程序,强调数据的独立性

4各数据文件彼此独立,从整体看为“无结构”的 各文件的数据相互联系,从总体看是“有结构”的

下面就数据库系统与一般文件管理系统性能对照

Page 11: Visual FoxPro 及其应用系统开发

1.1.2 数据库系统的特点 数据库系统的出现是计算机数据处理技术的重大进步,它具有以下特点。 1 .数据的结构化 在同一数据库中的数据文件是有联系的,且在整体上服从一定的结构形式。

Page 12: Visual FoxPro 及其应用系统开发

2 .数据共享 数据共享是指多个用户可以同时存取数据而不相互影响,数据共享包括以下三个方面:所有用户可以同时存取数据;数据库不仅可以为当前的用户服务,也可以为将来的新用户服务;可以使用多种语言完成与数据库的接口。

Page 13: Visual FoxPro 及其应用系统开发

3 .减少数据冗余 数据冗余就是数据重复,数据冗余既浪费存储空间,又容易产生数据的不一致。在非数据库系统中,由于每个应用程序都有自己的数据文件,所以数据存在着大量的重复。 数据库从全局观念来组织和存储数据,数据已经根据特定的数据模型结构化,在数据库中用户的逻辑数据文件和具体的物理数据文件不必一一对应,从而有效地节省了存储资源,减少了数据冗余,增强了数据的一致性。

Page 14: Visual FoxPro 及其应用系统开发

4 .具有较高的数据独立 所谓数据独立是指数据与应用程序之间的彼此独立,它们之间不存在相互依赖的关系。应用程序不必随数据存储结构的改变而变动,这是数据库一个最基本的优点。 在数据库系统中,数据库管理系统通过映像,实现了应用程序对数据的逻辑结构与物理存储结构之间较高的独立性。数据库的数据独立包括两个方面: ( 1)物理数据独立:数据的存储格式和组织方法改变时,不影响数据库的逻辑结构,从而不影响应用程序。 ( 2)逻辑数据独立:数据库逻辑结构的变化(如数据定义的修改,数据间联系的变更等)不影响用户的应用程序。 数据独立提高了数据处理系统的稳定性,从而提高了程序维护的效益。

Page 15: Visual FoxPro 及其应用系统开发

5 .增强了数据安全性和完整性保护 数据库加入了安全保密机制,可以防止对数据的非法存取。由于实行集中控制,有利于控制数据的完整性。数据库系统采取了并发访问控制,保证了数据的正确性。另外,数据库系统还采取了一系列措施,实现了对数据库破坏的恢复。

Page 16: Visual FoxPro 及其应用系统开发

1.1.3 数据库系统的分代表示数据与数据之间联系的方法称为数据模型。

1.层次模型层次模型是用树型结构来表示数据之间的联系。

R1

R21 R22

R31 R32 R33

层次模型示例

特点:( 1 )有且仅有一个结点无父结点,这个结点即为树的根;( 2 )其它结点有且仅有一个结点。

Page 17: Visual FoxPro 及其应用系统开发

2. 网络模型网络模型是用网络结构来表示数据之间的联系,可以表示多对多的联系。R1 R2

R5R4R3

R6 R7

网络模型示例

特点:( 1 )可以有一个以上的结点无父结点;( 2 )至少有一个子结点有一个以上的父结点;( 3 )在两个结点之间有两个或两个以上的联系。

Page 18: Visual FoxPro 及其应用系统开发

3. 关系模型关系模型是把数据结构看成一个二维表,每个二维表就是一个关系,关系模型是由若干个二维表格组成的集合。

Page 19: Visual FoxPro 及其应用系统开发

学号 姓名 性别 班级 家庭住址 联系电话

99010301 刘中雨 女 注会 北京东城 63956655

99010302 林天力 男 注会 北京崇文 67117378

99010303 王 平 男 注会 北京丰台 63728912

99010304 章闻天 男 注会 北京朝阳 67391356

99020201 闻书敏 女 金融 北京怀柔 89356321

99020202 于小丽 女 金融 北京宣武 62367835

关系模型示例如下表:

Page 20: Visual FoxPro 及其应用系统开发

关系模型( Relational Model ) 人们习惯用表格形式表示一组相关的数据,既简单又直观,如表 1-1 就是一张学生基本情况表。这种由行与列构成的二维表,在数据库理论中称为关系,用关系表示的数据模型称为关系模型。在关系模型中,实体和实体间的联系都是用关系表示的,也就是说,二维表格中既存放着实体本身的数据,又存放着实体间的联系。关系不但可以表示实体间一对多的联系,通过建立关系间的关联,也可以表示多对多的联系。 关系模型是建立在关系代数基础上的,因而具有坚实的理论基础。与层次模型和网状模型相比,具有数据结构单一、理论严密、使用方便、易学易用的特点,因此,目前绝大多数数据库系统的数据模型,都是采用关系数据模型,成为数据库应用的主流。 Visual FoxPro 是一种典型的关系型数据库管理系统。

Page 21: Visual FoxPro 及其应用系统开发

表 1-1 学生基本情况表 学号 姓名 性别 班级名 系别代号 地址 出生日期 是否团员 备注

011110 李建国 男 计 0121 01 湖北武汉 1984-9-28 是  

011103 李宁 女 电 0134 02 江西九江 1985-5-6 否  

011202 赵娜 女 英 0112 03 广西南宁 1984-2-21 否  

021204 孙亮 男 电 0134 02 湖南长沙 1986-9-8 是  

011111 赵琳 女 计 0121 01 江苏南京 1985-11-18 是  

021405 罗宇波 男 英 0112 03 江苏南通 1985-12-12 否  

Page 22: Visual FoxPro 及其应用系统开发

补充 关系的基本概念及其特点 1 .关系的基本概念( 1 )关系 一个关系就是一张二维表,通常将一个没有重复行、重复列的二维表看成一个关系,每个关系都有一个关系名。例如,表 1-2考生简况和表 1-3考生考试成绩就代表两个关系,“考生简况”及“考生考试成绩”则为各自的关系名。 在 Visual FoxPro 中,一个关系对应于一个表文件,简称为表,关系名则对应于表文件名或表名。

Page 23: Visual FoxPro 及其应用系统开发

表 1-2 考生简况表准考证号 身份证号 姓名 性别 出生日期 工作单位 电话号码250199990001 420106701201396 赵 娜 女 12/01/70 武汉水利电力大学 87874532

250199990002 420102730415317 李 小军 男 04/15/73 武汉电建一公司 82835762

250199990003 420104690505496 张晓云 女 05/05/69 武汉大学 87871279

250199990004 420106701106397 刘志学 男 11/06/70 华中理工大学 87651842

250199990005 420105710823495 孙 亮 男 08/23/71 湖北大学 86868014

250299990006 420106720928497 李建国 男 09/28/72 湖北工学院 88014673

返回 27 返回 34

Page 24: Visual FoxPro 及其应用系统开发

表 1-3 考生考试成绩表 准考证号 姓名 性别 出生日期 笔试成绩 上机成绩 总分250199990001 赵 娜 女 12/01/70 85 92 177

250199990002 李 小军 男 04/15/73 73 80 153

250199990003 张晓云 女 05/05/69 64 75 139

250199990004 刘志学 男 11/06/70 95 90 185

250199990005 孙 亮 男 08/23/71 67 74 141

250299990006 李建国 男 09/28/72 53 57 110

返回 36

Page 25: Visual FoxPro 及其应用系统开发

( 2 )元组 二维表的每一行在关系中称为元组。 在 Visual FoxPro 中,一个元组对应表中一个记录。 ( 3 )属性 二维表的每一列在关系中称为属性,每个属性都有一个属性名,属性值则是各个元组属性的取值。 在 Visual FoxPro 中,一个属性对应表中一个字段,属性名对应字段名,属性值对应于各个记录的字段值。 ( 4 )域 属性的取值范围称为域。域作为属性值的集合,其类型与范围具体由属性的性质及其所表示的意义确定。同一属性只能在相同域中取值。

Page 26: Visual FoxPro 及其应用系统开发

( 5 )关键字 关系中能唯一区分、确定不同元组的属性或属性组合,称为该关系的一个关键字。单个属性组成的关键字称为单关键字,多个属性组合的关键字称为组合关键字。需要强调的是,关键字的属性值不能取“空值”,所谓空值就是“不知道”或“不确定”的值,因而无法唯一地区分、确定元组。 表 1-2 中“准考证号”及“身份证号”属性可以作为单关键字,因为准考证号和身份证号不允许相同。而“姓名”及“出生日期”则不能作为关键字,因为考生中可能出现重名或相同出生日期。如果所有同名考生的出生日期不同,则可将“姓名”和“出生日期”组合成为组合关键字。

Page 27: Visual FoxPro 及其应用系统开发

( 6 )候选关键字 关系中能够成为关键字的属性或属性组合可能不是惟一的。凡在关系中能够唯一区分、确定不同元组的属性或属性组合,称为候选关键字。如表 1-2 中“准考证号”和“身份证号”属性都是候选关键字。 ( 7 )主关键字 在候选关键字中选定一个作为关键字,称为该关系的主关键字。关系中主关键字是唯一的。 ( 8 )外部关键字 关系中某个属性或属性组合并非关键字,但却是另一个关系的主关键字,称此属性或属性组合为本关系的外部关键字。关系之间的联系是通过外部关键字实现的。

Page 28: Visual FoxPro 及其应用系统开发

( 9 )关系模式 对关系的描述称为关系模式,其格式为: 关系名(属性名 1, 属性名 2, …, 属性名 n ) 关系既可以用二维表格描述,也可以用数学形式的关系模式来描述。一个关系模式对应一个关系的数据结构,也就是表的数据结构。 如表 1-2 对应的关系,其关系模式可以表示为: 考生简况(准考证号,身份证号,姓名,性别,出生日期,工作单位,电话号码)其中,“考生简况”为关系名,括号中各项为该关系所有的属性名。

Page 29: Visual FoxPro 及其应用系统开发

2 .关系的基本特点 在关系模型中,关系具有以下基本特点: ( 1 )关系必须规范化,属性不可再分割 规范化是指关系模型中每个关系模式都必须满足一定的要求,最基本的要求是关系必须是一张二维表,每个属性值必须是不可分割的最小数据单元,即表中不能再包含表。 ( 2 )在同一关系中不允许出现相同的属性名 ( 3 )在同一关系中元组及属性的顺序可以任意 ( 4 )任意交换两个元组(或属性)的位置,不会改变关系模式。 以上是关系的基本性质,也是衡量一个二维表格是否构成关系的基本要素。在这些基本要素中,有一点是关键,即属性不可再分割,也即表中不能套表。

Page 30: Visual FoxPro 及其应用系统开发

3 .关系模型的主要优点( 1 )数据结构单一 关系模型中,不管是实体还是实体之间的联系,都用关系来表示,而关系都对应一张二维数据表,数据结构简单、清晰。( 2 )关系规范化,并建立在严格的理论基础上 关系中每个属性不可再分割,构成关系的基本规范。同时关系是建立在严格的数学概念基础上,具有坚实的理论基础。( 3 )概念简单,操作方便 关系模型最大的优点就是简单,用户容易理解和掌握,一个关系就是一张二维表格,用户只需用简单的查询语言就能对数据库进行操作。

Page 31: Visual FoxPro 及其应用系统开发

关系运算 在关系数据库中查询用户所需数据时,需要对关系进行一定的关系运算。关系运算主要有选择、投影和联接三种。 选择( Selection )运算是从关系中查找符合指定条件元组的操作。 投影( Projection )运算是从关系中选取若干个属性的操作。 联接( Join )运算是将两个关系模式的若干属性拼接成一个新的关系模式的操作,对应的新关系中,包含满足联接条件的所有元组。

Page 32: Visual FoxPro 及其应用系统开发

1 .选择( Selection ) 选择运算是从二维表格中查找符合指定条件记录的操作。 在 Visual FoxPro 中,通过命令子句 FOR <逻辑表达式 > 、 WHILE <逻辑表达式 > 和设置记录过滤器实现选择运算。

Page 33: Visual FoxPro 及其应用系统开发

例如,表 1-2 按照性别 = “女”的条件进行选择运算,可得到如下结果。 表 1-4 选择运算结果

准考证号 姓名 性别 出生日期 笔试成绩 上机成绩 总分250199990001 赵 娜 女 12/01/70 85 92 177

250199990003 张晓云 女 05/05/69 64 75 139

Page 34: Visual FoxPro 及其应用系统开发

2 .投影( Projection ) 投影是从二维表格中选取若干列的操作,在表中则是选取若干个字段。 在 Visual FoxPro 中,通过命令子句 FILEDS <字段表 > 和设置字段过滤器,实现投影运算。

Page 35: Visual FoxPro 及其应用系统开发

例如,选取表 1-3 中姓名、笔试成绩、上机成绩三列的投影操作,可得到如表 1-5 所示结果。 表 1-5 投影运算结果

姓名 笔试成绩 上机成绩赵 娜 85 92

李 小军 73 80

张晓云 64 75

刘志学 95 90

孙 亮 67 74

李建国 53 57

Page 36: Visual FoxPro 及其应用系统开发

3 .联接( Join ) 联接是将两个二维表格中的若干列,按同名等值的条件拼接成一个新二维表格的操作。在表中则是将两个表的若干字段,按指定条件(通常是同名等值)拼接生成一个新的表。 在 Visual FoxPro 中,联接运算是通过 JOIN命令和 SELECT – SQL 命令来实现的。

Page 37: Visual FoxPro 及其应用系统开发

例如,将表 1-2 和表 1-3 中若干列,以“准考证号”列为依据,联接生成一个新的表格,结果如图 1-6 所示。 图 1-6 联接运算结果

准 考 证号 姓 名 性别 工 作 单 位 笔试成绩 上机成绩 总 分250199990001 赵 娜 女 武汉水利电力大学 85 92 177

250199990002 李 小军 男 武汉电建一公司 73 80 153

250199990003 张晓云 女 武汉大学 64 75 139

250199990004 刘志学 男 华中理工大学 95 90 185

250199990005 孙 亮 男 湖北大学 67 74 141

250299990006 李建国 男 湖北工学院 53 57 110

Page 38: Visual FoxPro 及其应用系统开发

1.1.4 数据库系统的分类1 、单用户数据库和多用户数据库

2 、集中式数据库和分布式数据库

3 、传统式数据库和智能式数据库

Page 39: Visual FoxPro 及其应用系统开发

补充 1.1.5 数据库新技术 数据库技术发展之快、应用之广是计算机科学其他领域技术无可比拟的。随着数据库应用领域的不断扩大和信息量的急剧增长,占主导地位的关系数据库系统已不能满足新的应用领域的需求,如 CAD(计算机辅助设计) /CAM(计算机辅助制造)、 CIMS(计算机集成制造系统)、 CASE(计算机辅助软件工程)、 OA(办公自动化)、 GIS(地理信息系统)、MIS(管理信息系统)、 KBS(知识库系统)等,都需要数据库新技术的支持。这些新应用领域的特点是:存储和处理的对象复杂,对象间的联系具有复杂的语义信息;需要复杂的数据类型支持,包括抽象数据类型、无结构的超长数据、时间和版本数据等;需要常驻内存的对象管理以及支持对大量对象的存取和计算;支持长事务和嵌套事务的处理。这些需求是传统关系数据库系统难以满足的。

Page 40: Visual FoxPro 及其应用系统开发

1 .分布式数据库 分布式数据库系统( Distributed Database System , DDBS )是在集中式数据库基础上发展起来的,是数据库技术与计算机网络技术、分布处理技术相结合的产物。分布式数据库系统是地理上分布在计算机网络不同结点,逻辑上属于同一系统的数据库系统,能支持全局应用,同时存取两个或两个以上结点的数据。 分布式数据库系统的主要特点是: ( 1 )数据是分布的。数据库中的数据分布在计算机网络的不同结点上,而不是集中在一个结点,区别于数据存放在服务器上由各用户共享的网络数据库系统。 ( 2 )数据是逻辑相关的。分布在不同结点的数据,逻辑上属于同一个数据库系统,数据间存在相互关联,区别于由计算机网络连接的多个独立数据库系统。 ( 3 )结点的自治性。每个结点都有自己的计算机软、硬件资源、数据库、数据库管理系统(即 Local Database Management System , LDBMS局部数据库管理系统),因而能够独立地管理局部数据库。

Page 41: Visual FoxPro 及其应用系统开发

2 .面向对象数据库 面向对象数据库系统( Object-Oriented Database System ,OODBS )是将面向对象的模型、方法和机制,与先进的数据库技术有机地结合而形成的新型数据库系统。它从关系模型中脱离出来,强调在数据库框架中发展类型、数据抽象、继承和持久性;它的基本设计思想是,一方面把面向对象语言向数据库方向扩展,使应用程序能够存取并处理对象,另一方面扩展数据库系统,使其具有面向对象的特征,提供一种综合的语义数据建模概念集,以便对现实世界中复杂应用的实体和联系建模。因此,面向对象数据库系统首先是一个数据库系统,具备数据库系统的基本功能,其次是一个面向对象的系统,针对面向对象的程序设计语言的永久性对象存储管理而设计的,充分支持完整的面向对象概念和机制。

Page 42: Visual FoxPro 及其应用系统开发

3 .多媒体数据库 多媒体数据库系统( Multi-media Database System , MDBS )是数据库技术与多媒体技术相结合的产物。在许多数据库应用领域中,都涉及到大量的多媒体数据,这些与传统的数字、字符等格式化数据有很大的不同,都是一些结构复杂的对象。 ( 1 )数据量大。格式化数据的数据量小,而多媒体数据量一般都很大, 1 分钟视频和音频数据就需要几十兆数据空间。 ( 2 )结构复杂。传统的数据以记录为单位,一个记录由多个字段组成,结构简单,而多媒体数据种类繁多、结构复杂,大多是非结构化数据,来源于不同的媒体且具有不同的形式和格式。 ( 3 )时序性。文字、声音或图像组成的复杂对象需要有一定的同步机制,如一幅画面的配音或文字需要同步,既不能超前也不能滞后,而传统数据无此要求。 ( 4 )数据传输的连续性。多媒体数据如声音或视频数据的传输必须是连续、稳定的,不能间断,否则出现失真而影响效果。

Page 43: Visual FoxPro 及其应用系统开发

从实际应用的角度考虑,多媒体数据库管理系统( MDBMS )应具有如下基本功能: ( 1 )应能够有效地表示多种媒体数据,对不同媒体的数据如文本、图形、图像、声音等能够按应用的不同,采用不同的表示方法。 ( 2 )应能够处理各种媒体数据,正确识别和表现各种媒体数据的特征,各种媒体间的空间或时间关联。 ( 3 )应能够像其他格式化数据一样对多媒体数据进行操作,包括对多媒体数据的浏览、查询检索,对不同的媒体提供不同的操纵,如声音的合成、图像的缩放等。 ( 4 )应具有开放功能,提供多媒体数据库的应用程序接口等。

Page 44: Visual FoxPro 及其应用系统开发

4 .数据仓库 信息技术的高速发展,数据和数据库在急剧增长,数据库应用的规模、范围和深度不断扩大,一般的事务处理已不能满足应用的需要,企业界需要在大量信息数据基础上的决策支持( Decision Support , DS ),数据仓库( Data Warehousing , DW )技术的兴起满足了这一需求。数据仓库作为决策支持系统( Decision Supp

ort System , DSS )的有效解决方案,涉及三方面的技术内容:数据仓库技术、联机分析处理( On-Line Analysis Processing , OLAP )技术和数据挖掘( Data Mining , DM )技术。

Page 45: Visual FoxPro 及其应用系统开发

1.2.1 数据库管理系统 作为数据库系统核心软件的数据库管理系统

DBMS ,为用户实现了数据库的建立、使用、维护操作,是 DBMS 必须具备的功能。它主要包括如下功能: 1.数据库定义(描述)功能 2.数据库操纵功能 3.数据库管理和控制功能

1.2 数据库管理系统和数据库应用系统

Page 46: Visual FoxPro 及其应用系统开发

1 .数据库定义(描述)功能 DBMS 为数据库的建立提供了数据定义(描述)语言( DDL )。用户使用 DDL语言建立、修改和删除关系数据库的二维表结构。

Page 47: Visual FoxPro 及其应用系统开发

2 .数据库操纵功能 DBMS 提供数据操纵语言( DML )实现对数据库检索、插入、修改、删除等基本操作。 DML 通常分为两类:一类是嵌入主语言中的,如嵌入 C 、 COB

OL 等高级语言中,这类 DML 一般本身不能独立使用,称之为宿主型语言;另一类是交互式命令语言,它语法简单,可独立使用,称之为自含型语言。目前 DBMS广泛采用的就是可独立使用的自含型语言,为用户或应用程序员提供操作使用数据库的语言工具。 Visual FoxPro 6 提供的是自含型语言。

Page 48: Visual FoxPro 及其应用系统开发

3 .数据库管理控制功能 DBMS 提供了对数据库的建立、更新、重编、结构维护、恢复及性能监测等管理功能。它是 DBM

S 运行的核心部分,主要包括两方面的功能:系统建立与维护功能和系统运行控制功能,分别通过相应的控制程序完成有关功能,包括系统总控、存取控制(即存取权限检查)、并发控制、数据库完整性控制、数据访问、数据装入、性能监测、系统恢复等。所有数据库的操作都要在这些控制程序的统一管理下进行,以保证运行的正确执行,保证数据库的正确有效。

Page 49: Visual FoxPro 及其应用系统开发

DBMS 的功能随不同系统而有所不同,大型系统的功能较强、较全,而小型系统的功能则较弱。如目前运行于微机上的许多 DBMS 就不具备存取控制功能,对数据库操作的权限管理很弱或者没有,而在网络环境下运行的 DBMS 则具有存取控制以及并发控制功能。

Page 50: Visual FoxPro 及其应用系统开发

1.2.2 数据库应用系统 数据库应用系统 (DBAS) 指基于数据库的应用系统。一个 DBAS 系统通常由数据库和应用程序两部分组成。开发步骤:1 、设计数据库2 、开发应用程序 (1) 信息工程方法 (2) 4GT范型

Page 51: Visual FoxPro 及其应用系统开发

1.3 微机 Xbase 关系数据库系统•20 世纪 70 年代末,由美国 Ashton-Tate公司研制的 dBASE 成为微机上使用的第一代关系数据库系统•1984-1985 年,该公司又陆续推出 dBASEⅢ和 dBASE

+,Ⅲ 继续占领微机关系数据库市场•1987 年,美国 FOX 软件公司推出与 dBASE兼容的 FoxBASE+ ,不仅功能更强,且运行速度也有明显提高•1989 年,美国 FOX公司正式推出 Foxbase+ 的后续产品 FoxPro1.0 ,引入了图形用户界面设计和字符窗口技术•1991 年, 推出了 FoxPro2.0

•1992 年,推出了更为成功的 FoxPro2.5

Page 52: Visual FoxPro 及其应用系统开发

1.3 微机 Xbase 关系数据库系统•1996 年,美国Microsoft公司推出了 Visual FoxPro3.0 ,使用了可视化和面向对象技术•1997 年, 推出了 Visual FoxPro5.0

•1998 年, 出现了 Visual FoxPro6.0

Page 53: Visual FoxPro 及其应用系统开发

1.3.2 Visual FoxPro 的特点 Visual FoxPro 具有界面友好、工具丰富、速度较快等优点,并在数据库操作与管理、可视化开发环境、面向对象程序设计等方面具有较强的功能。其特点主要体现在以下几方面: ( 1 )兼容性好 ( 2 )应用程序的开发更简便 ( 3 )改进了程序调试工具 ( 4 )更简便的表设计和扩充内容的数据字典 ( 5 )增强了查询和视图设计功能 ( 6 )增强了表单设计功能 ( 7 )更多更好的向导 ( 8 )增强了 OLE 与 ActiveX 的集成

Page 54: Visual FoxPro 及其应用系统开发

1.3.3 Visual FoxPro 6.0 的安装 1. Visual FoxPro 6.0的安装环境要求 Visual FoxPro 6.0 系统的正确安装、运行,必须具备相应的环境条件。其最低要求,一般应具备如下环境条件: ( 1 )配置 50MHz主频 486 以上的 PC 机或兼容机; ( 2 )内存 16 MB 以上; ( 3 )硬盘最小可用空间 15MB;用户自定义安装需要 100MB硬盘空间;完全安装(包括所有联机文档)需要 240 MB硬盘空间; ( 4 )鼠标; ( 5 ) VGA或更高分辨率的显示器; ( 6 )中文 Windows 95 / 98或Windows NT 以上操作系统; ( 7 )对于网络操作,需要一个与 Windows兼容的网络和一个网络服务器。

Page 55: Visual FoxPro 及其应用系统开发

2 . Visual FoxPro 6.0 的安装 中文版 Visual FoxPro 6.0 系统可以由 CD-ROM光盘直接安装。操作步骤如下: ( 1 )启动安装程序 ( 2 )选择安装方式 ( 3 )安装系统组件 ( 4 )安装MSDN 组件( Visual FoxPro 6.0 的帮助文档) ( 5 )重新启动系统,完成 Visual FoxPro 6.0安装 如在 Windows 95 /98环境下运行 Visual FoxPro 6.0 系统,上述安装结束后必须重新启动系统,完成系统的配置, Visual FoxPro 6.0 系统的安装才告完成。

Page 56: Visual FoxPro 及其应用系统开发

1.3.4 Visual FoxPro 6.0 的启动与退出 安装 Visual FoxPro 6.0 系统时,创建了一个名为 Microsoft Visual FoxPro 6.0 的程序组。为操作方便起见,可将该程序组中 Visual FoxPro 6.0 的启动程序图标复制到桌面,建立 Visual FoxPro 6.0桌面快捷方式图标。

1 . Visual FoxPro 6.0 的启动 Visual FoxPro 6.0 的启动与 Windows环境下其他软件一样,有多种启动方式。 2 . Visual FoxPro 6.0 的退出 当需要退出 Visual FoxPro 6.0 系统时,可采用多种方式。其中常用的有如下几种: ( 1 )在 Visual FoxPro 6.0主窗口,单击【文件】 |【退出】菜单项,退出系统; ( 2 )单击Visual FoxPro 6.0主窗口的关闭按钮,退出系统; ( 3 )在“命令”窗口输入QUIT命令并回车,退出系统。

Page 57: Visual FoxPro 及其应用系统开发

1 . Visual FoxPro 6.0 的主窗口 Visual FoxPro 6.0启动后,打开主窗口,如图 1-8 所示。主窗口包括:标题栏、菜单栏、常用工具栏、状态栏、命令窗口和主窗口工作区几个组成部分。

标题栏 菜单栏常用工具栏

命令窗口

状态栏工作区

1.4 Visual FoxPro 6.0 的界面组成与操作

Page 58: Visual FoxPro 及其应用系统开发

1.5 Visual FoxPro 6.01.5 Visual FoxPro 6.0工工作方式作方式1.5.1 VFP 命令的格式和特点

示 例USE GradeCOUNT ALL FOR 课程成绩 <60 LIST ALL 姓名 ,课程成绩 FOR ; 课程成绩 <60 TO PRINTERUSE

第 1 条命令:打开名为 GRADE 的表文件。第 2 条命令:统计 GRADE 中分数在 60 分以下的人数。第 3 条命令:在打印机上输出成绩为 60 分以下的学生的姓名和分数。第 4 条命令:关闭表文件 GRADE ,将其保存在磁盘上。

这四条命令的功能分别是

Page 59: Visual FoxPro 及其应用系统开发

一.命令特点 1 、采用英文祈使句的形式,命令简洁规范; 2 、操作对象、结果和条件均可使用命令子句的形式表示,命令子句的数量不限,顺序不拘; 3 、命令中只件讲对操作的要求,不描述具体的过程,是非过程化语言。

Page 60: Visual FoxPro 及其应用系统开发

二、命令分类1 、建立和维护数据库的命令2 、数据查询命令3 、程序设计命令4 、界面设计命令5 、文件和程序的管理命令6 、面向对象的设计命令7 、其他命令

Page 61: Visual FoxPro 及其应用系统开发

1.5.2 Visual FoxPro 6.0 的工作方式 Visual FoxPro 6.0 系统为用户提供了几种各具特点的操作方式,用户可根据情况以及应用的需要,选择合适的操作方式,实现数据库的操作、应用。 Visual FoxPro 6.0 系统的操作方式主要有: 一、交互操作方式 ( 1)命令操作方式 ( 2)菜单操作方式 二、程序执行方式

Page 62: Visual FoxPro 及其应用系统开发

1 .命令操作方式 命令操作是在命令窗口中逐条输入命令,直接操作指定对象的操作方式。命令操作为用户提供了一个直接操作的手段,其优点是能够直接使用系统的各种命令和函数,有效操纵数据库,但要求熟练掌握各种命令和函数的格式、功能、用法等细节。

Page 63: Visual FoxPro 及其应用系统开发

2 .菜单操作方式 Visual FoxPro 6.0 系统将许多命令做成菜单命令选项,用户通过选择菜单项来使用数据库的操作方式。在菜单方式中,很多操作是通过调用相关的向导、生成器、设计器工具,以直观、简便、可视化方式完成对系统的操作,用户不必熟悉命令的细节和相应的语法规则,通过对话来完成操作。有了这种方式,一般用户无需编程就可完成数据库的操作与管理。

Page 64: Visual FoxPro 及其应用系统开发

3 .程序操作方式 程序操作就是预先将实现某种操作处理的命令序列编成程序,通过运行程序来实现操作、管理数据库的操作方式。根据实际应用需要编写的应用程序,能够为用户提供界面更简洁直观、操作步骤更符合业务处理流程和规范要求的操作应用环境。但程序的编制,需要经过专门训练,只有具备一定设计能力的专业人员方能胜任,普通用户很难编写大型的、综合性较强的应用程序。

Page 65: Visual FoxPro 及其应用系统开发

1.6 VFP1.6 VFP 的辅助设计工具的辅助设计工具

Page 66: Visual FoxPro 及其应用系统开发

1.6.1 Visual FoxPro 6.0 的向导 Visual FoxPro 6.0 系统为用户提供了许多功能强大的向导。用户可以在向导程序的引导、帮助下,不用编程就能快速地建立良好的应用程序,完成许多数据库操作、管理功能,为非专业用户提供了一种较为简便的操作使用方式。 Visual FoxPro 6.0 系统提供的向导及其功能,见表 1-8 。

表向导 报表向导 一对多报表向导 标签向导 分组 / 总计报表向导 表单向导 一对多表单向导 查询向导 交叉表向导 本地视图向导 远程视图向导 导入向导 文档向导 图表向导 应用程序向导 SQL升迁向导 数据透视表向导 安装向导

Page 67: Visual FoxPro 及其应用系统开发

1.6.2 Visual FoxPro 6.0 的生成器 Visual FoxPro 6.0 系统提供了若干个生成器( Builders ),用以简化创建、修改用户界面程序的设计过程,提高软件开发的质量和效率。每个生成器包含若干个选项卡,允许用户访问并设置所选择对象的相关属性。用户可将生成器生成的用户界面直接转换成程序编码,使用户从逐条编写程序代码、反复调试程序的手工作业中解放出来。 Visual FoxPro 6.0 提供的生成器及功能,见表 1-9 。

自动格式化生成器 组合框生成器 命令组生成器 编辑框生成器 表达式生成器 表单生成器 网格生成器 列表框生成器 选项组生成器 文本框生成器 参照完整性生成器

Page 68: Visual FoxPro 及其应用系统开发

1.6.3 Visual FoxPro 6.0 的设计器 Visual FoxPro 6.0 提供的一系列设计器( Designers ),为用户提供了一个友好的图形界面操作环境,用以创建、定制、编辑数据库结构、表结构、报表格式、应用程序组件等。 Visual FoxPro 6.0 提供的设计器及其功能,见表 1-10 。

表设计器 查询设计器 视图设计器 表单设计器 报表设计器 标签设计器 数据库设计器 数据库设计器 连接设计器 菜单设计器 数据环境设计器

Page 69: Visual FoxPro 及其应用系统开发

1.7 项目管理器 :VFP 的控制中心1.7.1 1.7.1 启动项目管理器启动项目管理器

1.7.2 1.7.2 项目管理器的组成项目管理器的组成

退出退出

1.7.3 1.7.3 定制项目管理器定制项目管理器1.7.4 1.7.4 项目管理器的操作项目管理器的操作

Page 70: Visual FoxPro 及其应用系统开发

什么是项目管理器 在 Visual FoxPro 系统中,使用项目组织、集成数据库应用系统中所有相关的文件,形成一个完整的应用系统。所谓项目是 Visual FoxPro 中相关数据、文档和各类文件、对象的集合,也即项目是与一个应用有关的所有文件的集合。项目管理器是 Visual FoxPro 系统创建、管理项目的工具,用来创建、修改、组织项目中各种文件,对项目中程序进行编译和连编,形成一个可以运行的应用程序系统。

Page 71: Visual FoxPro 及其应用系统开发

项目管理器:项目管理器: VFPVFP 的控制中心的控制中心

集中管理项目中的数据、对象

目录树结构 多种功能按钮 支持项目建立数据词典

Page 72: Visual FoxPro 及其应用系统开发

1.7.1 启动项目管理器项目:是文件、数据、文档以及 VFP 对象的集合,项目文件的扩展名为 .PJX 。项目管理器: Visual FoxPro 处理数据和对象的主要组织工具,整个系统的控制中心。启动项目管理器的方式:( 1 )新建项目: 命令方式: CREATE PROJECT

菜单方式:( 2 )打开已有项目: 命令方式: MODIFY PROJECT <项目文件名 >

菜单方式:

Page 73: Visual FoxPro 及其应用系统开发

1.7.2 项目管理器的组成 ( 1 )项目管理器包含的 6 个选项卡:•“ 数据”选项卡:包含了一个项目中的所有数据;•“ 文档”选项卡:包含了用户处理数据时使用的所有文档;•“ 代码”选项卡:包含了用户的所有代码程序文件;•“ 类”选项卡:用来显示和管理类库文件;•“ 其他”选项卡:用来显示和管理上述以外的文件;•“全部”选项卡:用来显示和管理所有类型的文件。

Page 74: Visual FoxPro 及其应用系统开发

1.7.2 项目管理器的组成( 2 )项目管理器包含的 6 个按钮:•“ 新建”按钮:创建一个新文件或对象;•“添加”按钮:把已经存在的文件添加到项目管理器中;•“修改”按钮:修改项目管理器中指定的文件;•“ 运行”按钮:运行所选定的文件;•“移去”按钮:从项目中移去所选定的文件或删除;•“连编”按钮:建立应用程序或可执行文件。

( 3 )如果项目中含有一个以上的项,在其类型符号左边显示一个“ +” 号,单击该“ +” 号可展开项目中所包含的内容;如果需要折叠项目列表,单击该类型符号左边的“ -”号。

Page 75: Visual FoxPro 及其应用系统开发

1.7.3 定制项目管理器( 1 )移动位置:鼠标拖动标题栏( 2 )改变窗口大小:在窗口边界拖动鼠标( 3 )展开和折叠项目管理器:鼠标单击窗口右边的箭头按钮( 4 )重新安排选项卡:将选定的选项卡从项目管理器中拖开成为浮动选项卡,可通过快捷菜单访问“项目”菜单中的选项;单击选项卡上的关闭按钮或将选项卡拖回将还原选项卡( 5 )使项目管理器成为工具栏的一部分:用鼠标将其拖到工具栏中。

Page 76: Visual FoxPro 及其应用系统开发

1.7.4 项目管理器的操作1. 添加或移去文件:使用“添加”或“移去”按钮。2. 创建和修改文件:使用“新建”或“修改”按钮。3. 为文件添加说明:使用“项目”或快捷菜单中的“编辑说明”选项。4. 查看表中的数据:使用“浏览”按钮。5. 项目间共享文件:使用鼠标在两个项目中拖动文件。

Page 77: Visual FoxPro 及其应用系统开发

附 :VFP 中主要文件类型扩展名 文件类型.APP 生成的应用程序.BAK 备份文件.CDX 复合索引文件.DBC 数据库文件.DCT 数据库备注文件.DCX 数据库索引文件.DBF 数据表文件.FPT 数据表备注文件.EXE 可执行文件

扩展名 文件类型.FMT 格式文件.FRX 报表文件.IDX 一般索引文件.LBX 标签文件.PLB 项目文件.PRG 源程序文件.QPR 查询程序.SCX 表单文件.WIN 窗口文件

Page 78: Visual FoxPro 及其应用系统开发

附 :VFP6.0 文件命名方法 文件名由主文件名和扩展名两部分组成。主文件名最长由 10 个字符组成,可以包括字母、数字、下划线、连字符,但不能使用“ *” 、“?”、“ /” 等。但加入到了数据库中的表和字段名均支持长文件名,最长为 128 个字符。扩展名由“ .” 加 3 个字母组成,表示文件类型。

ABC_DE-f1

主文件名.DBF

分隔符扩展名

文件名中可以大、小写字母子混合使用

Page 79: Visual FoxPro 及其应用系统开发

补充练习一、选择题1. 存储在计算机内有结构的相关数据的集合称为()。 (A) 数据库 (B) 数据库系统 (C) 数据库管理系统 (D) 数据结构2. 数据库( DB )、数据库系统( DBS )和数据库管理系统(

DBMS )之间的关系是()。 (A) DBMS 包括 DB 和 DBS(B) DBS 包括 DB 和 DBMS (C) DB 包括 DBS 和 DBMS (D) DB 、 DBS 和 DBMS 是平等关系3. 下列关于数据库系统的叙述中,正确的是()。 (A) 表的字段之间和记录之间都存在联系 (B) 表的字段之间和记录之间都不存在联系 (C) 表的字段之间不存在联系,而记录之间存在联系 (D) 表中只有字段之间存在联系

Page 80: Visual FoxPro 及其应用系统开发

4. 下列关于数据库系统的叙述中,正确的是()。 (A) 数据库系统只是比文件系统管理的数据更多 (B) 数据库系统中数据的一致性是指数据类型一致 (C) 数据库系统避免了数据冗余 (D) 数据库系统减少了数据冗余5. 数据库系统与文件系统的主要区别是()。 (A) 文件系统不能解决数据冗余和数据独立性问题,而数据库系统可解决此问题。 (B) 文件系统只能管理少量数据,而数据库系统则能管理大量数据 (C) 文件系统只能管理程序文件,而数据库系统则能管理各种类型的文件 (D) 文件系统简单,而数据库系统复杂

Page 81: Visual FoxPro 及其应用系统开发

6. Visual FoxPro 是一种关系数据库管理系统,所谓关系是指()。 (A) 表中各条记录彼此有一定的关系 (B) 表中各个字段彼此有一定的关系 (C) 一个表与另一个表之间有一定的关系 (D) 数据模型符合满足一定条件的二维表格式7. 关系数据库管理系统的 3 种基本关系运算不包括()。 (A) 比较 (B) 选择 (C) 连接 (D) 投影

Page 82: Visual FoxPro 及其应用系统开发

二、 填空题1. 数据库中的数据是有结构的,这种结构由数据库管理系统所支持的 表现出来。2. 数据库系统既可表示事物内部各数据项之间的联系,也可表示 之间的联系。3. 数据库系统的核心是 。4. 微机上使用的数据库管理系统都是关系型数据库管理系统,它们提供的数据库语言都具有一体化的特点,即集 ( 1 ) 和 ( 2 ) 于一体。5. 关系是具有相同性质的 集合。6. 关系数据库中每个关系的形式是 。

Page 83: Visual FoxPro 及其应用系统开发

7. 对关系进行选择、投影或连接运算之后,运算的结果仍然是一个 。8. 在关系数据库的基本操作中,从表中选出满足条件的元组的操作称为 ( 1 ) ;从表中抽取属性值满足条件的列的操作称为 ( 2 ) ;把两个关系中属性相同的元组连接在一起构成新的二维表的操作称为 ( 3 ) 。9. 要想改变关系中属性的排列顺序,应使用关系运算中的 运算。10. 数据库管理系统提供的数据操作语言中,可独立使用的一种属于 ( 1 ) 型;而必须嵌入某种高级语言中使用的一种属于 ( 2 ) 型。11. 数据库应用系统分为管理信息系统和开放式信息服务系统两大类。大型科技情报系统属于 系统。

Page 84: Visual FoxPro 及其应用系统开发

13. 实体与实体之间的联系有 3 种,即一对一联系、 ( 1 ) 和 ( 2 ) 。14. 概念模型中的实体是关系模型中的 ( 1 ) ,而概念模型中的属性是关系模型中的 ( 2 ) 。