visual foxpro 教程

46
Visual FoxPro 教教 教教教教教教教教教教教教 教教教

Upload: huslu

Post on 25-Jan-2016

290 views

Category:

Documents


9 download

DESCRIPTION

Visual FoxPro 教程. 淮海工学院计算机工程学院 巫晓琳. 相关资料:. 教材: Visual FoxPro 教程( 2013 版),严明,单启成 Visual FoxPro 实验指导书,崔建忠 , 单启成 参考资料: Visual FoxPro 二级考前强化指导,施珺,胡云,田扬启 Visual FoxPro 6.0 中文版,吴迪 ,曲蒙 ,清华大学 ( 程序设计指南、函数手册、命令手册). http://sjweb.hhit.edu.cn/vfpweb/study/index.htm. 安装环境下载:. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Visual FoxPro  教程

Visual FoxPro 教程

淮海工学院计算机工程学院巫晓琳

Page 2: Visual FoxPro  教程

相关资料:教材: Visual FoxPro 教程( 2013 版),严明,单启

成 Visual FoxPro 实验指导书,崔建忠 ,单启成参考资料: Visual FoxPro 二级考前强化指导,施珺,胡云,

田扬启 Visual FoxPro 6.0 中文版,吴迪 ,曲蒙 ,清

华大学 (程序设计指南、函数手册、命令手册)

Page 3: Visual FoxPro  教程

安装环境下载:http://sjweb.hhit.edu.cn/vfpweb/study/index.htm

Page 4: Visual FoxPro  教程

江苏省二级考试 (VFP)国家二级考试( VFP )

Page 5: Visual FoxPro  教程

教学安排 :共 80 学时( 16周,理论 32,上机 48)第 1章 数据库系统基础知识 (理论 2学时,理论 4分)第 2章 Visual FoxPro 数据库管理系统概述 (理论 2学时,实验 6学时,理论 6分)第 3章 数据库与表的创建及使用 (理论 8学时,实验 12 学时,理论 8分) (上机: 2, 3章共 12

分)第 4章 查询和视图 (理论 4学时,实验 6学时,理论 8分 +上机 8分)第 5章 程序设计基础 (理论 3学时,实验 3学时,理论 5分 +上机改错 5分)第 6章 表单及其控件的创建与使用 (理论 7学时,实验 12 学时,理论 8分 +上机 10 分)第 7章 类的创建与使用(理论 1学时,理论 1分)第 8章 报表的创建与使用(理论 1学时,实验 1学时,理论 1分)第 9章 菜单和工具栏(理论 2学时,实验 3学时,上机 5分)第 10 章 应用程序的开发与发布(理论 1学时,理论 1分) 复习 +综合练习(理论 1学时,实验 4学时)(江苏二级考试分数分布,期末考试大致相同)

Page 6: Visual FoxPro  教程

1.1 数据处理与数据管理技术1.1.1 信息、数据与数据处理信息:信息是现实世界中事物的存在方式或运动状态的反映,是认识主体(人)所感知或描述的事物存在、运动及其变化的形式、内容和效用。数据( ISO ):数据是计算机中对实施、概念或指令进行描

述的一种特殊格式,这种格式适合于计算机及其相关设备自动地进行传输、转换和加工处理。 能参与数字运算的数值型数据 能参与数字运算的非数值型数据数据处理:对各种类型的数据进行收集、存储、分类、计算、加工、检索与传输的过程。数据处理的五个基本环节:收集原始数据、编码转换、数据输入、数据处理、数据输出

Page 7: Visual FoxPro  教程

数据管理的发展经历了三个阶段:1.无管理阶段(或人工管理阶段)2.文件系统阶段3. 数据库系统阶段

1.1.2 数据管理技术的发展

Page 8: Visual FoxPro  教程

1.无管理阶段(或人工管理阶段)—— 50年代中期前背景:计算机主要用于科学计算。特点:数据不保存;没有软件系统对数据进行管理;

数据的组织方式由程序员自行设计;一组数据对应一个程序。

数据和程序的相互依赖!

数据的冗余度大。

Page 9: Visual FoxPro  教程

