面向21世纪高等院校计算机教材系列VisualFoxPro程序设计教程(第2版)机械工业出版社电子教案1第1章数据库基础和VisualFoxPro编程环境1.1数据库的基本概念1.2数据模型1.3关系数据库1.4VisualFoxPro的特点1.5VisualFoxPro6.0的启动、退出及主窗口1.6配置VisualFoxPro1.7使用帮助和联机文档1.8VisualFoxPro的工作方式21.1数据库的基本概念数据库是按一定方式把相关数据组织、存储在计算机中的数据集合,数据库不仅存放数据,而且还存放数据之间的联系。1.1.1数据与数据处理数据是指存储在某一种媒体上的能够识别的物理符号。数据的概念有两个方面的涵义:•描述事物特性的数据内容•存储在媒体上的数据形式数据处理是对数据的采集、存储、检索、加工、变换和传输,是将数据转化成有用信息的过程。31.1.2数据库的产生计算机管理数据随着计算机的发展而不断发展,利用计算机对数据进行处理经历了4个阶段。1.人工管理阶段2.文件系统阶段3.数据库系统阶段4.分布式数据库系统阶段分布式数据库是由一组数据组成的,这些数据物理上分布在计算机网络的不同节点上,逻辑上是属于同一个系统。41.1.3数据库系统1.基本概念(DB、DBMS、DBAS、DBS)①数据库(DB)数据库是以一定的组织方式存放于计算机外存储器中相互关联的数据集合。它是数据库系统的核心和管理对象,其数据是集成的、共享的,冗余度最小,并由数据库管理系统统一管理。②数据库管理系统(DBMS)数据库管理系统是维护和管理数据库的软件,是数据库与用户之间的界面。它是一组能完成描述、管理、维护数据库的程序系统。是数据库的核心软件。5③数据库应用系统(DBAS)数据库应用系统是利用数据库系统资源开发的面向某一类实际应用的软件。一个DBAS通常由数据库和应用程序两部分组成,它们需要在数据库管理系统(DBMS)的支持下开发和工作。④数据库系统(DBS)数据库系统是一个采用数据库技术,具有管理数据库的功能,由硬件、软件、数据库管理系统、数据库及各类人员(包括数据库设计者、数据库管理员、应用程序设计者、普通用户等)组成的计算机系统。62.数据库系统的特点与文件系统相比,数据库系统具有以下特点:①数据的独立性强,减少了应用程序和数据结构的相互依赖性。②数据的冗余度小,尽量避免存储数据的相互重复。③数据的高度共享,一个数据库中的数据可以为不同的用户所使用。④数据的结构化,便于对数据统一管理和控制。71.2数据模型通常把表示客观事物及其联系的数据及结构称为数据模型。1.2.1基本概念1.实体客观存在并且可以相互区别的事物称为实体。如:一名学生、一名学生的一门选课。2.实体集实体集是具有相同类型及相同性质(或属性)的实体集合。如:某个班的所有学生的集合。83.属性属性又称字段或数据项,用于描述实体的特性,是数据库的基本单位。实体通过一组属性来表示,属性是实体集中每个成员具有的描述性性质。如:学生实体的属性有姓名、性别、出生日期、所在系、入学年份等。4.联系实体之间的对应关系称为联系,它反映了现实事物之间的相互联系。如:学生与课程之间存在选课的联系,一个学生可选多门课。91.2.2实体之间的联系联系可以归纳为3类:1.一对一的联系如:部门与经理,一个部门有一个经理,一个经理只能在一个部门中任职,则部门实体集与经理实体集为一对一的联系。2.一对多的联系如:部门与职工,一个部门有多名职工,一位职工只能在一个部门中工作,则部门实体集与职工实体集为一对多的联系。3.多对多的联系如:学生与选修课程,一位学生可选多门课,一门课可有多位学生选修,则学生实体集与课程实体集为多对多的联系。101.2.3数据模型简介按照实体集间的不同联系方式,数据库分为3种数据模型:层次模型、网状模型、关系模型1.层次模型层次模型的结构是树型结构,树的节(结)点是实体,树的枝是联系,从上到下为一对多的联系。图1-1为某系的机构设置,“根”节点是系,“叶”结点是各位教师。ABCDEFG教师1教师2…教研室1教研室2…教研室n系112.网状模型用网形结构表示实体及其之间的联系的模型称为网状模型。在网状模型中,每一个节点代表一个实体,并且允许节点有多于一个的“父”节点。这样网状模型代表了多对多的联系类型,如图1-2所示。ABCDEFG系教研室课程学生教师任课选课123.关系模型关系模型是以数学理论为基础构造的数据模型,它用二维表格来表示实体集中实体及其之间的联系。在关系模型中,操作的对象和结果都是二维表(即关系),表与表之间通过相同的列建立联系。13学号姓名性别出生日期是否团员特长简历99010128孙三青男06/05/80是99190125杨璇女01/06/82是音乐99221012陈华宏男05/24/80是篮球00010001李林男12/29/80否00120101程明女07/23/81否00220201华华安男10/09/80是舞蹈1.3关系数据库1.3.1基本概念1.关系(表)关系的逻辑结构就是一张二维表。2.属性(字段)一个关系有很多属性(即实体的属性),对应二维表中的列(垂直方向)。每一个属性有一个名字,称为属性名。同一属性的数据具有相同的性质。在VisualFoxPro中,属性表示为表中的“字段”,属性名即为字段名。3.元组(记录)在一个表(关系)中,行(水平方向)称为“元组”。在VisualFoxPro中,称为“记录”,对应现实世界中的实体。14元组(记录)属性(字段)4.关系模式(表结构)对关系的描述称为关系模式,一个关系模式对应一个关系的结构。其格式为:关系名(属性名1,属性名2,…,属性名n)在VisualFoxPro中对应的表结构为:表名(字段名1,字段名2,…,字段名n)例如:图书表的结构为:图书(条形码,书名,作者,出版社,出版日期,售价)5.域域是属性取值的范围,不同的属性有不同的取值范围,即不同的域。166.码(关键字)用来区分不同元组(记录)的属性或属性组合,称为码。在VisualFoxPro中对应的概念是关键字,关键字是字段或字段的组合,用于在表中唯一标识记录。如果表中的某个字段不是本表的关键字,而是另外一个表中的关键字,则称该字段为外部关键字。7.关系模型与数据库一个关系模型是若干个有联系的关系模式的集合。在VisualFoxPro中,将相互之间存在联系的表放到一个数据库中统一管理。如学生管理库中包含学生表、课程表、成绩表。17学号姓名性别专业代号系名990101李林男102001信息管理系990102高山男102001信息管理系990106陆海涛男102001信息管理系990201柳妞女109003计算机系…………………………课程代号课程名课时数必修课学分学号课程代号成绩01数据库64T4990101019202英语80T5990101027803高等数学64T4990102018799010202689901020392学生表课程表成绩表主关键字主关键字主关键字外部关键字外部关键字1.3.2数据完整性数据完整性可以分为实体完整性、域完整性和参照完整性。1.实体完整性实体完整性是指数据库表的每一行都有一个唯一的标识。2.域完整性域完整性是指数据库数据取值的正确性。它包括数据类型、精度、取值范围以及是否允许空值等。3.参照完整性参照完整性是指数据库中表与表之间存在码(关键字)与外码(外部关键字)的约束关系。191.3.3对关系数据库的要求在关系模型中对“关系”有一定的规范化要求,满足该要求的表才称为关系。(1)属性(字段)不可再分。(2)同一关系中不能有相同的属性名。(3)同一关系中不能有完全相同的元组。(4)元组(记录)的顺序、属性(字段)的顺序无关紧要。201.3.4关系运算关系的运算主要指:选择、投影、连接三种运算。1.选择运算选择运算是指从关系中找出满足给定条件的元组,又称为筛选运算。21学号姓名计算机英语20060232王红989120060104李小明898420060321张潇9178学号姓名计算机英语20060232王红989120060321张潇9178选择运算:从“成绩”关系中选择计算机成绩大于90的记录组成新关系S1成绩S1学号姓名英语20060232王红9120060104李小明8420060321张潇78学号姓名计算机英语20060232王红989120060104李小明898420060321张潇9178投影运算:从“成绩”关系中选择由学号、姓名、英语三个字段组成新关系S2成绩S22.投影运算从关系模式中指定若干个属性组成新的关系称为投影。3.连接运算从两个关系中选取满足连接条件的元组组成新关系,称为连接。自然连接是最常用的连接运算。自然连接是指去掉重复属性的等值连接,它是按照属性值对应相等为条件进行的连接操作。24学号姓名高等数学20060232王红7820060104李小明8620060122宋刚93学号姓名计算机英语高等数学20060232王红98917820060104李小明898486学号姓名计算机英语20060232王红989120060104李小明898420060321张潇9178连接运算:将“成绩1”和“成绩2”两个关系按学号相等连接组成新关系S3成绩1成绩2S31.4VisualFoxPro的特点1.简单、易学、易用(1)快速完成应用任务(2)一致的用户界面,使用方便的工具栏(3)不编程而建立应用程序界面(4)用项目管理器统一管理工作2.功能更强大(1)真正的数据库概念(2)可视化编程技术(3)具有面向对象编程的能力(4)更容易处理事件(5)增强的功能(6)最优化系统(7)使用快速查询技术(8)使用32位方式263.支持客户机/服务器结构(1)用数据词典定义规则(2)查看远程或异种数据(3)用事务处理来控制共享访问(4)实现客户机/服务器应用程序4.同其它软件的高度兼容性(1)同其它软件共享数据(2)导入和导出数据(3)使用自动OLE控制其它软件271.5VisualFoxPro6.0的启动、退出及主窗口1.5.1VisualFoxPro6.0的启动从“开始”菜单中选择“MicrosoftVisualFoxPro6.0”,进入VisualFoxPro6.0。关闭此屏:关闭此对话框,回到VisualFoxPro的主窗口。1.5.2VisualFoxPro6.0的退出方法1:在命令窗口键入QUIT,再按〈Enter〉键。方法2:用鼠标单击系统窗口右上角的“关闭”按钮。方法3:用鼠标单击“文件”菜单中的“退出”项。方法4:同时按下〈Alt〉+〈F4〉键。1.5.3VisualFoxPro的主窗口1.菜单栏2.工具栏3.命令窗口281.6配置VisualFoxPro1.6.1设置环境和管理临时文件1.使用“选项”对话框(“工具”菜单→“选项”)2.设置用户创建文件的默认保存位置:“选项”对话框→“文件位置”→“默认目录”3.管理临时文件1.6.2配置VisualFoxPro工具栏(“显示”菜单→“工具栏”)1.激活工具栏或使工具栏不活动2.定制现有工具栏291.6.3设置编辑器选项使用“编辑属性”对话框可设置字体、文本对齐、缩进、换行等,使编辑器更易使用。方法:打开“程序编辑窗口”→右击显示快捷菜单→“属性”→“编辑属性”对话框1.6.4恢复VisualFoxPro环境按下列顺序运行如下命令:CLEARALLCLOSEALLCLEARPROGRAM301.7使用帮助和联机文档1.7.1获得帮助1.7.2联机文档1.7.3获得示例311.8VisualFoxPro的工作方式VFP的工作方式分为交互方式与程序方式两种。1.8.1交互方式1.命令方式:命令方式是通过命令窗口输入合法的VFP命令来完成各种操作。输入一条命令,按回车键执行一条命令。2.可视化操作方式:可视化操作方式则是利用VFP集成环境提供的各种工具:菜单、工具栏、设计器、生成器、向导等等,来完成各项操作。1.8.2程序方式将多条命令组成一个