1——VisualFoxPro及其应用系统开发21世纪高等院校规划教材中国水利水电出版社廖明潮等编著2内容提要•本书以一个完整的应用系统“药品分销管理信息系统”为主线,分十一章全面系统地介绍了VisualFoxPro面向对象的程序设计技术,包括数据库系统、VisualFoxPro程序设计基础、面向对象程序设计、数据库与数据表、视图与查询、表单设计与应用、报表设计、菜单设计、应用系统的调试与发布等。•本书内容全面,结构完整,概念清晰,深入浅出,通俗易懂,可读性、可操作性强。通过使用本教材学习VisualFoxPro,可以使学生掌握关于数据库的知识,建立起关系数据库模型的基本概念,达到高等院校各专业相关数据库语言的教学要求。•本书教学辅导课件和系统开发实例均可从中国水利水电出版社网站上下载,网址为:。3前言•当今,数据库技术已经被广泛应用于各种类型的数据处理系统中,由此,掌握数据库应用技术,学习使用数据库技术进行系统开发,正成为众多计算机应用人员的热切愿望,对于正在普通高校各专业学习的学生而言,学习一种数据库关系系统的应用方法,进而训练相应的数据库应用系统开发技能是非常必要的。•作为VisualStudio6.0的重要组成部分,Microsoft公司推出的VisualFoxPro6.0关系数据库系统,以其强大的性能、完整而又丰富的工具、简单实用的操作方法、友好的用户界面及完备的兼容性等特点,成为众多小型数据库管理系统中的杰出代表而深受用户的喜爱。在小型数据库管理信息系统应用领域,VisualFoxPro拥有广阔的市场空间。4主要内容第01章数据库系统与VisualFoxPro第02章VisualFoxPro程序设计基础第03章面向对象的程序设计第04章数据库与数据库表第05章表操作第06章查询与视图第07章数据库查询语言SQL第08章表单设计第09章报表与标签第10章菜单设计第11章应用程序发布5第1章数据库系统与VisualFoxPro1.5药品分销管理信息系统设计实例1.1数据库系统基本概念1.2数据库系统开发1.4VisualFoxPro系统环境设置1.3VisualFoxPro系统概况目录6本章学习要点•掌握数据库基本概念,了解数据处理的几个发展阶段及其特点•学习数据模型的概念,了解关系数据模型的构成及其优点•掌握关系模型的基本概念及关系运算的规则•了解数据库系统开发的基本原则及开发步骤•了解VisualFoxPro系统的概况•掌握VisualFoxPro安装、启动及关闭的方法•了解VisualFoxPro系统环境配置的意义,掌握修改系统配置的方法第1章数据库系统与VisualFoxPro目录71.1数据库系统基本概念•采用数据库数据处理技术实现的数据处理应用系统,我们称其为数据库应用系统,而相关的技术,我们称其为数据库应用技术,或简称数据库技术。数据库技术是数据管理的技术,是计算机科学的重要分支。•数据、数据库、数据库管理系统和数据库系统是与数据库技术密切相关的四个概念。第1章数据库系统与VisualFoxPro目录81.1.1信息、数据与数据处理数据库(DB,DataBase),顾名思义,是指存放数据的仓库,是存放在计算机内的、有组织、可共享的数据集合。信息和数据是两个既有区别又有联系概念。1.数据数据是数据库中存储的基本对象,是描述事物的符号记录。2.信息信息是经过加工处理后具有一定含义的数据,是对特定人类活动有价值的数据。3.数据处理数据处理是将数据转换成信息的过程,是把各种类型的数据进行收集、储存、分类、加工和传输的一系列活动的总和。第1章数据库系统与VisualFoxPro目录9数据处理的三个阶段:•人工管理阶段–20世纪50年代中期以前,由于当时的计算机速度比较慢,计算机上也没有专门的管理数据的软件,更没有诸如磁盘之类的设备来存储数据,数据处理都是通过人工管理来进行的。第1章数据库系统与VisualFoxPro目录…应用程序1应用程序n数据组1应用程序2数据组2数据组n…图1-1人工管理阶段程序与数据之间的关系10数据处理的三个阶段:•文件管理阶段–20世纪50年代后期至20世纪60年代中期,是计算机在数据管理中直接发挥作用的开始。在此阶段,数据可以存储。科学家编制专门管理数据的软件,按一定规则将数据组织成一个文件,用户可通过文件名来访问文件,而不必考虑过多物理细节。第1章数据库系统与VisualFoxPro目录……应用程序1应用程序2应用程序n存取方法文件1文件2文件n图1-2文件系统阶段程序与数据之间的关系11数据处理的三个阶段:•数据库系统阶段–20世纪60年代中期,随着应用的发展,要求存储和管理有结构的数据,不但管理数据本身,还要管理数据间的联系,产生了数据库系统。第1章数据库系统与VisualFoxPro目录……应用程序1应用程序2应用程序n数据库管理系统(DBMS)数据库(DB)图1-3数据库系统阶段程序与数据之间的关系121.1.2数据模型1.层次模型层次模型表示数据间的从属关系,用倒置的树形结构来表示实体及他们之间的联系。第1章数据库系统与VisualFoxPro目录建校时间学校地址学校名称学校编号职责处室名称处室编号办公地点系名系编号职责科室名称科室编号教研室教研室编号图1-4数据的层次模型131.1.2数据模型2.网状模型网状模型是层次模型的扩展,它表示多个从属关系的层次结构,呈现一种交叉关系的网络结构。第1章数据库系统与VisualFoxPro目录学时数课程名称课程代号所在班级出生年月姓名学号成绩学号课程代号图1-5数据的网状模型141.1.2数据模型3.关系模型关系模型是用二维表格来表示实体及其相互关系的模型。在关系模型中,每一个实体被看成是一个二维表,实体之间的关系也用二维表来表达,每个二维表成为一个关系,且均有一个名字,称为关系名。第1章数据库系统与VisualFoxPro目录151.1.3数据库系统1.三级模式结构第1章数据库系统与VisualFoxPro目录数据库内模式模式外模式A外模式B外模式C应用A1应用A2应用B1应用C1应用C2DBMS外模式/模式映象内模式/模式映象图1-6数据库系统的三级模式结构161.1.3数据库系统2.数据库管理系统数据库管理系统(DBMS,DataBaseManagementSystem)是处理数据库访问的系统软件,是位于用户与操作系统之间的一层数据库管理软件。数据库管理系统提供对数据库资源进行统一管理和控制的功能,通常由数据描述语言及其编译程序、数据操纵语言及其编译解释程序和数据库管理例行程序等三部分组成。第1章数据库系统与VisualFoxPro目录171.1.3数据库系统3.关系型数据库管理系统基于关系模型的数据库管理系统即被称为关系型数据库管理系统(RDBMS,RelationDataBaseManagementSystem)。RDBMS的核心功能是实现数据库物理模式与其应用模式之间的变换,使得用户能够逻辑地、抽象地处理数据,而无须顾及数据在计算机物理层中的存储形式。第1章数据库系统与VisualFoxPro目录181.1.4关系数据库以关系模型建立的数据库就是关系数据库(RDB,RelationalDataBase),是由若干个依照关系模型设计的二维表的集合。1.关系模型的基本概念–关系(数据表)–元组(记录)–属性(字段)–域–关键字–候选关键字–主关键字(主键)–外关键字(外键)–关系模式第1章数据库系统与VisualFoxPro目录191.1.4关系数据库2.表间关联数据库中的数据表间存在多种关联。在同一数据库中,相关联的表间关系的类型有一对一、一对多和多对多3种关系。第1章数据库系统与VisualFoxPro目录20表间关联•一对一关系–数据库中具有相同属性的数据字段分别是两个数据表的关键字或候选关键字,由于该字段值得惟一性,因此由数据字段创建的两个数据表关系为一对一的关系。第1章数据库系统与VisualFoxPro目录21班长班长-班级班级111:122表间关联•一对多关系–数据库中具有相同属性的数据字段分属于两个数据表,在其中一个数据表中该字段的值是惟一的,而在另一个数据表中却不惟一,通过该字段所建立的数据表间关系即为一对多的关系。–以数据表“生产商”和“库存数据表”的关系为例,在数据表“生产商”中,每个生产商的名称仅出现一次,“生产商”字段是主关键字,而在数据表“库存数据表”中,由于每个生产商可能生产多种药品,因此同一生产商的名称在表中可能出现多次,两个表按“生产商”字段建立关联即为一对多得关系。第1章数据库系统与VisualFoxPro目录23班长班长-学生学生1m1:m24表间关联•多对多关系–数据库中具有相同属性的数据字段分属于两个数据表,数据字段的值在两个表中出现的次数均不为一,通过该字段所建立的数据表间关系即为多对多的关系。第1章数据库系统与VisualFoxPro目录25教师教师-学生学生mnm:n261.1.5关系规范化根据关系规范化理论,可以将满足规范化的条件分为六个等级:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、修正的第三范式(BCNF)、第四范式(4NF)和第五范式(5NF)。第1章数据库系统与VisualFoxPro目录271.1.6关系完整性关系完整性约束是指给定数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态及状态变化,以保证数据的正确、有效和相容。关系模型中包括三种完整性约束:实体完整性、参照完整性和域完整性,其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件。第1章数据库系统与VisualFoxPro目录281.1.7关系运算1.选择(Select)运算选择运算是从指定的关系中选取满足给定条件的若干元组的运算,记作σ条件表达式(R)。式中以条件表达式指定选择条件,选择的结果将是原关系的一个子集,子集中所有元组均能使条件表达式为真,且关系模式不变。第1章数据库系统与VisualFoxPro目录291.1.7关系运算2.投影(Project)运算投影运算是从指定的关系中选取指定的若干字段的运算,记为:Π字段名表(R)。投影运算从原关系中选取若干属性形成新的关系,新的关系或比原关系少,或与原关系排列顺序不同,或两者均有。第1章数据库系统与VisualFoxPro目录301.1.7关系运算3.连接(Join)运算连接运算是选取若干个指定关系中的字段满足给定条件的元组,从而构成一个新关系的运算,记为:第1章数据库系统与VisualFoxPro目录条件RS311.2数据库系统开发数据库系统设计的主要任务是采用“自顶向下”的原则将系统必须具备的功能分解为若干个功能模块,并明确描述各个功能模块的具体功能以及相互调用关系。所谓自顶向下,是指首先设计应用系统的整体功能,接着将系统整体功能分解为一组子功能,如果某一子功能依然比较复杂,则还须拆分该子功能为明细功能,直至每一个明细功能都仅完成一项单一应用操作为止。第1章数据库系统与VisualFoxPro目录321.2.1数据库系统设计的原则1.功能模块间的耦合原则2.功能模块的内聚性原则3.功能模块调用的扇入/扇出原则第1章数据库系统与VisualFoxPro目录331.2.2数据库设计的步骤1.系统分析2.应用系统设计3.数据库应用系统实现4.数据库应用系统测试第1章数据库系统与VisualFoxPro目录341.3.1VisualFoxPro的特点1.强大的查询功能2.引入数据库表的概念3.界面友好4.扩大了对SQL语言的支持5.面向对象编程技术6.与其它软件高度兼容7.支持网络应用第1章数据库系统与VisualFoxPro目录351.3.2VisualFoxPro的安装1.安装环境–VisualFoxPro为32位的开发工具,其硬、软件的基本配置是:–处理器:80486DX/66MHz或更高档处理器–内存:16MB以上–硬盘空间:典型安装需要