2. 文件系统阶段背景:计算机已大量用于管理。特点: 数据可以一文件形式长期存储在辅助存储器中; 程序与数据之间具有相对的独立性; 数据文件组织多样化; 数据冗余度大;易造成数据的不一致性;程序与

数据相互依赖(数据依赖)。

Page 10: Visual FoxPro  教程

3. 数据库系统阶段背景:计算机更广泛地应用于各个领域,数据共享要求越来越强。特点: 用数据模型表示复杂的数据结构,数据面向应用系统,

数据冗余度小、易扩充; 数据和程序的独立性高; 提供了数据安全性、完整性等控制功能,以及对数据操作的并发控制、数据备份与恢复等功能;

为用户提供方便的用户接口;

Page 11: Visual FoxPro  教程

例:数据库系统与文件系统的最主要区别是 _________。A. 数据库系统复杂,而文件系统简单 B. 文件系统只能管理程序文件,而数据库系统能够管理各种

类型的文件 C. 文件系统管理的数据量较小,而数据库系统可以管理庞大

的数据量 D. 文件系统不能解决数据冗余和数据独立性问题,而数据库

系统可以解决

Page 12: Visual FoxPro  教程

1.2 数据库系统的组成数据库系统( Database System,简称 DBS ):是指具有管理和控制数据库功能的计算机应用系统。

各种应用程

序数据库管理系统( DBMS )

数据库管理员( DBA)

操作系统

数据库( DB)

图 1-1 数据库系统

Page 13: Visual FoxPro  教程

1. 数据库( Database,简称 DB):是指按一组一定数据模型组织的、长期存放在 辅助存储器上的、可共享的相关数据的集合。 数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,并可以供多个用户和多类应用所共享。数据库包含:( 1)按一定的数学模型组织并实际存储的所有应 用需要的数据——用户直接使用;( 2)用于描述数据的结构、类型、格式、关系、 完整性约束、使用权限——元数据(数据字 典,元数据的集合), 数据库定义的数据

Page 14: Visual FoxPro  教程

2. 数据库管理系统( DBMA)是用于建立、使用和维护数据库的系统软件。DBMS 是数据库系统的核心,对数据库的一切操作都是通过 DBMS来管理的。 VFP 是一种关系型数据库数据库

管理系统。

Page 15: Visual FoxPro  教程

3. 应用程序应用程序是面向最终用户的、利用数据库系统资源开发的、解决管理和决策问题的各种应用软件。

Page 16: Visual FoxPro  教程

按工作职能分: 系统管理员:控制和管理数据库系统的一般性操作

数据库管理员:最高的数据库用户特权,负责全面管理数据库系统。

数据库设计员 系统分析员 程序员 最终用户:通过应用系统(各种应用程序)提供的用户接口使用数据库

4. 用户

Page 17: Visual FoxPro  教程

5. 计算机支持系统 计算机支持系统指用于数据库管理的硬件

和软件平台。在数据库应用系统中,硬件平台特别强调数据库主机(或服务器)必须具有足够大的外存容量、告诉的数据吞吐能力、强大的任务处理能力、极高的稳定性和安全性;软件平台主要是指能确保计算机可靠运行的一些系统软件(如操作系统)和应用系统开发工具

Page 18: Visual FoxPro  教程

1.3 数据库系统的模式结构数据库三级模式: 外部层(单用户视图) : 表示数据库的外部“外部视图”,是各个用户(应用程序)所看到的数据库。它是面向用户的,体现了用户的数据观点。

概念层(全体用户公共视图):介于上述两者之间的层次。它是数据库的“概念视图”,是数据库中所有信息的抽象表示。它既抽相遇物理存储的数据,也区别于各个用户所看到的局部数据库。概念视图可以理解为数据库管理员所看到的数据库。

内部层(存储视图):它是数据库的“内部视图”或“存储视图”。它与数据库的实际存储密切相关,可以理解为机器看到的“数据库”。

Page 19: Visual FoxPro  教程

例:为了实现数据的独立性 ,便于数据库的设计和实现 ,一般把数据库系统的结构定义为三级模式结构 , 即分为外部层、 和内部层。

