VF数据库程序设计教案.docx
《VF数据库程序设计教案.docx》由会员分享,可在线阅读,更多相关《VF数据库程序设计教案.docx(32页珍藏版)》请在冰豆网上搜索。
VF数据库程序设计教案
VisualFoxpro数据库程序设计教案
姓名:
李运娣
系别:
计算机
第1章VisualFoxPro数据库基础
本章重点与学习目标:
了解数据库系统的相关概念
数据、数据库、数据库管理系统、数据库系统
数据库管理系统发展过程
概念模型以及常用的数据模型—层次模型、网状模型、关系模型
掌握关系数据库
关系模型的相关属于
数据库设计基础
数据库设计的步骤和过程
了解VF系统的发展过程
数据库管理系统的发展
VF的发展简史及了解VisualFoxPro系统的特点
掌握VF系统的启动与退出方法
熟悉VF系统的用户界面
熟悉VF项目管理器
创建新项目
项目管理器窗口的各类选项卡
教学器材:
多媒体教学
本章课时:
3学时
§1.1数据库基础知识
§1.1.1计算机数据管理的发展
1.数据与数据处理数据是指存储在某一种媒体上能够识别的物理符号;数据处理是指将数据转换成信息的过程。
2.计算机数据管理
数据管理:
是指对数据的组织、分类、编码、存储、检索、维护等,它是数据处理的中心问题。
数据管理技术的发展过程:
人工管理阶段(40年代中--50年代中);文件系统阶段(50年代末--60年代中);数据库系统阶段(60年代末--现在)。
§1.1.2数据库系统
1.数据库有关概念
数据库(DataBase):
指数据库系统中以一定的方式将相关数据组织在一起,存储在外存储设备上形成的、为多个用户共享、与应用程序相互独立的相关数据集合。
数据库管理系统(DBMS):
用于建立、使用和维护数据库的系统软件。
数据库管理系统对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。
数据库应用系统:
数据库应用系统简称数据库系统,是指系统开发人员利用数据库系统资源开发出来的,面向某一类实际应用的应用软件系统。
数据库管理员(DBA):
负责全面管理和实施数据库控制和维护的技术人员。
2.数据库系统的特点
数据库系统是指引进数据库技术后的计算机系统,实现有组织地、动态地存储大量相关数据,提供数据处理和信息资源共享的便利手段。
特点:
实现数据共享,减少数据冗余;采用特定的数据模型;具有较高的数据独立性;有统一的数据控制功能
§1.1.3数据模型
1.实体的描述:
实体的定义、属性、实体集和实体型
2.实体间联系及联系的类型
定义:
实体之间相对应的关系称为联系,它反映了现实世界事物之间的相互关联。
类型:
一对一联系;一对多联系;多对多联系
3.数据模型简介
数据模型是在数据库领域中定义数据及其操作的一种抽象表示。
类型:
网状模型;层次数据模型;关系模型
§1.2关系数据库
§1.2.1关系模型
1.关系定义的定义及相关术语
一个关系就是一张二维表,通常将一个没有重复行、重复列的二维表看成一个关系,每个关系都有一个关系名。
相关术语:
元组、属性、域、关键字、外部关键字
2.关系的特点
关系必须规范化
二维表中的每一列都有唯一的字段名且取值性质相同
二维表中不允许出现完全相同的两行
二维表中可以任意交换行的顺序和列的顺序
3.实际关系模型
一个具体的关系是由若干个关系模式组成。
在VF中,一个数据库中包含相互之间存在联系的多个表。
这个数据库文件就代表一个实际的关系模型。
为了反映出各个表所表示的实际实体之间的联系,公共字段名往往起着“桥梁”的作用。
例1.1部门-职工-工资关系模型
例1.2图书-读者-借阅关系模型
§1.2.2关系运算
1.传统的集合运算:
交、并、差
2.专门的关系运算
选择定义:
从一个关系模式中找出满足给定条件的记录的操作称为选择,选择是从行的角度进行的运算,相当于对关系进行水平分解。
投影定义:
投影运算从关系中选取若干属性形成一个新的关系。
连接定义:
将两个关系模式的若干属性拼接成一个新的关系模式的操作,对应的新关系中,包含满足连接条件的所有元组。
§1.3数据库设计基础
§1.3.1数据库设计步骤
1.设计原则
概念单一化”一事一地”原则
避免在表之间出现重复字段
表中的字段必须是原始数据和基本数据元素
用外部关键字保证有关联的表之间的联系
2.设计步骤
需求分析
确定需要的表
确定所需字段
确定联系
设计求精
§1.3.2数据库设计过程
1.需求分析:
用户需求主要包括信息需求、处理需求、安全性和完整性要求。
2.确定需要的表:
数据库设计过程中最主要的一步就是确定需要的表,分析的过程实际上就是对收集到的数据进行抽象的过程。
3.确定所需字段
4.确定联系
5.设计求精
§1.4VisualFoxPro系统概述
VisualFoxPro6.0是微软公司1998年发布的可视化编程语言集成包VisualStudio6.0中的一员,是一种用于数据库结构设计和应用程序开发的功能强大的面向对象的计算机数据库软件。
§1.4.1VisualFoxPro6.0的安装与启动
1.安装步骤
将VisualFoxPro6.0系统光盘插入CD-ROM驱动器,打开光盘,找到setup.exe文件,双击该文件,进行安装向导。
按照安装向导的提示,单击“下一步”按钮根据提示进行安装。
2.启动系统
单击Windows的“开始”按钮,选择“程序”\“MicrosoftVisualFoxPro6.0”\“MicrosoftVisualFoxPro6.0”菜单项。
§1.4.2VisualFoxPro6.0的主界面
1.菜单操作
下拉式菜单项:
主菜单栏中包括8个下拉式菜单项:
文件(F)、编辑(E)、显示(V)、工具(T)、程序(P)、项目(Q)、窗口(W)、帮助(H)。
2.命令操作
显示与隐藏命令窗口的方法:
单击命令窗口右上角的关闭按钮可以关闭它,然后通过“窗口”菜单下的“命令窗口”选项可以重新打开。
3.项目管理器窗口
项目管理器是VF中各种数据和对象的主要组织工具。
一个项目是文件、数据、文档和对象的集合。
§1.4.3工具栏的使用
1.显示或隐藏工具栏
2.定制工具栏
3.修改现有工具栏
§1.4.4VisualFoxPro6.0的配置
为了使系统满足个性化的要求,可以定制自己的系统环境。
在VF中可以使用“选项”对话框或SET命令进行附加的配置设定,这里主要用“工具”菜单下的“选项”进行设定。
§1.5项目管理器
项目是指文件、数据、文档和对象的集合。
“项目管理器”是VF中处理数据和对象的主要组织工具,它为系统开发者提供了极为便利的工作平台,一是提供了简便的、可视化的方法来组织和处理表、数据库、表单、报表、查询和其他一切文件;二是在项目管理器中可以将应用系统编译成一个扩展名为.app的应用文件或.exe的可执行文件。
§1.5.1创建项目
1.创建新项目
2.打开和关闭项目
3.各类文件选项卡
§1.5.2使用项目管理器
1.创建文件
2.添加文件
3.修改文件
4.移去文件
5.其他按钮:
“浏览”按钮、“关闭”和“打开”按钮、“预览”按钮、“运行”按钮、“连编”按钮
§1.5.3定制项目管理器
1.移动、缩放和折叠
2.拆分项目管理器
3.停放项目管理器
§1.6向导、设计器、生成器简介
VF提供真正的面向对象的程序设计工具,使用它的各种向导、设计器和生成器可以更加简便、快速、灵活地进行应用程序开发。
§1.6.1VisualFoxPro的向导
1.启动向导
2.使用向导
3.修改用向导创建的项
§1.6.2VisualFoxPro的设计器
1.各种设计器:
表设计器、数据库设计器、报表设计器、查询设计器、视图设计器、表单设计器、菜单设计器、数据环境设计器、连接设计器
2.打开VisualFoxPro设计器
§1.6.3VisualFoxPro的生成器
各种生成器:
表单生成器、表格生成器、编辑框生成器、列表框生成器、文本框生成器、组合框生成器、命令按钮组生成器、选项按钮组生成器
1.启动“表单生成器”
2.对表单中的控件使用相应的生成器
3.使用自动格式生成器来设置控制格式
4.使用参照完整性生成器
本章小结:
本章首先介绍了数据库系统的有关概念、数据库管理系统的功能,然后介绍了VF6.0的初步知识,包括其用户界面、工具栏的使用和系统配置。
通过本章的学习希望对数据库的相关知识有所了解,同时也对VF6.0有初步的认识,为后面的进一步学习打下基础。
本章作业:
1.数据库管理员的职责包括哪些方面?
2.简述数据库系统的特点。
3.简述关系的特点。
4.数据库有哪些设计原则。
5.简述数据库的设计步骤。
6.创建项目的方法有哪些?
教学后记:
第2章VF程序设计基础
本章重点与学习目标:
掌握VF常用数据类型
字符型、数值型、浮点型、双精度、整型等
掌握VF常量、变量的定义与使用方法及运算符和表达式
常量类型、变量类型及使用
VF运算符及优先级、VF各种表达式
了解VF程序设计基本知识及基本程序结构
程序文件的建立与编辑和程序的调用方法
程序的三种结构:
顺序结构、分支结构、循环结构
掌握VF的过程与函数的定义及运用方法
子过程与过程的定义及操作
自定义函数的运用
掌握变量的作用域与参数的传递
VF变量的作用域
VF参数的传递
教学器材:
多媒体教学
本章课时:
7学时
§2.1常量与变量
VF主要数据类型有:
字符型、数值型、货币型、日期型、日期时间型、逻辑型、备注型、通用型。
§2.1.1常量
常量是指在所有的操作过程中保持不变的数。
VF主要有:
数值型常量、货币型常量、字符型常量、日期型常量、日期时间型常量和逻辑型常量。
§2.1.2变量
变量是能够随时更改的。
每个变量有一个变量名。
命名规则:
变量名以字母,汉字和下划线开头,后接字母、数字、汉字和下划线构成。
VF变量分为字段变量和内存变量
数组:
与内存变量不同,数组在使用之前一般要DIMENSION或DECLARE命令显式创建,并且规定数组是一维数组还是二维数组,数组名和数组大小。
数组创建数组的格式:
DIMENSION<数组名>(<下标上限1>[,<下标上限2>])[,…]
DECLARE<数组名>(<下标上限1>[,<下标上限2>])[,…]
§2.1.3内存变量常用命令
1.内存变量的赋值
格式1:
STORE<表达式>TO<内存变量名表>
格式2:
<内存变量名>=<表达式>
2.表达式的显示
格式1:
?
[<表达式表>]
格式2:
?
?
[<表达式表>]
3.显示内存变量
格式1:
LISTMEMORY[LIKE<通配符>][TOPRINTER|TOFILE<文件名>]
2:
DISPLAYMEMORY[LIKE<通配符>][TOPRINTER|TOFILE<文件名>]
4.清除内存变量
格式1:
CLEARMEMORY
格式2:
RELEASE<内存变量名表>
格式3:
RELEASEALL[EXTENDED]
格式4:
RELEASEALL[LIKE<通配符>|EXCEPT<通配符>]
5.表与数组之间的数据传递
将表的当前记录复制到数组
格式1:
SCATTER[FIELDS<字段名表>][MEMO]TO<数组名>[BLANK]
格式2:
SCATTER[FIELDSLIKE<通配符>|FIELDSEXCEPT<通配符>][MEMO]TO<数组名>[BLANK]
§2.2表达式
表达式是由常量、变量和函数通过特定的运算符连接起来的式子。
§2.2.1数值、字符与日期时间表达式
数值表达式又叫做算术表达式,是最容易理解的一种表达式。
数值型数据可以是数值型常量或者变量。
运算符包括:
()、**或^、*、/、%、+、-
§2.2.2关系表达式
称为简单逻辑表达式,它由关系运算符将两个运算对象连接起来形成。
运算符包括:
<、<=、>、>=、=、==、<>或#或!
=、$
§2.2.3逻辑表达式
由逻辑运算符将逻辑型数据连接形成的,其运算符结果仍然是逻辑数据。
运算符包括:
.NOT.或!
(逻辑非)、.AND.(逻辑与)和.OR.(逻辑或)。
§2.2.4运算符优先级
表达式中出现了多种不同类型的运算符时,其运算符优先级如下:
算术运算符>字符运算符和日期时间运算符>关系运算符>逻辑运算。
可以用括号改变优先顺序,强令表达式的某些部分优先运行。
括号内的运算总是优先于括号外的运算。
对于多重括号,总是由内到外。
§2.3常用函数
§2.3.1数值函数
常用数值函数有:
ABS()函数、SIGN()函数、SQRT()函数、PI()函数、INT()函数、CEILING()函数、FLOOR()函数、ROUND()函数、MOD()函数、MAX()函数
§2.3.2字符函数
常用字符函数有:
LEN()函数、LOWER()函数、UPPER()函数、SPACE()函数、TRIM()函数、LTRIM()函数、ALLTRIM()函数、LEFT()函数、RIGHT()函数、SUBSTR()函数、OCCURS()函数、AT()函数、ATC()函数、STUFF()函数、CHRTRAN()函数、LIKE()函数
§2.3.3日期和时间函数
常用日期和时间函数有:
DATE()函数、TIME()函数、DATETIME()函数、YEAR()函数、MONTH()函数、DAY()函数、HOUR()函数、MINUTE()函数、SEC()函数
§2.3.4数据类型转换函数
常用数据类型转换函数有:
STR()函数、VAL()函数、CTOD()函数、CTOT()函数、DTOC()函数、TTOC()函数、宏替换函数
§2.3.5测试函数
常用测试函数有:
BETWEEN()函数、ISNULL()函数、EMPTY()函数、VARTYPE()函数、EOF()函数、BOF()函数、RECNO()函数、RECCOUNT()函数、IIF()函数、DELETED()函数
§2.4程序与程序文件
§2.4.1程序的概念
定义:
程序是能够完成一定任务的命令的有序集合。
这组命令被存放在称为程序文件或命令文件的文本文件中。
程序中经常插入注释,以提高程序的可读性。
注释为非执行代码,不会影响程序的功能。
注释方式:
NOTE<注释内容>或*<注释内容>,以NOTE或*开头的代码行为注释行,一般用于对下面一段命令的说明。
&&<注释内容>,命令行后可添加注释,对所在行命令的说明。
§2.4.2程序文件的建立与执行
1.程序文件的建立
2.打开、修改程序文件
3.执行程序文件
§2.4.3简单的输入/输出/命令
1.INPUT命令:
INPUT[<字符表达式>]TO<内存变量>
2.ACCEPT命令:
ACCEPT[<字符表达式>]TO<内存变量>
3.WAIT命令:
WAIT[<字符表达式>][TO<内存变量>][WINDOW[AT<行>,<列>]][NOWAIT][CLEAR|NOCLEAR][TIMEOUT<数值表达式>]
§2.5程序的基本结构
§2.5.1选择结构
1.简单形式的条件语句
IF<条件>
<语句序列1>
ENDIF
2.一般形式的条件语句
IF<条件>
<语句序列1>
ELSE
<语句序列2>
ENDIF
3.多分支语句
DOCASE
CASE<条件1>
<语句序列1>
CASE<条件2>
<语句序列2>
……
CASE<条件n>
<语句序列n>
[OTHERWISE
<语句序列>]
ENDCASE
§2.5.2循环结构
1.DOWHILE-ENDDO语句
DOWHILE<条件>
<命令序列>
[LOOP]
[EXIT]
ENDDO
2.FOR语句
FOR<循环变量>=<初值>to<终值>[step<步长>]
<循环体>
[EXIT]
[LOOP]
ENDFOR|NEXT
3.SCAN-ENDSCAN语句
SCAN[<范围>][FOR<条件1>][WHILE<条件2>]
<循环体>
[LOOP]
[EXIT]
ENDSCAN
§2.6多模块程序设计
模块是一个相对独立的程序段,它可以被其他模块所调用,也可以去调用其他的模块。
通常,把被其他模块调用的模块称为子程序,把调用其他模块而没有被其他模块调用的模块称为主程序。
§2.6.1模块的定义和调用
1.模块的定义:
模块可以是命令文件,也可以是过程。
语法格式:
PROCEDURE|FUNCTION<过程名>
<命令序列>
[RETURN[<表达式>]]
[ENDPROC︱]
打开过程文件的命令格式:
SETPROCEDURETO[<过程文件1>[,<过程文件2>,…]][]
关闭过程文件的命令格式:
格式1:
SETPROCEDURETO
功能:
关闭所有打开的过程文件
格式2:
RELEASEPROCEDURE<过程文件1>[,<过程文件2>,…]
2.模块调用
格式1:
DO<文件名>︱<过程名>
格式2:
<文件名>︱<过程名>()
§2.6.2参数传递
1.PARAMETERS和LPARMETERS语句传递参数
PARMETERS<形参变量1>[,<形参变量2>,…]
LPARMETERS<形参变量1>[,<形参变量2>,…]
2.调用模块程序
格式1:
DO<文件名>︱<过程名>WITH<实参1>[,<实参2>,…]
格式2:
DO<文件名>︱<过程名>(<实参1>[,<实参量2>,…])
§2.6.3变量的作用域
1.变量的作用域:
指变量在什么范围内是有效的或者能够被访问的。
内存变量分类:
公共变量、私有变量、局部变量
2.变量的隐藏
开发应用程序时,主程序与子程序不一定是由同一个人来设计的,子程序中用到的变量实际上在主程序中已经建立,子程序的运行会无意间改变主程序中变量的取值。
为了解决这个问题,可以采用在子程序中使用PRIVATE命令隐藏主程序中可能存在的变量,使得这些变量在子程序中暂时无效。
格式:
PRIVATE<内存变量表>
PRIVATEALL[LIKE<通配符>|EXCEPT<通配符>]
本章小结:
本章主开始先介绍了语言的一些基本成分,包括常量、变量、函数和表达式,同时也介绍了一些相关的命令,在后半部分主要介绍了程序设计的基本内容,包括程序的概念、程序的基本结构、多模块程序设计等。
通过本章的学习要求同学们对程序设计有初步的了解,并且能编写小的算法程序来进行特定的数据处理。
本章作业:
上机练习课后习题三
教学后记:
第3章VF数据库及操作
本章重点与学习目标:
了解VF项目管理器
熟悉VF数据库
数据库的创建方法
数据库的应用
数据库的修改
数据库的删除
掌握VF数据库表的相关操作
数据库表、自由表的创建
表结构的修改
数据库表的关闭与打开
数据库表的基本操作
掌握数据库表索引
索引的类型
索引的建立
了解数据完整性相关概念
教学器材:
多媒体教学
教学课时:
4学时
§3.1VisualFoxPro数据库及其建立
§3.1.1基本概念
数据库:
数据库是一个逻辑上的概念和手段,通过一组系统文件将相互关联的数据库表及其相关的数据库对象统一组织和管理。
§3.1.2建立数据库
常用方法:
(1)使用项目管理器中建立数据库
(2)使用“新建”对话框建立数据库
(3)使用命令方式建立数据库
格式:
CREATEDATABASE[Databasename|?
]
§3.1.3使用数据库
常用方法:
(1)在“项目管理器”中打开数据库
(2)通过“打开”对话框打开数据库
(3)使用命令方式打开数据库
格式:
OPENDATABASE
§3.1.4修改数据库
常用方式:
(1)从项目管理器中打开数据库设计器
(2)用“打开”对话框打开数据库设计器
§3.1.5删除数据库
常用方法:
(1)使用项目管理器删除数据库
(2)使用命令方式删除数据库
格式:
DELETEDATABASEDatabaseName|?
[DELETETABLES][RECYCLE]
§3.2建立数据库表
§3.2.1在数据库中建立表
方法:
(1)使用项目管理器建立数据库表
(2)使用“新建”或CREATE命令建立数据库表
§3.2.2修改表结构
方法:
(1)在“项目管理器”中修改表结构
(2)在“数据库设计器”中修改表结构
(3)使用命令修改表结构
如果当前不在数据库设计器中,则首先要用USE命令打开要修改的表,然后使用命令方式MODIFYSTRUCTURE打开表设计器。
§3.3表的基本操作
§3.3.1使用浏览器操作表
方法:
(1)在项目管理器中将数据库展开至表,并且选择要操作的表,然后单击“浏览”命令按钮即可。
(2)在数据库设计器中选择要操作的表,然后从“数据库”菜单中选择“浏览”,或者对要操作的表单击鼠标右键,然后从快捷菜单中选择“浏览”。
(3)在命令窗口中,用USE命令打开要操作的表,然后输入BROWSE命令来浏览表。
§3.3.2增加记录的命令
APPEND命令:
APPEND命令是在表的尾部增加一个或多个新记录。
格式:
APPEND或APPENDBLANK
INSERT命令:
INSERT命令可以在表的任意位置插入新的记录。
格式:
INSERT[BEFORE][BLANK]
§3.3.3删除记录的命令
逻辑删除:
DELETE[FOR<逻辑表达式>]
恢复记录的命令:
RECALL[FOR<逻辑表达式>]
物理删除有删除标记的记录:
PACK
物理删除表中的全部记录:
ZAP
§3.3.4修改记录的命令
EDIT或CHANGE命令交互修改:
这两个命令均用于交互式地对当前表记录进行编辑、修改,操作界面类似于APPEND界面。
修改后用CTRL+W或ESC退出界面
REPLACE命令直接修改:
REPLACE字段名1WITH表达式1[,字段名2WITH表达式2]…[FOR表达式]
§3.3.5显示记录的命令
LIST/DISPLAY命令:
LIST/DISPLAY[[FIELDS]Fiedlist][FORlExpression1][OFF][TOPRINTER[PROMPT]|TOFILEFileName]
§3.3.6查询定位命令
用GO、GOTO命令直接定位:
GO记录号|TOP|BOTTOM
SKIP命令:
SKIP[nRecords]
用LOCATE命令定位:
LOCATEFOR条件表达式
§3.4索引
§3.4.1基本概念
定义:
VFP索引是指由指针构成的文件,这些指针逻辑上按照索引关键字的值进行排序。
分类:
主索引、候选索、唯一索引、普通索引
§3.4.2在