第一篇:VF数据库程序设计教案
Visual Foxpro数据库程序设计教案
姓名:
李运娣
系别:
计算机
第1章 Visual FoxPro 数据库基础
本章重点与学习目标:
了解数据库系统的相关概念
数据、数据库、数据库管理系统、数据库系统 数据库管理系统发展过程
概念模型以及常用的数据模型—层次模型、网状模型、关系模型
掌握关系数据库
关系模型的相关属于
数据库设计基础
数据库设计的步骤和过程
了解VF系统的发展过程
数据库管理系统的发展
VF的发展简史及了解Visual FoxPro系统的特点 掌握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.4 Visual FoxPro系统概述
Visual FoxPro6.0是微软公司1998年发布的可视化编程语言集成包Visual Studio6.0中的一员,是一种用于数据库结构设计和应用程序开发的功能强大的面向对象的计算机数据库软件。
§1.4.1 Visual FoxPro 6.0的安装与启动
1.安装步骤
将Visual FoxPro 6.0系统光盘插入CD-ROM驱动器,打开光盘,找到setup.exe文件,双击该文件,进行安装向导。按照安装向导的提示,单击“下一步”按钮根据提示进行安装。2.启动系统
单击Windows的“开始”按钮,选择“程序”“Microsoft Visual FoxPro 6.0”“Microsoft Visual FoxPro 6.0”菜单项。§1.4.2 Visual FoxPro 6.0的主界面
1.菜单操作
下拉式菜单项:
主菜单栏中包括8个下拉式菜单项:文件(F)、编辑(E)、显示(V)、工具(T)、程序(P)、项目(Q)、窗口(W)、帮助(H)。2.命令操作
显示与隐藏命令窗口的方法:
单击命令窗口右上角的关闭按钮可以关闭它,然后通过“窗口”菜单下的“命令窗口”选项可以重新打开。3.项目管理器窗口
项目管理器是VF中各种数据和对象的主要组织工具。一个项目是文件、数据、文档和对象的集合。§1.4.3 工具栏的使用
1.显示或隐藏工具栏 2.定制工具栏
3.修改现有工具栏
§1.4.4 Visual FoxPro 6.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.1 Visual FoxPro的向导
1.启动向导 2.使用向导
3.修改用向导创建的项 §1.6.2Visual FoxPro的设计器
1.各种设计器:表设计器、数据库设计器、报表设计器、查询设计器、视图设计器、表单设计器、菜单设计器、数据环境设计器、连接设计器
2.打开Visual FoxPro设计器
§1.6.3Visual FoxPro的生成器
各种生成器:表单生成器、表格生成器、编辑框生成器、列表框生成器、文本框生成器、组合框生成器、命令按钮组生成器、选项按钮组生成器 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: LIST MEMORY[LIKE<通配符>][TO PRINTER|TO FILE<文件名>] 2: DISPLAY MEMORY[LIKE<通配符>][TO PRINTER|TO FILE<文件名>] 4.清除内存变量
格式1 :CLEAR MEMORY 格式2:RELEASE<内存变量名表> 格式3 :RELEASE ALL [EXTENDED] 格式4:RELEASE ALL [LIKE<通配符>| EXCEPT<通配符>] 5.表与数组之间的数据传递
将表的当前记录复制到数组 格式1 :SCATTER [ FIELDS<字段名表>][ MEMO ] TO <数组名> [ BLANK ] 格式2:SCATTER [FIELDS LIKE<通配符>|FIELDS EXCEPT<通配符>] [ 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.多分支语句
DO CASE CASE <条件1> <语句序列1> CASE <条件2> <语句序列2> „„ CASE <条件n> <语句序列n> [OTHERWISE <语句序列>] ENDCASE §2.5.2 循环结构
1.DO WHILE-ENDDO语句
DO WHILE <条件> <命令序列> [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︱
格式1: SET PROCEDURE TO 功能:关闭所有打开的过程文件
格式2:RELEASE PROCEDURE <过程文件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 <内存变量表> PRIVATE ALL[LIKE<通配符>|EXCEPT<通配符>] 本章小结:
本章主开始先介绍了语言的一些基本成分,包括常量、变量、函数和表达式,同时也介绍了一些相关的命令,在后半部分主要介绍了程序设计的基本内容,包括程序的概念、程序的基本结构、多模块程序设计等。通过本章的学习要求同学们对程序设计有初步的了解,并且能编写小的算法程序来进行特定的数据处理。本章作业:
上机练习课后习题三
教学后记:
第3章 VF数据库及操作
本章重点与学习目标: 了解VF项目管理器 熟悉VF数据库
数据库的创建方法 数据库的应用 数据库的修改 数据库的删除
掌握VF数据库表的相关操作
数据库表、自由表的创建 表结构的修改
数据库表的关闭与打开 数据库表的基本操作
掌握数据库表索引
索引的类型 索引的建立
了解数据完整性相关概念 教学器材:
多媒体教学
教学课时:4学时
§3.1 Visual FoxPro数据库及其建立 §3.1.1 基本概念
数据库:数据库是一个逻辑上的概念和手段,通过一组系统文件将相互关联的数据库表及其相关的数据库对象统一组织和管理。§3.1.2 建立数据库
常用方法:(1)使用项目管理器中建立数据库
(2)使用“新建”对话框建立数据库(3)使用命令方式建立数据库
格式:CREATE DATABASE[Databasename|?] §3.1.3 使用数据库
常用方法:(1)在“项目管理器”中打开数据库
(2)通过“打开”对话框打开数据库(3)使用命令方式打开数据库 格式:OPEN DATABASE §3.1.4 修改数据库
常用方式:(1)从项目管理器中打开数据库设计器
(2)用“打开”对话框打开数据库设计器
§3.1.5 删除数据库
常用方法:(1)使用项目管理器删除数据库
(2)使用命令方式删除数据库 格式:DELETE DATABASE DatabaseName|? [DELETETABLES] [RECYCLE] §3.2 建立数据库表
§3.2.1 在数据库中建立表
方法:(1)使用项目管理器建立数据库表
(2)使用“新建”或CREATE命令建立数据库表
§3.2.2 修改表结构
方法:(1)在“项目管理器”中修改表结构
(2)在“数据库设计器”中修改表结构(3)使用命令修改表结构
如果当前不在数据库设计器中,则首先要用USE命令打开要修改的表,然后使用命令方式MODIFY STRUCTURE打开表设计器。
§3.3 表的基本操作
§3.3.1 使用浏览器操作表
方法:(1)在项目管理器中将数据库展开至表,并且选择要操作的表,然后单击“浏览”命令按钮即可。(2)在数据库设计器中选择要操作的表,然后从“数据库”菜单中
选择“浏览”,或者对要操作的表单击鼠标右键,然后从快捷菜单中选择“浏览”。(3)在命令窗口中,用USE命令打开要操作的表,然后输入BROWSE 命令来浏览表。
§3.3.2 增加记录的命令
APPEND命令: APPEND命令是在表的尾部增加一个或多个新记录。
格式:APPEND或APPEND BLANK 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 字段名1 WITH 表达式1 [,字段名2 WITH 表达式2]„ [FOR 表达式] §3.3.5 显示记录的命令
LIST/DISPLAY命令: LIST/DISPLAY [[FIELDS] Fiedlist] [FOR lExpression1] [OFF] [TO PRINTER [PROMPT] | TO FILE FileName] §3.3.6 查询定位命令
用GO、GOTO命令直接定位: GO 记录号 |TOP | BOTTOM SKIP命令: SKIP [nRecords] 用LOCATE命令定位: LOCATE FOR 条件表达式
§3.4 索引
§3.4.1 基本概念 定义:VFP索引是指由指针构成的文件,这些指针逻辑上按照索引关键字的值进行排序。
分类:主索引、候选索、唯一索引、普通索引 §3.4.2 在设计器中建立索引
1.单项索引
2.复合字段索引:在多个字段上的索引称做复合字段索引。
3.索引文件的种类:非结构单索引文件、非结构复合索引文件、结构复合索引文件
§3.4.3 用命令建立索引
命令:INDEX ON eExpression TO IDXFileName|TAG TagName [OF CDXFileName] [FOR lExpresssion][COMPACT] [ASCENDING|DESCENDING] [UNIQUE|CANDIDATE] [ADDITIVE] §3.4.4 使用索引
命令格式:SET ORDER TO [ nIndexNumber | [TAG] TagName ] [ASCENDING|DESCENDING] §3.4.5 使用索引快速定位
Seek命令格式:SEEK eExpression [ORDER nIndexNumber | [TAG]
TagName ][ASCENDING|DESCENDING] §3.4.6 删除索引
格式1:DELETE TAG TagName1 格式2:DELETE TAG ALL §3.5 数据完整性
§3.5.1 实体完整性与主关键字
实体完整性是保证表中记录唯一的特性,在VFP中利用主关键字和候选索引字来保证表中记录的惟一性,即实体惟一性。§3.5.2 域完整性与约束规则
域完整性:通过限定字段的取值类型和取值范围来保证域完整性,还可以进一步通过域约束规则来保证域完整性。约束规则也称作字段有效性规则,用于检验输入数据的正确性。
§3.5.3 参照完整性与表之间的联系
建立参照完整性:(1)建立表之间的“永久联系”。
(2)设置参照完整性约束。
§3.6 自由表
§3.6.1 数据库表与自由表
创建自由表:(1)使用项目管理器创建自由表
(2)利用菜单方式创建自由表
(3)利用命令窗口的create命令创建自由表
§3.6.2 将自由表添加到数据库
方法:(1)使用项目管理器添加自由表
(2)使用数据库设计器添加自由表(3)利用窗口命令添加自由表 §3.6.3 从数据库中移出表
方法:(1)使用项目管理器移出表
(2)使用数据库设计器移出表(3)利用命令窗口方式移去表
§3.7 多个表的同时使用
§3.7.1 多个工作区的概念
多工作区: VF中在一个工作区中可以使用一个表,如果在同一时刻需要打开多个表,则只需要在不同的工作区中打开不同的表。系统默认的总是在第1个工作区中工作,如果没有指定工作区,实际是都是在第1个工作区打开表和操作表。
利用命令窗口选择工作区: SELECT nWorkAreca | cTabeleAlias §3.7.2 使用不同工作区的表
Visual FoxPro也允许利用IN 命令在一个工作区内使用另一个工作区的表。即命令: In nWorkAreca | cTabeleAlias §3.7.3 表之间的联系
建立临时关联: SET RELATION TO eExpression1 INTO nWorkAreca | cTabeleAlias
§3.8 排序
排序是将记录按需要的顺序重新排列,产生一个新的数据库文件,实现从物理上对数据库的重新排列。
物理排序: SORT TO TableName ON FieldName1[/A | /D] [/C] [, FieldName2 [/A | /D] [/C] „] [ASCENDING | DESCENDING] [FOR lExpression1] [ FIELDS FieldNamelist ] 本章小结
本章主要介绍了VF数据库相关概念与操作,数据库表的创建与基本操作,表索引的创建。通过本章的学习要求掌握数据库的基本操作,表的建立与结构的设置,索引的建立方法,了解数据的完整约束。
本章作业:
上机联系课后习题三
教学后记:
第4章 关系数据库标准语言SQL 本章重点与学习目标: SQL语言概述
了解SQL语言的相关知识 掌握SELECT语句的使用方法
查询功能
掌握SELECT语句的使用方法
了解使用谓词和量词的复杂查询语句
操作和定义功能
掌握插入、更新和删除等操作语句
掌握表的定义、删除和结构修改等定义语句 掌握视图的定义方法
教学器材:
多媒体教学
教学课时:8学时
§4.1 SQL概述
SQL定义:SQL(Structured Query Language)是一种非过程化的语言,也是结构化查询语言的缩写,是关系数据库的标准语言。
§4.2 查询功能
SQL的核心是查询,SQL的查询命令也称SELECT命令,它提供了简单而又丰富的SELECT数据查询语句。语法格式:
SELECT [ALL | DISTINCT] [TOP nExpr [PERCENT][Alias.] Select_Item [AS Column_Name][,[Alias.] Select_Item [AS Column_Name]„]FROM [FORCE][DatabaseName!] Table [[AS] Local_Alias][[INNER |LEFT [OUTER] | RIGHT [OUTER] | FULL [OUTER] JOIN[DatabaseName!] Table [[AS] Local_Alias][ON JoinCondition]]„][[INTO Destination][TO FILE FileName [ADDITIVE] | TO PRINTER [PROMPT]| TO SCREEN]][PREFERENCE PreferenceName][NOCONSOLE][PLAIN][NOWAIT] [WHERE JoinCondition [AND JoinCondition„][AND |OR FilterCondition [AND | OR FilterCondition„]]][GROUP BY GroupColumn [,GroupColumn„]][HAVING FilterCondition][UNION [ALL] SELECTCommand][ORDER BY Order_Item [ASC | DESC][,Order_Item [ASC | DESC]„]] §4.2.1 简单查询
定义:简单查询是针对单个表的查询,由SELECT和FROM短语构成无条件查询或由SELECT、FROM和WHERE短语构成条件查询。
举例:课本例4.1~4.5 §4.2.2 简单的连接查询
定义:简单联接查询也是一类基于多个表的查询,与嵌套查询的区别是要查询的结果可以出自多个表中,而嵌套查询的结果是基于一个表中。举例:课本例4.6与例4.7 §4.2.3 嵌套查询
定义:嵌套查询基于多个关系的查询,查询的结果是来自一个表,而查询的条件却涉及到多个表。
举例:课本例4.8、4.9与例4.10 §4.2.4 几个特殊运算符
运算符:LIKE和 between „ and 举例:课本例4.11、4.12与例4.13 §4.2.5 排序
格式:ORDER BY Order_Item [ASC | DESC][,Order_Item [ASC |DESC]„] 举例:课本例4.14与例4.15 §4.2.6 简单的计算查询
字段函数:COUNT、SUM、AVG、MAX、MIN 举例:课本例4.16~4.20 §4.2.7 分组与计算查询
格式:GROUP BY GroupColumn [,GroupColumn„] [HAVING FilterCondition 举例:课本例4.21与例4.22 §4.2.8 利用空值查询
空值:NULL值
举例:课本例4.23与例4.24 §4.2.9 别名与自连接查询
格式:<关系名><别名> 举例:课本例4.25 §4.2.10 内外层互相关嵌套查询
前面讨论的都是外层查询依赖于内层查询的结果,实际上,有时也需要内、外层互相关的查询,这是内层查询的条件需要外层查询提供值,而外层查询的条件需要内层查询的结果。举例:课本例4.26 §4.2.11 使用量词和谓词的查询
格式说明:<表达式> <比较运算符> [ ANY | ALL |SOME ](子查询)和[NOT] EXISTS(子查询)举例:课本例4.27~4.30 §4.2.12 超连接查询
分类:左联接、右联接、完全联接 命令格式:SELECT„„FROM Table INNER | LEFT | RIGHT | FULL JOIN Table ON JoinCondition WHERE„„ 举例:课本例4.31~4.34 §4.2.13 集合的并运算
定义:并运算是将两个SELECT语句的查询结果合并成一个查询结果。运算符:UNION §4.2.14 VF SQL SELECT的几个特殊选项
1.显示部分结果
2.将查询结果放到数组中 3.将查询结果放到临时文件中 4.将查询结果存放到永久表中 5.将查询结果存放到文本文件中 6.将查询结果直接输出到打印机 举例:课本例4.35、4.36 §4.3 操作功能
§4.3.1 插入数据
格式一:INSERT INTO dbf_name[(fname1[,fname2,„])] VALUES(eExpression1[,eExpession2,„])格式二:INSERT INTO dbf_name from ARRAY ArrayName | from memvar §4.3.2 更新数据
格式:UPDATE TableName
set Column_Name1=eExpession1 [,Column_Name2=eExpession2„] where condition §4.3.3 删除数据
格式:delete from TableName [where condition] §4.4 定义功能
§4.4.1 表的定义
通过create table命令来建立表,格式为:
create table | DBF TableName1 [NAME LongTableName ] [FREE](FieldName1 FieldType[(nFieldWidth [,nPrecision])] [NULL|NOT NULL] [CHECK lExpession1 [ ERROR cMessageText1]] [DEFAULT eExpession1] [PRIMARY KEY | UNIQUE] [REFERENCES TableName2 [TAG TagName1]] [NOCPTANS] [, FieldName2 „ ] [, PRIMARY KEY eExpression2 TAG TagName2 |, UNIQUE eExpession3 TAG TagName3] [, FOREIGN KEY eExpression4 TAG TagName4 [NODUP] REFERENCES TableName3 [TAG TagName5]] [, CHECK lExpression2 [ERROR cMessageText2]])| FROM ARRAY ArrayName §4.4.2 表的删除
命令为:DROP TABLE table_name
直接从数据库删除表对应的文件。如果是数据库中的表并且相应的数据库是当前数据库,则从数据库中删除了表,否则虽然从磁盘上删除了表文件,但是在数据库中的信息却没有删除,此后会出现错误提示。§4.4.3 表结构的修改
用三种命令格式,格式1为:
ALTER TABLE TableName1 ADD | ALTER [COLUMN] FieldName1
FieldType [(nFieldWidth [, nPrecision ])] [NULL | NOT NULL] [CHECK lExpression1 [ERROR cMessageText1]] [DEFAULT eExpression1] [PRIMAY KEY | UNIQUE] [REFEENCES TableName2 [TAG TagName1]] 格式2为:
ALTER TABLE TableName1 ALTER [COLUMN] FieldName2 [NULL|NOT NULL] [SET DEFAULT eExpression2] [SET CHECK lExpression2 [ERROR cMessageText2]] [DOP DEFAULT ] [DROP CHECK] 格式3:
ALTER TABLE TableName1 [DROP [COLUMN] FieldName3] [SET CHECK lExpression3 [ERROR cMessageText3]] [DROP CHECK] [ADD PRIMARY KEY eExpression3 TAG TagName2 [FOR lExpression4]] [DROP PRIMARY KEY ] [ADD UNIQUE eExpression4 [TAG TagName3 [FOR lExpression5]]] [DROP UNIQUE TAG TagName4 ] [ADD FOREING KEY [eExpression5] TAG TagName4 [FOR lExpression6] REFERENCES TagName2 [TAG TagName5] [DROP FOREIGN KEY TAG TagName6 [SAVE]] [ RENAME COLUMN FieldName4 TO FieldName5] §4.4.4 视图的定义
格式:CREATE VIEW view_name AS select_statement
本章小结:
本章比较全面地介绍了关系数据库标准语言SQL,重点介绍了SQL语言的查询语句。通过本章的学习,要求掌握SQL查询语句,并对其数据操作和定义有一定的掌握。本章作业:
上机练习课后习题三
教学后记:
第5章 查询与视图
本章重点与学习目标: 熟悉查询设计器
查询设计器的各个选项 运用查询设计器创建查询
掌握VF视图的相关知识
视图的相关概念
视图设计器的运用方法
视图的创建及数据更新方法
教学器材:
多媒体教学
教学课时:2学时
§5.1查询
§5.1.1查询的概念
定义:查询是指向一个数据库发出的检索信息的请求,它使用一些条件提取特定的记录。实质上就是一个预先定义好的SOL SELECT语句,以扩展名为qpr的文本文件保存在磁盘上的。§5.1.2查询设计器
1.打开查询设计器建立查询 2.利用查询向导建立查询 §5.1.3建立查询
例5.1 建立一个含有仓库号、职工号、城市和工资信息的查询
例5.2 在以上基础上为查询增加查询计算表达式,计算出年工资。例5.3 为查询设计排序,先按仓库号升序排列,再按工资降序排列。例5.4 利用分组功能统计各仓库年工资额的合计。§5.1.4查询设计器的局限性
1.当建立查询并存盘后将产生一个扩展名为qpr的文本文件。
2.如果熟悉SOL SELECT,则可以直接用各种文本编辑器,通过自己写的SOL SELECT语句建立查询,最后把它保存查询设计器的局限性为扩展名为qpr的文件。
3.查询设计器只能建立一些比较规则的查询,而复杂的查询(嵌套查询)就不行了。
§5.1.5使用查询
1.查询的运行
2.设计查询的输出形式 §5.2视图
§5.2.1视图的概念
视图:视图是一种基于表或其他视图而定制的虚拟表,因此,视图兼有“查询”和“表”的特点。
分类:本地视图、远程视图: §5.2.2建立视图
建立视图的方法:
1.使用CREATE VIEW命令打开视图设计器建立视图; 2.选择菜单“文件→新建”建立视图; 3.在“项目管理器”中建立视图; 4.直接用SQL命令建立视图。§5.2.3远程视图与连接
1.定义数据源和连接:可以在VFP内部定义数据源和连接。
2.建立连接:使用项目管理器建立连接、使用菜单方式建立连接、使用CRETE CONNECTION 命令 3.建立远程视图
连接建立好之后就可以建立远程视图了。
建立远程视图和建立本地视图的方法基本上是一样的,只是在打开视图设计器时有所不同。
建立远程视图时,一般要根据网络上其它计算机或其它数据库中的表建立视图,所以需要首先选择“连接”或“数据源”,然后再进入界面建立远程视图。
§5.2.4视图与数据更新
1.指定可更新的表 2.指定可更新的字段 3.检查更新合法性 4.使用更新方式 §5.2.5使用视图
1.视图操作 2.使用视图
本章小结:
本章主要介绍了Visual FoxPro检索和操作数据库的两个基本工具或手段:查询和视图,它们都是根据基本表定义的,定义方式也类似,通过本章的学习要求掌握查询和视图的建立与使用方法。
本章作业:
上机练习课后习题三
教学后记:
第二篇:VF程序设计教学大纲
《VF程序设计》教学大纲
一、课程名称:《VF程序设计》
课程负责人:袁明兰
二、学时与学分:48
三、适应专业:外语、建筑设计技术、工程监理、艺术、旅游等专业
四、课程教材:张彦芳等编著《Visual FoxPro程序设计》,中国地质大学出版社,2011年
五、参考教材:苏忠等.Visual Foxpro 6.0中文版应用与开发.电子工业出版社,2003 杨国才编著《Visual FoxPro程序设计》,重庆大学出版社,2002年
谢膺白.Visual Foxpro 6.0中文版教程.人民邮电出版社,2002 肖金秀.新编Visual Foxpro 6.0应用基础教程.中国石化出版社,2011
六、课程的性质、目的和任务:
本课程是非计算机专业的主要公共基础课。
通过本课程的学习,使非计算机专业的学生掌握数据库的基本概念和VFP的基础知识,熟练掌握数据库的基本操作,并能进行初步的程序设计,能应用VFP进行数据库管理。
七、课程的基本要求:
通过理论教学和实验教学,达到如下基本要求。
1.了解计算机数据管理的发展、掌握数据系统、关系数据库的基本概念,掌握面向对象程序设计的概念,理解数据的一致性和完整性。
2.了解Visual FoxPro的发展、特点及安装,掌握Visual FoxPro 6.0的启动与关闭。熟悉Visual FoxPro 6.0系统界面,理解其几种工作方式。了解项目管理器、常用项目元素与文件类型、创建项目文件,及项目管理器的使用。
3.掌握常量与变量、数据类型,了解常用的文件类型,掌握几种常用函数的应用、运算符与表达式的应用,掌握内存变量的几种操作,掌握数组的应用。理解Visual FoxPro 6.0命令及命令和子句的使用规则。
4.掌握数据表的基本操作(表结构及字段的基本要素、表的创建和修改[使用表设计器]、表的打开与关闭、数据记录的输入、显示和编辑、录指针与定位、逻辑与物理删除表的记录、记录的复制与添加、表的索引、表的查询、表的运算等),掌握多表工作区及其应用。
5.理解数据库的概念与基本组成、掌握数据库的基本操作、理解数据库表的数据完整性、熟练掌握数据库表之间的关联、了解参照完整性。
6.理解程序与结构化程序设计的基本概念,掌握程序文件的建立、执行与编辑,掌握程序设计的基本命令,掌握程序的基本控制结构,掌握变量的作用域
与生存期,理解模块化程序设计方法与模块化程序设计,掌握子程序和过程与自定义函数及其调用,学会程序的调试,熟练掌握结构化程序设计简单应用。
7.掌握面向对象的基本概念、掌握对象及其属性、事件、方法,了解类的创建与使用。
8.熟练掌握表单的创建与管理,掌握猜数游戏设计、计算器设计、学生成绩查询与修改界面设计、软件登录界面与权限设计。
9.理解查询的概念、掌握用查询设计器创建查询、创建多表查询,用查询向导创建查询,运行查询。了解用视图设计器创建本地视图、了解用视图向导创建本地视图、视图的使用、利用视图更新源表数据。
10.了解SQL语言概述、熟练掌握SQL语句对数据表的操作(创建数据表,SQL修改表结构,SQL查询数据表,SQL对数据表运算,SQL删除表记录,SQL更新表的记录内容)。
11.了解菜单设计器、标准菜单及快捷菜单的设计。了解报表基本概念、报表的数据来源、报表设计器,了解报表的创建(用报表向导创建、用报表设计器创建),了解设置报表(给报表添加带区、改变报表的列标签、修改报表表达式、增加表格线、页面设置、字体设置、布局设置、在报表中使用数据分组、汇总区),了解使用报表(报表命令、报表预览和打印机设置),了解标签设计。
12.了解应用需求分析、数据库与表设计、系统功能模块设计、菜单设计、用户界面设计、查询设计、.报表设计、系统维护设计、系统模块调试、用项目管理器连编成应用程序、应用程序管理、发布树、应用程序发布和安装。
八、课程的主要内容:
㈠ 理论教学 1.数据库基础知识 数据库、数据库管理系统和数据库系统的基本概念、数据管理技术的产生和发展;数据库系统的组成及体系结构;数据库管理系统(DBMS)的功能;关系模式的基本术语、主要操作和数据完整性约束;面向对象程序设计的基本概念(包括类、对象、事件、方法和属性等)。
2.Visual FoxPro 系统简介
Visual FoxPro的发展、特点及安装、启动与关闭。Visual FoxPro 6.0系统界面、几种工作方式,项目管理器、及项目管理器的使用。3.Visual Foxpro应用基础
常量与变量、数据类型,文件类型、几种常用函数、运算符与表达式的应用,内存变量的几种操作,数组的应用,Visual FoxPro 6.0命令及命令和子句的使用规则。
4.数据表的基本操作 数据表的基本操作(表结构及字段的基本要素、表的创建和修改[使用表设计器]、表的打开与关闭、数据记录的输入、显示和编辑、录指针与定位、逻辑与物理删除表的记录、记录的复制与添加、表的索引、表的查询、表的运算等),多表工作区及其应用。
5.结构化程序设计
程序与结构化程序设计的基本概念,程序文件的建立、执行与编辑,程序设计的基本命令,程序的基本控制结构,变量的作用域与生存期,模块化程序设计方法与模块化程序设计,子程序和过程与自定义函数及其调用,程序的调试。6.数据库设计
数据库的概念与基本组成、数据库设计器的使用、数据库的建立、打开与关闭(命令)、数据库表的数据完整性、数据库表之间的关联、参照完整性。7.面向对象程序设计初步
面向对象的基本概念、对象及其属性、事件、方法,类的创建与使用。8.表单与控件
表单的创建与管理,猜数游戏设计、计算器设计、学生成绩查询与修改界面设计、软件登录界面与权限设计。9.菜单设计
菜单设计器、标准菜单及快捷菜单的设计。10.查询与视图
查询的概念、用查询设计器创建查询、创建多表查询,用查询向导创建查询,运行查询。用视图设计器创建本地视图、用视图向导创建本地视图、视图的使用、利用视图更新源表数据。SQL语言概述,对数据表的操作(创建(数据库和)数据表,SQL修改表结构,SQL查询数据表,SQL对数据表运算,SQL删除表记录,SQL更新表的记录内容)11.报表与标签设计
查询的概念、用查询设计器创建查询、创建多表查询,用查询向导创建查询,运行查询。用视图设计器创建本地视图、用视图向导创建本地视图、视图的使用、利用视图更新源表数据。SQL语言概述,对数据表的操作(创建(数据库和)数据表,SQL修改表结构,SQL查询数据表,SQL对数据表运算,SQL删除表记录,SQL更新表的记录内容)。12.应用程序的开发与发布过程
应用需求分析、数据库与表设计、系统功能模块设计、菜单设计、用户界面设计、查询设计、.报表设计、系统维护设计、系统模块调试、用项目管理器连编成应用程序、应用程序管理、发布树、应用程序发布和安装。
九、先修课程:
本课程是非计算机专业的基础课,其先修课程是计算机文化基础。
十、考核方式:
理论教学部分占70%,实验教学部分占30%,理论教学部分集中笔试,实验教学部分以完成16个实验和上机考试进行考核。
十一、学时分配:
讲授: 48 学时
1.数据库基础知识
2学时 2.Visual FoxPro 系统简介
2学时 3.Visual Foxpro应用基
4学时
4.数据表的基本操作
10学时 5.程序设计
14学时 6.数据库设计
1学时 7.面向对象程序设计初步
2学时 8.表单与控件
6学时 9.菜单设计
1学时 10.查询与视图
2学时 11.报表与标签设计 1学时 12.应用程序的开发与发布过程 1
学时
第三篇:《VF程序设计》教学大纲
《VF程序设计》教学大纲
课程编号:
一、课程性质、目的及开课对象 ㈠课程性质:公共选修课
㈡目的:通过本课程的学习,使学生掌握项目管理器、库、表、菜单、报表、标签、查询、视图、表单的设计和使用;掌握面向对象的编程方法;理解类、对象、属性、方法和事件的概念;熟练的使用各种向导和设计器,理解在向导和设计器中的各项细节要求;能用visual foxpro设计一个小型的应用程序,从而培养学生分析问题和综合解决问题的能力。
㈢开课对象:全院本专科学生
二、先修课程 《计算机文化基础》
三、教学方法与考核方式
㈠教学方法:理论和实践相结合的方法。本课程操作性和理论性都很强,讲授时根据不同的内容选择多媒体或机房教学,边讲边练,讲练结合。
㈡考核方式:笔试加上机
四、学时数分配 总学时:32
五、教学内容与学时
第一章 visual foxpro基础(1学时)主要内容
1.1 数据库基础知识:计算机数据管理的发展;数据库系统;数据模型。1.2 关系数据库:关系模型;关系运算。
1.3 数据库设计基础:数据库设计步骤;数据库设计过程。1.4 visual foxpro系统概述:历史沿革;VF的特点。重点难点
重点掌握数据库的有关概念;关系运算;数据库设计步骤与过程。学生掌握要点
掌握数据库的有关概念、关系数据库的有关概念、数据库设计的步骤与过程。第二章 visual foxpro系统初步(1学时)主要内容
2.1 visual foxpro6.0的安装与启动:安装visual foxpro6.0;启动visual foxpro6.0。
2.2visual foxpro6.0的用户界面:visual foxpro6.0的主界面;工具栏的使用;visual foxpro6.0的配置。
2.3 项目管理器:创建项目;使用项目管理器;定制项目管理器。2.4visual foxpro6.0向导、设计器、生成器简介:visual foxpro6.0的向导、visual foxpro6.0的设计器、visual foxpro6.0的生成器
重点难点
重点visual foxpro6.0工作界面、工具栏、项目管理器、生成器、向导、设计器的理解。
学生掌握要点
熟练掌握工具栏的使用;掌握VF中项目管理器的使用。第三章 数据与数据运算(2学时)主要内容
3.1 常量:常量;变量;内存变量常用命令。
3.2 表达式:数值、字符与日期时间表达式;关系表达式;逻辑表达式。3.3 常用函数:数值函数;字符函数;日期和时间函数、数据类型转换函数、测试函数。
重点难点
重点常量、变量、函数和表达式。难点对函数的理解与运用。学生掌握要点
掌握VF中常量、变量、函数和表达式的使用。第四章VF数据库及其操作(4学时)主要内容
4.1 visual foxpro数据库及其建立:基本概念;建立数据库、使用数据库、修改数据库、删除数据库用型字段。
4.2 建立数据库表:在数据库中建立表;修改表结构。
4.3 表的基本操作:使用浏览器操作表;增加记录的命令;删除记录的命令;修改记录的命令;显示记录的命令;查询定位命令。
4.4 索引:基本概念;在表设计器中建立索引;用命令建立索引;使用索引。4.5 数据完整性:实体完整性与主关键字;域完整性与约束规则;参照完整 2 性与表之间的关联。
4.6 自由表:数据库表与自由表;将自由表添加到数据库;从数据库中移出表。
4.7 多个表的同时使用:多工作区的概念;使用不同工作区的表;表之间的关联。
4.8 排序 重点难点
重点库与表的建立与修改;索引的概念与操作;数据完整性的概念与操作。难点是多个表的使用。
学生掌握要点
熟练掌握库与表的建立与修改、索引的建立与修改、完整性的设定与修改。第五章 关系数据库标准语言SQL(6学时)主要内容 5.1 SQL概述。
5.2 查询功能:简单查询;简单的联接查询;嵌套查询;几个特殊运算符;排序;简单的计算查询;分组与计算查询;利用空值查询;别名与自联接查询;内外层互相关嵌套查询;使用量词和谓词的查询;超联接查询;集合的并运算;visual foxpro中sql select的几个特殊选项。
5.3 操作功能:插入;更新;删除。
5.4 定义功能:表的定义;表的删除;表结构的修改;视图的定义。重点难点
重点SQL查询、操作、定义。难点SQL多表查询,表的定义功能。学生掌握要点
掌握SQL查询、操作、定义。第六章 查询与视图(2学时)主要内容
6.1查询:查询设计器;建立查询;查询设计器的局限性;运行查询。6.2 视图:视图的概念;建立视图、远程视图与连接;视图与数据更新;使用视图。
重点难点
重点查询设计器与视图设计器的使用,并用设计器解决实际问题。
学生掌握要点
熟练掌握查询设计器与视图设计器的使用。第七章 程序设计基础(4学时)主要内容
7.1 程序与程序文件:程序的概念;程序文件的建立与执行;简单的输入输出命令。
7.2 程序的基础结构:选择结构;循环结构;编程实例。
7.3 多模块程序:模块的定义和调用;参数的伟递;变量的作用域。7.4 程序的调试:调试器的环境;设置断点;调试菜单。重点难点
重点程序文件的建立与执行,顺序结构,分支结构,循环结构,子程序,过程,自定义函数。难点是子程序,过程,自定义函数。
学生掌握要点
熟练掌握程序文件的建立与执行,掌握顺序、分支、循环结构的程序设计方法,掌握过程、自定义函数的定义与参数传递,掌握程序的调试方法,掌握消息对话框函数的使用。
第八章 表单设计与应用(8学时)主要内容
8.1 面向对象的概念:对象与类;子类与继承。
8.2 visual foxpro基类简介:visual foxpro基类;容器与控件;事件。8.3 面向对象的程序设计方法:基本概念;对象引用。
8.4表单设计器:表单设计器环境;控件的操作与布局;数据环境。8.5常用表单控件:标签控件;命令按钮控件;命令组控件;文本框控件;编辑框控件;复选框控件;选项组控件;列表框控件;组合框控件;表格控件;页框控件。
重点难点
重点是表单向导,表单设计器使用,输出类控件,输入类控件,控制类控件,容器类控件。难点各种控件的灵活使用。
学生掌握要点
熟练掌握表单向导、表单设计器的使用,掌握属性,事件,方法的定义,掌握对象的引用方法。熟练掌握输出类控件,输入类控件,控制类控件,容器类控件。掌握每 4 一种控件的常用属性,常用事件,常用方法,掌握用各种控件解决具体问题,了解连接类控件的使用。
第九章 菜单设计与应用(2学时)主要内容
9.1 visual foxpro系统菜单:菜单结构;系统菜单。
9.2 下拉式菜单设计:菜单设计的基本过程;定义菜单;用编程方式定义菜单;为顶层表单添加菜单。
9.3快捷菜单设计 重点难点
重点菜单设计器的使用,显示菜单的命令。难点用菜单命令编程。学生掌握要点
熟练掌握菜单设计器设计菜单的方法,掌握显示菜单命令的使用,了解用菜单命令编写菜单。
第十章 报表设计(2学时)主要内容
10.1 创建报表:创建报表文件;报表工具栏。
10.2 设计报表:报表的数据源和布局;在报表中使用控件。
10.3 数据分组和多栏报表:设计分组报表;设计多栏报表;报表输出。重点难点
重点报表设计器操作,报表控件的使用,传统报表。难点:分组报表。学生掌握要点
熟练掌握报表设计器设计报表,熟练掌握报表控件设计报表,掌握传统报表的设计方法,了解多级分组报表。
第十一章 开发应用程序(4学时)主要内容
11.1 应用项目综合实践:系统开发基本步骤;连编应用程序;主程序设计。11.2 应用程序生成器:使用应用程序向导;应用程序生成器;使用应用程序生成器。
重点难点
重点开发VFP数据库应用系统的一般步骤,开发的四个阶段,需求分析;数据库设计;应用程序设计;运行设计,应用程序管理与发布。难点:代码的设 5 计,算法的确定,功能的实施。
学生掌握要点
掌握用VFP数据库应用系统开发应用系统的一般步骤,掌握开发应用系统的四个阶段,掌握应用程序设计,运行,调试,编译,发布。
六、教材与教参 ㈠教材
二级教程visual foxpro程序设计
高等教育出版社
王利主编 ㈡教参目录
visual foxpro6.0中文版入门与提高
清华大学出版社
李加福 邸雪峰编 《visual foxpro及其应用系统开发》史济民、汤观全,清华大学出版社,2004年
中文版visual foxpro 编程指南
人民邮电出版社
李雨主编
visual foxpro 6.0程序设计基础教程
中国水利水电出版社、上海交通大学出版社、东南大学出版社
李正凡主编
visual foxpro 6.0程序设计基础教程上机教程
中国水利水电出版社、上海交通大学出版社、东南大学出版社
顾浩主编
《VF程序设计》教学大纲
公共选修课
计算机系:马丽君
2007年11月22日
第四篇:第一章 VF数据库基础教案
第一章 VF数据库基础
一、什么叫数据:
是指存储在某种媒体上的能够识别的物理符号如:数字、字母、文字、特殊字符组成的文本形式数据,还有图形、动画、影像、声音等多媒体数据,而最多、最常用的是文字数据。注:数据包括:描述事物特性的内容和存储在媒体上的数据形式。
二、什么叫数据处理?
是指将数据转换成信息的过程。
三、数据处理的目的(其中核心问题是数据管理)计算机对数据的管理发展阶段及特点:经历了五个阶段:
1、人工管理阶段:20世纪50年代;数据和程序不具有独立性,无法进行长期保存,数据不能共享,数据冗余大。
2、文件管理阶段:20世纪50年代后期至60年代中后期,程序和数据有一定的独立性,程序和数据分开存储。
3、数据库系统管理;从20世纪60年代后期开始:特点:数据和程序具有较高的独立性,实现了数据共享,减少数据冗余(注:但并不是完全避免数据冗余)
4、分布式数据库系统:20世纪70年代后期,是数据库技术和计算机网络技术紧密结合的产物。
5、面向对象数据库系统:20世纪80年代引入计算机科学领域的一种新的程序设计技术模型 特点:就是按照人们认识世界和改造世界的习惯方法对现实世界的客观事物对象进行最自然的最有效的抽象和表达,同时又以各种严格高效的行为规范和机制实施客观事物的有效模拟和处理。注:在数据管理技术的发展过程中:数据库系统可以实现数据共享。
一、数据库系统:
1、数据库(DB):是存储在计算机设备上结构化的相关数据的集合,它不仅包括描述事物数据本身,而且还包括相关事物之间的联系。可以被多个和户、多个应用程序共享
2、数据库应用系统(DBAS):是指系统开发人员利数据库系统资源开发出来的。
3、数据库管理系统(DBMS):是对数据库的建立,使用和维护进行管理。
4、数据库系统(DBS):是指引进数据库技术后的计算机系统,实现有组织地、动态地存储大量相关数据提供数据处理和信息资源共享的便利条件。
注:visual Foxpro中的数据库管理系统(DBMS)是操作系统支持下的系统软件;
数据库DB、数据库系统DBS、数据库管理系统DBMS三者之间的关系是:DBS包括DB和DBMS。
二、数据库系统的组成:硬件系统、数据库集合、数据库管理系统及相关软件、数据库管理员和用户。
注:数据库系统的特点:
1、实现数据共享、减少数据冗余
2、采用特定的数据模型(即称为关系数据模型)
3、具有较高的数据独立性
4、有统一的数据控制功能。
一、数据模型:
1、实体:客观存在并且可以互相区别的事物称为实体,实体可以是实际的事物,也可能是抽象的事件如:学生、课本属于实际事物;订货、比赛是比较抽象的;
2、实体的属性:描述实体的特性称为属性;如学生实体用(学号、姓名、性别、出生日期)等若干属性的描述。
3、实体集和实体型:
属性值的集合表示一个实体,而属性的集合表示一种实体的类型称为实体型,同类的实体的结合称为实体集。
所以在VF中“表”用来存放同一类实体,即实体集。注:表中包括若干字段,字段就是实体的属性。
字段值的集合组成表中的一条记录,代表一个具体的实体,即每个纪录表示一个实体。
一、实体间联系及联系的种类:
1、一对一:指主表中的每一条记录只与相关表中的一条记录相关联。
2、一对多:指主表中的每一条记录与相关表中的多条记录相关联。
3、多对多:表现为一个表中的多个记录在相关表中同样有多个记录与其匹配
二、数据模型:
1、层次数据:用树型结构表示实体及其实体间联系的模型称为层次模型;像倒挂的树,用树型结构表示;
2、网状模型:用网状结构表示;
3、关系模型:(非格式模型)用二维表表示)
三、关系数据库:一个关系是由一个二维表来定义的,一个表就是一个关系;也就是说关系数据库是由若干表格组成的,在表格中:每行代表着每个记录,而每列则代表着该表存在的不同属性。
1、关系:一个关系就是一张二维表,通常将一个没有重复行、重复列的二维表看成一个关系,每个关系都有一个关系名。关系文件扩展名为.dbf,称为“表”
2、元组:水平方向的行称为元组,每一行就是一个元组,元组对应存储文件中的一个具体记录,一个元组对应表中的一个记录。
3、属性:二维表中垂直方向的列称为属性,每一列都有一个属性名,在VF中属性表示为字段名,每个字段的数据类型、宽度等在创建表的结构时就规定了。
在VF中一个属性对表中的一个字段,属性名对应字段名,属性值对应于各条记录的字段值。
4、域名:字段的取值范围:指不同元组对同一个属性的取值所限定的范围。
5、关键字:属性或属性的组合能惟一标识各个元组(实体)
6、外部关键字:在本表中不是的关键字,而在另外一个表中是关键字,本表的这个字段(属性)称为外部关键字。
四、关系的特点:
1、关系必须规范,表中不能在含表;
2、关系中不允许有完全相同的元组(记录)存在;
3、关系中不允许有相同的属性名(字段名)存在;
4、关系中元组的次序无关紧要;
5、关系中属性的次序元关紧要; 注:实际关系模型:
一个具体的关系模型由若干个关系模式组成。
一、关系运算: 传统的关系运算:并、差、交;
1、并:两个相同结构关系的并是由属于这两个关系的元组组成的集合。
如:有两个结构相同的学生关系R1、R2,分别存放两个班的学生,把第二个班的学生记录追加到第一个班的学生记录后面就是这两个关系的并集。
2、差:设有两个相同结构的关系R和S,R差S是结果是由属于R但不属于S的元组组成的集合,即差运算的结果是从R中去掉S中也有的元组。
3、交:两个具有相同结构的关系R和S,是由既属于R又属于S的元组组成的集合。既运算的结果是R和S的共同元组。1 专门的关系运算:选择、投影、联接;
1、选择:从关系中找出满足条件元组的操作,是针对行的运算。如;forwherewhile等是选择运算。选择条件以逻辑表达式给出,使得逻辑表达式的值为真的元组被选取,即从水平方向抽取记录形成新的关系,其关系模式不变如:从学生表中找出某同学的的考试成绩;
2、投影:从关系中指定若干个属性组成新的关系,是针对列的运算,如:fieldsselect等是连接运算。是从列的角度进行的运算,相当于对列进行垂直分解。如:从学生表中查询学员的所有姓名、性别、出生日期的操作。
3、连接:将两个关系拼接成一个更宽的关系,是针对横向运算,生成的关系中包含满足联接条件的元组,其联接过程是通过联接条件来控制的,联接条件中将出现两个表中的公共属性名,或得具有相同语义、可比的属性,联接是满足条件的所有记录。如:joinon等是连接运算。如:设有职工和工资两个表,要查询基本工资高于800元的职工姓名,性别,职称、基本工资、实发工资、奖金。
注:选择、投影运算对象是一个关系,而连接运算对象是多个关系。这三种关系运算的最终结果是关系(二维表)
自然连接:是指去掉重复属一的等值连接。
其义意为:在联接运算中,按照字段值对应相等为条件进行的联接操作称为等值联接,自然联接是去掉重复属性的等值联接,自然联接是最常用的联接运算。1 程序设计的步骤: 设计原则:
1、关系数据的设计应遵从概念单一化“一事一地”原则。
2、避免在表之间出现重复字段。
3、表中的字段必须是原始数据或基本数据元素。
4、用外部关键字保证有关联的表之间联系。
二、设计步骤:
1、需求分析、2、确定需要的表;
3、确定所需字段;
4、确定关系;
5、设计求精
第五篇:VF教案31-40
第31课时 使用向导创建视图
一、教学目的 使学生通过本节的学习,使学生能利用创建一个视图。
二、教学重难点 使用向导创建视图和查询的区别
三、教学方法 举例 讲授 演示
四、教学过程
同学们,在使用视图向导创建视图时,向导会自动列出创建视图的步骤,用户根据向导提供的提示完成相应的操作,即可正确的建立视图。
下面我来介绍一下创建视图的几个步骤:
(1)字段选取。选择数据库,数据库中的表和表中的字段。如果当前已经打开了一个数据库,则第一步的对话框中显示的是创建当前数据库的视图,也可以选择其它的数据库。
(2)关联表。建立数据库中表与表之间的关系。
(3)包含记录。指定包含表中的全部记录还是仅匹配的记录。(4)筛选记录。选定符合条件的记录。
(5)排序记录。为选定的记录按照某一字段进行排序。
(6)限定记录。定制显示一定数量的记录。(7)完成视图。选择保存视图后浏览还是修改。
例:创建包含Grade表和Courses表的本地视图“视图1”。
字段选择完成后,单击【下一步】,步骤2——为表建立关系。说明:在这一步要建立用来建立本地视图的表间的关系。
1、先在父表字段选择下拉选择框中选择要用来建立关系的主关键字;
2、再在子表字段选择下拉选择框中选择用来建立关系的子表关键字;
3、单击【添加】,将设定关系添加到关系列表框中。
关系设置完成后单击【下一步】进入到步骤2a——字段选取对话框。
本例中选用默认值:仅包含匹配的行。然后单击【下一步】,进入步骤3——筛选记录。说明:
仅包含匹配的行:生成的本地视图中只包含表中关系相匹配的记录,对应于关系中的内联接的设置结果。
此表中所有的行:生成的本地视图中包含Grade表中的全部记录和子表中关键字段相匹配的记录,对应于关系中的左联接的设置结果。
两张表中所有的行:生成的本地视图中包含表中所有的记录,对应于关系中的完全联接的设置结果。小结:
第32课时
使用向导创建视图(2)
一、教学目的 使学生通过本节的学习,使学生能利用创建一个视图。
二、教学重难点 使用向导创建视图和查询的区别
三、教学方法 举例 讲授 演示
四、教学过程
本地视图向导:步骤3——筛选记录
说明:本地视图向导的筛选记录与查询向导的筛选记录的方式类似。在本例中不筛选记录。
单击【下一步】,进入到本地视图向导的步骤4——排序记录。本地视图向导:步骤4——排序记录
说明:在这一步中设置在本地视图的记录顺序。
本例中可先按“学号”排序,学号相同的再按“课程代号”排序。
操作方法与建立查询的记录排序方法相同。先在“可用字段”列表框中选择“学号”,然后单击【添加】,再选择“课程代号”,再单击【添加】如上图。排序字段及顺序设置后单击【下一步】,进入本地视图向导:步骤4a——限制记录。本地视图向导:步骤4a——限制记录
限制记录的方法与建立查询的限制记录的方法完全相同。在本例中仍保持在本地视图中包含所有的记录,因而取默认值,直接单击【下一步】,进入本地视图向导:步骤5——完成。
在第5步中的操作方法也与建立查询的方法相同,现选择“保存本地视图并浏览”,然后单击【完成】。弹出“视图名”对话框
在“视图名”文本框中输入“视图1”
输入视图名后单击【确认】按钮,系统显示所建立的本地视图的结果。本地视图向导结束。
小结:我们利用了两节课的时间来学习了使用视图向导来创建视图的方法,创建视图的方法其实和创建查询的方法是基本相同的,同学们下去要多加把握一下。
第33课时
利用视图设计器创建本地视图
一、教学目的 使学生通过本节的学习,使学生能利用创建一个视图。
二、教学重难点 使用向导创建视图和查询的区别
三、教学方法 举例 讲授 演示
四、教学过程 前面我们学习了使用视图向导来创建一个视图,和查询时一样的,视图也可以利用视图设计器来创建一个视图,通过本地视图向导建立数据库视图虽然方便,快捷,但这仅对入门者如此,何况用视图向导建立数据库视图最终还要依赖视图设计器。因此,倾向独立进行开发的程序员来说,仅仅学会使用向导是远远不够的,还应学会使用视图设计器的强大功能来创建视图。(1)进入视图设计器
进入视图设计器的方法与进入查询设计器的方法基本相同,下面以新建视图的方式进入视图设计器。启动视图设计器方法
新建一个视图可按以下步骤进入视图设计器:
■选择【文件】|【新建】命令,单击“视图”单选框,再单击【新建文件】按钮。
■在数据库设计器中,选择【数据库】|【新建本地视图】或单击数据库设计器的快捷菜单中的【新建本地视图】|【新视图】按钮。
■在项目管理器中,单击“数据”选项卡,在列表框中选定“本地视图”,再单击【新建】按钮,单击【新建视图】按钮。修改一个视图可按以下步骤进入视图设计器:
■在数据库设计器窗口中,单击选定需要修改的视图,选择【数据库】|【修改】命令。
■在数据库设计器窗口中,右击需要修改的视图,在出现的快捷菜单中选择【修改】命令。■在项目管理器中,单击【数据】选项卡,在列表框中选定需要修改的视图,单击【修改】按钮。
“视图设计器”工具栏说明
添加移去添加联显示SQL窗口 最大化上部窗
添加表:显示“添加表或视图”对话框,从而可以向设计器窗口添加一个表或视图
移去表:从设计器窗口的上窗格中移去选定的表。添加联接:在视图中的两个表之间创建联接条件
显示/隐藏SQL窗口:显示或隐藏建立当前视图的SQL语句 最大化/最小化上部窗口:放大或缩小视图设计器的上窗格(2)从表中选择所需字段
在进行本地视图设计器之前,先建立Classzc表和Department表,表结构和数据如下:
小结:我们利用本节课讲授了使用视图设计器创建本地视图的一部分内容,剩下的内容我们将在下一节课中继续向大家讲授。
第34课时
利用视图设计器创建本地视图(2)
一、教学目的 使学生通过本节的学习,使学生能利用创建一个视图。
二、教学重难点 使用向导创建视图和查询的区别
三、教学方法 举例 讲授 演示
四、教学过程
从中选定表Classzc并单击【添加】按钮,然后单击【关闭】按钮,启动视图设计器。
进入视图设计器后,第一步先需要选定字段,选定字段可直接通过字段选项卡进行。其操作方法与查询设计器中选择字段的方法相同。
从“可用字段”列表框里选定Classzc.班级简称字段,单击【添加】按钮或双击该字段,则Classzc.班级简称字段将会出现在右边的“选定字段”列表框中。本次建立的视图里,还需要选定Classzc.学习性质、Classzc.学制二个字段。它们选定的方法与选定Classzc.班级简称字段一样。如果需选定字段是“可用字段”列表框中的所有字段,可以单击【全部添加】按钮,这样就把所有字段添加到了“选定字段”列表框中去了,可以通过【移去】按钮将其移出来。如果需要全部移出,可以利用【全部移去】按钮快速移出。
要将表中的字段添加到“选定字段”列表框中,除了上述方法外,还可以将鼠标指向视图设计器上部窗口中的表窗口中的字段上,按住鼠标左键或右键拖动一个字段到“选定字段”列表框,该字段就被加入到了“选定字段”列表框中。还可以通过双击字段名将其加入到“选定字段”列表框。表窗口中的*代表表中的全部字段,它也是可以拖动或双击的。若要从“选定字段”列表框中移去字段,也可以使用鼠标拖动或双击。“字段”选项卡还有一个【属性】按钮和一个“函数和表达式”文本框。只要“选定字段”列表框中有一个值,【属性】命令按钮就成为可选的了。选择【属性】后,(3)建立多表关联
前面主要是针对单一的本地表建立视图,虽然很容易,但它的实际功能不大。因为在实际开发中,系统的数据库很复杂,表的关联性很强,用户关心的往往是一些复杂的数据,因此需要建立多表视图。
(4)与设计多表查询不相同的部分——更新条件
视图的最大特点在于能用视图更新数据,这也是建立视图与建立查询的主要区别,也是视图的重点所在。视图设计器中的“更新条件”选项卡可以用来设置允许视图更新表字段的条件。
“更新条件”选项卡选项包括如下内容:
■“表”:指定视图所使用的哪些表可以修改。选择这个下拉列表框中的选项,可以确定哪些表中的字段可以在“字段名”列表框中,以便设置更新条件。此列表中所显示的表都包含了“字段”选项卡“选定字段”列表中的字段。■【重置关键字】:这个按钮作用是从每个表中选择主关键字字段作为视图的关键字字段。每个主关键字字段是在“字段名”列表中的、在钥匙符号下面打一个对钩的字段,关键字字段可
小结:我们利用两节课的时间向同学们介绍了有关使用视图设计器来创建视图的方法。同学们下去一定要好好的把握。
第35课时
使用视图
一、教学目的 使学生通过本节的学习,使学生能学会在VF中使用视图。
二、教学重难点 使用视图
三、教学方法 举例 讲授 演示
四、教学过程
同学们,建立视图后,不但可以用它来显示和更新数据,而且还可以通过调整它的属性来提高性能。处理视图类似处理表,可以: ■使用USE命令并指定视图名来打开一个视图。■使用USE命令关闭视图。■在【浏览】窗口中显示视图。
■在【查看】窗口中显示已打开的视图的别名。■将视图作为数据源,供表单或表格控件使用。若要使用一个视图,可采取如下方法:
■在项目管理器中先选择一个数据库,再选择视图名,然后单击【浏览】按钮,在【浏览】窗口中显示视图。■使用编程的方式访问视图。
下面的代码在【浏览】窗口中显示存放在c:gxglxt目录下gxglxt数据库中的视图1:
open database c:gxglxtgxglxt use 视图1 browse
在使用一个视图时,视图将作为临时表在自己的工作区打开。如果此视图基于本地表,则VFP6会在另一个工作区同时打开基表。如果没有打开任何表,或先执行Close All命令后再执行以上命令,则视图1在工作区1打开,而其基表则在工作区2打开。要查看基表,可以通过选择系统菜单上的【窗口】|【数据工作期】打开“数据工作期”窗口。但有一个例外,如果视图是基于远程表,则基表将不在工作区中打开。而只在【查看】窗口中显示远程视图的名称。
小结:本节主要介绍了又关打开和关闭视图的方法。
第36课时
视图的编辑
一、教学目的 使学生通过本节的学习,使学生能对视图进行编辑,及修改删除等操作。
二、教学重难点 视图的修改
三、教学方法 举例 讲授 演示
四、教学过程
同学们,有时用户只想了解视图的结构,而不关心视图中的数据。这样可以使用带NODATA子句的USE命令来快速显示视图的结构。例如: open database c:gxglxtgxglxt use 视图1 nodata in 0 Select 视图1 browse 通过运行上面的命令语句,将在【浏览】窗口中看到没有记录的视图1。因为使用NODATA子句时,VFP6为视图1创建一个永远返回.F.值的WHERE子句,而数据源上没有记录匹配WHERE子句的条件,所以没有记录被选择。
重新命名视图
建立一个视图以后,还可以为其重新命名视图,进行视图的重新命名,可以使用项目管理器或用RENAME VIEW命令。
■在项目管理器中先选择一数据库,再右击要重新命名的视图。单击【重命名】按钮,出现一对话框后即可为视图输入新的名称。
■使用RENAME VIEW命令。
例如,下面的代码将视图2重新命名为视图1: rename view 视图1 to 视图2 说明:在重新命名视图之前,必须打开包含要命名视图的数据库。
删除视图
视图同表一样也是可以删除的,删除视图可以使用项目管理器或使用DELETE VIEW命令。■在项目管理器中选择一个数据库,再选择要删除的视图,然后用鼠标右击,单击【移去】按钮,即可删除所选的视图。
使用DELETE VIEW命令。
例如,如果要删除数据库xsglxt中的视图2,可以键入以下的命令语句: delete view视图2 说明:在删除视图之前,必须打开包含要删除视图的数据库并设置其为当前数据库。
创建视图索引
同为表建立索引一样,也可以为视图建立索引。但与表不同的是,在视图上创建的本地索引不能永久保存,它们随着视图的关闭而消失。为视图建立本地索引,可以使用INDEX ON命令。关于该命令的参数,在创建表的索引时已有介绍。另有一点需要注意的是,在决定是否在视图上建立索引时,要考虑视图结果集合的大小。对于一个大的结果集合来说,索引要花费很长的时间,并可能降低视图的性能。因此,要根据实际情况处理。
小结:本节课主要介绍了有关视图的编辑,如修改视图结构,删除视图,重命名视图的方法等,同学们一定要好好的把握。
第37课时
创建参数化视图
一、教学目的 使学生通过本节的学习,使学生能熟练的创建一个参数化视图。
二、教学重难点 创建参数化视图
三、教学方法 举例 讲授 演示
四、教学过程 VFP可以创建具有提示输入值来查询信息的视图,称为参数化视图,这样的视图具有更大的灵活性和更强的适应性。可避免每取一部分记录值就要建立视图的情况。
可用以下方法创建参数化视图:
(1)打开视图设计器,从【查询】菜单中选择【视图参数】命令,此时系统弹出视图参数对话框,如图所示:
2)在视图参数对话框中输入参数名及其数据类型。此例中建立一个名为“系部代号”的视图参数,此视图参数可以任意取,但数据类型要和所要查询的记录类型一致。参数名可以是字母字符、数字和单引号的任意组合。(3)按下确定按钮,就为此视图建立了一个视图参数了。下面设计一个带参数的视图(视图4):
(1)打开“视图设计器”,选定表Classzc、Student、Course和Grade四个表,并选取.Classzc.系部代号、Classzc.班级名称、Student.学号、Student.姓名、Course.课程名、Grade.开课学期、Grade.课程成绩这7个字段名作为输出字段。(2)在“筛选”选项卡中的“字段名”下拉列表框中选择Classzc.系部代号,在“条件”列表框中选定“=”,在“实例”文本框中输入“?系部代号”。这个问号表示引用一个表达式所需要的参数。问号后的文字标识了这个参数的名称。同时还可以设定如“Grade.开课学期=‘?开课学期’”。(3)选择【查询】|【视图参数】,进入“视图参数”对话框,在“参数名”文本框中输入参数名称“系部代号”,在“类型”下拉列表框中选定参数的类型为“字符型”,同样还输入“开课学期”、“字符型”,然后单击【确定】按钮。
(4)通过选择【查询】|【运行查询】命令,或通过单击鼠标右键再选择【运行查询】命令,系统弹出如图所示的视图参数对话框。
在此对话框中可以输入将要查询的参数的某一具体数值,在此输入“05”;在后面弹出的“输入一个字符型值,供‘开课学期’使用”对话框中输入“第1学期”。
单击确定按钮,查询的结果即显示在屏幕上。
说明:教师在大屏幕上演示具体的操作过程,学生仔细观察,然后自己在电脑上进行实践。
第38课时
利用视图更新数据
一、教学目的 使学生通过本节的学习,使学生能熟练的利用视图来更新数据。
二、教学重难点 更新数据的方法。
三、教学方法 举例 讲授 演示
四、教学过程 同学们,我们说过,视图和查询最大的区别就是,查询不能对数据进行更新,而视图是可以的,我们这节课就学习如何对视图中的数据进行更新。
在项目管理器中选择“视图3”,单击【修改】,在视图设计器中选择“字段”选项卡,如图。
在上图中,请注意Grade表中的字段。选择“更新条件”选项卡,进行如图设置:
■设定关键字段和可修改字段。
注意:因为表Grade中每个字段的值都不唯一,所以要用组合关键字(学号+课程代号+开课学期)
■存档并显示结果。选【文件】|【保存】或从工具栏中单击保存按钮保存此视图。选取菜单【查询】|【运行查询】查看结果,为视图参数输入“04”(带定界符)、“第1学期”后的运行结果如图 :
■修改视图数据。既然我们已经为视图3视图文件设定关键字段与可更新字段,也就是设定了视图文件中哪些字段可以经过修改而自动更正原始数据文件内容,现在就来验证这些设定是否生效。
将视图中最后一条记录的“课程成绩”由62改为99。
更改完毕后操作光标离开这条记录,观察Grade表中相关记录变化的情形。
从结果可以看出:Grade表中的学号和课程成绩已随着视图文件的更改而自动修正了。表示我们设定的可更新字段生效。
说明:教师在大屏幕上边操作边演示,让学生仔细观察。任务1:在学生登记表视图中,把李飞的姓名改为李雄飞。任务2:在各科成绩表视图中,把张三的语文成绩由65改为99.小结:我们本节课主要介绍了有关视图的更新数据的方法,从视图更新数据这在VF中是非常重要的一个内容,同学们一定要仔细体会其中的奥妙。