Page 20: Visual FoxPro  教程

1.4 数据模型1.4.1 数据模型概述 人们一般用“现实世界———信息世界——数据世界”的转化过程,首先把现实世界中存在的客观事物通过概念抽象转化为不依赖于具体计算机系统( DBMS )的数据结构(称为概念模型),然后转化为计算机系统中 DBMS所支持的数据模型。

现实世界 信息世界 数据世界 ↓ ↓ ↓事物及联系 概念模型 结构模型 ↓ ↓ ↓ 事物 实体 数据 ↙ ↘ ↙ ↘ ↙ ↘对象 性质 对象 属性 记录 字段

(抽象) (数据表示)

Page 21: Visual FoxPro  教程

概念模型是按用户的观点对数据建模。它是对现实世界的第一层抽象 , 在数据库设计中广泛使用的概念模型是“实体——联系”模型( Entity-Relationship,简称 E-R 模型)。 结构模型强调数据是如何在数据库中描述的。在数据库技术的发展过程中,出现的数据模型主要有层次模型、网状模型、关系模型、面向对象数据模型。层次和网状模型统称为非关系型,它们分别用树结构和网络结构对实体集和联系进行描述。

Page 22: Visual FoxPro  教程

1.4.2 E-R 模型1.E-R 模型的基本概念E-R 模型中有三个基本的概念:实体:指客观存在且可以相互区别的事物属性:实体具有的特征联系:实体集之间关系的抽象表示:根据两个实体集中相互有联系的实体数量,实体集之间的联系可以分为三种类型:一对一联系、一对多联系和多对多联系 一对一联系:如果 X实体集中的每一个实体和 Y实体集中的每一个实体有联系,反之亦然。例:学生与座位

如果 X实体集中的每一个实体和 Y实体集中的任意个(包括 0 个)实体有联系,称 X实体集与 Y实体集是一对多联系。例:学生与专业

如果 X实体集与 Y实体集中的每一个实体和另一个实体集中的任意个(包括 0 个)实体有联系,称 X实体集与 Y实体集是多对多联系(简记为 m :n)。例:课程与学生

Page 23: Visual FoxPro  教程

2.E-R图矩形表示实体,菱形表示联系,椭圆表示属性

例: E-R 图示 E-R 模型的图形表示法,它是表示概念模型的

有力工具。在 E-R 图中,实体之间的联系用 ____ 表示。

A.矩形框 B.菱形框 C.圆形框 D.椭圆形框

Page 24: Visual FoxPro  教程

1.4.3 关系模型以关系代数为基础,用二维表表示实体集,通过外部关键字表示实体间联系,一般由三个部分组成: 数据结构:以二维表的形式表示 数据操作:提供一组完备的关系运算 完整性规则:域完整性规则、实体完整性规则、参照完整性规则和用户定义的完整性规则。

Page 25: Visual FoxPro  教程

1. 关系模型的数据结构在关系模型中,用二维表来表示实体集实体间的联系。一个关系就是一张二维表,关系的首行称为“属性” (称为“字段” ),其他各行称为元组(称为“记录”)

学号 姓名 性别 出生日期 籍贯

040701001 吴宏伟 男 1985-3-20 江苏省南京市

------ ------ ------ ------ ------040701019 吴燕 女 1987-12-24 江苏省常州市

------ ------ ------ ------ ------

上图是一个关系的实例,关系名是“学生”,包含五个属性。关系的数据结构可以用关系模式进行描述,它包括模式名以及组成该关系的诸属性名,其关系模式可以表示为:学生(学号,姓名,性别,出生日期,籍贯)

属性

记录

Page 26: Visual FoxPro  教程

2. 关键字 正如集合中不允许出现相同的元素,二维表中也不应出现

相同的记录。在一个表中,应能通过一列或若干列将不同的记录区分开来,既能唯一确定记录。但是它所包含的字段可能是多余的。

学号 姓名 性别 出生日期 籍贯040701001 吴宏伟 男 1985-3-20 江苏省南京市

------ ------

------

------ ------

040701019 吴燕 女 1987-12-24 江苏省常州市040701019 吴燕 女 1987-12-24 江苏省常州市

Page 27: Visual FoxPro  教程

超关键字:( Super Key )二维表中能唯一确定记录的一个字段或几个字段的组合被称为“超关键字”。单一的列构成的关键字,则称其为“单一关键字”;如果是两个或两个以上的列构成关键字,则称其为“合成关键字”。

学号 姓名 性别 出生日期 籍贯040701001 吴宏伟 男 1985-3-20 江苏省南京市

------ ------ ------ ------ ------

040701019 吴燕 女 1987-12-24 江苏省常州市

------ ------ ------ ------ ------

Page 28: Visual FoxPro  教程

候选关键字:如果一个超关键字中去掉其中任何一个字段后,不再能唯一确定记录,则称它为“候选关键字”( Candidate Key ) .候选关键字既能唯一确定记录,它包含的 字段又是最少的。一个二维表中必须存在超关键字,因而也必须 存在候选关键字。

学号 姓名 性别 出生日期 籍贯

040701001 吴宏伟 男 1985-3-20 江苏省南京市

------ ------ ------ ------ ------040701019 吴燕 女 1987-12-24 江苏省常州市

------ ------ ------ ------ ------

Page 29: Visual FoxPro  教程

主关键字:从候选关键字中选出一个作为主“关键字”( Primary Key )。

学号 姓名 性别 出生日期 籍贯040701001 吴宏伟 男 1985-3-20 江苏省南京市

------ ------ ------ ------ ------

040701019 吴燕 女 1987-12-24 江苏省常州市

------ ------ ------ ------ ------

Page 30: Visual FoxPro  教程

外部关键字:当一个二维表( A表)的主关键字被包含到另一个二维表( B表)中时,该主关键字被称为 B表的“外部关键字”( Foreign Key )。

学号 姓名 性别 出生日期 籍贯

040701001 吴宏伟 男 1985-3-20 江苏省南京市

------ ------ ------ ------ ------040701019 吴燕 女 1987-12-24 江苏省常州市

------ ------ ------ ------ ------

学号 语文 数学 物理 化学

040701001 92 90 95 98

主关键字

A表

B表

Page 31: Visual FoxPro  教程

2. 关键字 超关键字 候选关键字 主关键字 外部关键字

例 :关键字是关系模型中的重要概念。当一个二维表 (A表 )的主关键字被包含到另一个二维表 (B表 )中时,它就称为 B表的 _________。A. 主关键字 B.候选关键字 C.外部关键字 D.超关键字

Page 32: Visual FoxPro  教程

3. 关系运算( 1)传统的集合运算(并,差,交),两个关系必须具有

相同的关系模式,即两个关系的结构相同。( 2)专门的关系运算(选择,投影,连接)

Page 33: Visual FoxPro  教程

传统的集合运算(1) 并设有关系 R 和关系 S,它们有相同的模式结构,且其对应的属性取自同一个域(称 R 与 S 是“并相容”的),其并操作( Union )表示为 R

S∪ ,操作结果生成一个新的关系,其元组由属于 R 的元组和属于 S 的元组共同组成。R S={t|t∪ ∈R∨t∈S}

例如:两个结果相同的学生关系 S1 和 S2 ,分别存储两个系的学生档案,如果把 S2 中的学生档案追加到 S1 中,则为两个关系的并运算。

Page 34: Visual FoxPro  教程

传统的集合运算(2)差设有关系 R 和关系 S 相容 , 其差操作( Difference )表示为 R-S ,操作结果生

成一个新的关系,其元组由属于 R但不属于属于 S 的元组共同组成。R-S={t|t∈R t∧ ∈S}

例如:两个关系 T1 和 T2 ,分别存储学校教师名单和本学期任课教师名单,如果查询本学期未任课的教师名单,则需要进行差运算。

Page 35: Visual FoxPro  教程

传统的集合运算(3)交设有关系 R 和关系 S 相容 , 其差操作( Difference )表示为 R∩S ,操作结果生

成一个新的关系,其元组既属于 R又属于属于 S 的元组成:R∩S={t|t∈R t∧ ∈S}

例如:两个关系 R1 和 R2 ,分别存储已通过四级考试的学生名单和通过计算

机二级考试的学生名单,如果查询通过英语四级考试且通过计算机二级考试的学生名单,则需要进行交运算。

Page 36: Visual FoxPro  教程

关系运算(4)选择选择( Selection )又称为限制,它是关系 R中选择满足给定条件(逻辑表达式)的元组组成一个新关系。选择运算是对关系的水平分解,其结果是关系 R的一个子集。

例如,有一个关系 T,存储教师的档案信息,从中找出职称为教授的教师档案,所进行的查询操作就属于选择操作。

Page 37: Visual FoxPro  教程

关系运算(5)投影投影( Project )运算是对关系的垂直分解,它是在关系R中选择若干属性列组成新的关系。经过投影可以得到一个新的关系,它包含的属性个数通常比原关系少,或者属性排列顺序不同。

例如,存储教师档案信息的关系 R 包括教师工号、姓名、性别、出生日期、职称等许多属性,从中找出教师的工号、姓名、出生日期等部分数据,则属于投影运算。

Page 38: Visual FoxPro  教程

关系运算(6)连接联接运算是根据给定的联接条件将两个关系模式拼成一个新的关系。联接条件将出现两个关系中的公共属性名,或有相同语义的属性。

例如,有两个关系 T1( 学号,姓名,… )和 T2( 学号,成绩 ,…),则求关系 T3( 学号,姓名,成绩 ,…)的操作属于联接操作。

Page 39: Visual FoxPro  教程

例:在关系模型中 ,关系运算分为传统集合的关系运算和专

门的关系运算。在下列关系运算中 ,不属于专门的关系运算

(即属于传统集合的关系运算 )的是 ______。

A.投影 B.联接 C.选择 D. 合并

Page 40: Visual FoxPro  教程

4. 关系的规范化关系是规范化的二维表,性质如下: 属性值是原子的,不可分解; 记录随数据的增删而改变,字段数是相对固定的; 每一列有唯一的字段名,取值是同性质的 不允许出现完全相同的两行; 二维表中行的顺序,列的顺序是随意的。 关系规范化的条件,范式,实际设计关系模式时,一般要求满足第三范式( 3NF );

Page 41: Visual FoxPro  教程

5. 关系模型的完整性 域完整性:规定属性的取值范围 实体完整性:要求任一元组的主关键字的值不得为空值,且必须在所属的关系中唯一

参照完整性:要求当一个元组的外部关键字的值不为控制时,以该外部关键字的值作为主关键字的值的元组必须在相应的关系中存在。

Page 42: Visual FoxPro  教程

目前为关系数据库提供非过程关系语言最成功、应用最广的是 1974年提出的 SQL( Structrued Query Language ) .

1.5 关系数据库标准语言 SQL

Page 43: Visual FoxPro  教程

例:在关系模型中,关系规范化的过程是通过关系中属性的分解和关系模式的分解来实现的。在实际应用中,设计关系模式时一般要求满足 ______。A、 1NF B、 2NF C、 3NF D、 4NF

例:在下列叙述中,错误的是 _________。 A. 关系型数据库中的每一个关系都是一个二维表 B. 在关系模型中,运算的对象和运算的结果都是二维表 C. 二维表中不允许出现任何数据冗余 D.Visual FoxPro 是一种关系型数据库管理系统产品

Page 44: Visual FoxPro  教程

1.6 数据库设计基础

1.6.1 概述1. 数据库设计两种方法: 面向数据的设计方法 面向过程的设计方法

Page 45: Visual FoxPro  教程

数据字典是系统中各类数据定义和描述的集合。在数据字典中,除了定义外部实体、 数据流 、处理逻辑和数据存储以外,还需要对数据元素和数据结构进行定义。 (P18)

Page 46: Visual FoxPro  教程

1.7 主流的 DBMS产品简介大型: Oracle , DB2 , Sybase , SQL Sever中型: MS-SQL Server 微机数据库管理系统: Access , Visual FoxPr

o

以上均为关系型数据库管理系统。