数据库技术的产品是数据库管理系统(DBMS),经过20多年的大浪淘沙,已从开始发展阶段的几百个DBMS产品精简到今天的十几个产品。在这些产品中,高端产品以Oracle、DB2、SQL Server、Sybase、Informix为代表,低端主要是Visual FoxPro和Access。在这些产品中,惟一具备自含开发语言的DBMS产品只有Visual FoxPro。也就是说,学习这种数据库管理系统,不需要再去学习其他开发语言,就能够开发出应用系统,从而实现了数据库开发和应用程序开发的统一。也正是这一点,很多大中专院校选择Visual FoxPro作为数据库应用课程的教学数据库。
Microsoft公司新推出的是Visual FoxPro 7版本,该软件经历了漫长的版本升级与功能增强的过程,现在的功能十分强大,其命令、函数、类、组件已达到1000多个,仅就命令、函数和类的说明书就达2000多页。如此庞大而又复杂的系统,如何去掌握已成为值得研究的课题。作者在已出版的《Visual FoxPro 6数据库开发教程》(清华大学出版社,2000年)基础上,通过深入地研究、提取、精炼、整合后撰写了这本书,其基本思路从3个方面展开。
1. 以实例系统为线索
数据库的学习属于技能性学习,如果学完数据库知识,不能开发出应用系统,那是很遗憾的事情。为此,本书以教学管理系统为例,从最初的用户需求分析,数据库结构设计,数据定义与验证,应用软件系统需求分析,应用软件系统的概要设计,各种表单设计、报表设计、菜单设计到软件集成,给出了每一步的操作细节、程序清单和技术文档。这样就为读者提供了开发数据库应用系统的一种范式、方法和步骤,为读者快速上手提供了可仿效的模式。
2. 以规范数据库设计为基础
数据库技术是计算机科学中的一门综合技术,涉及到数据结构、算法、操作系统、程序设计语言、数理逻辑等学科,如何将这些学科中最实用的部分,以最少篇幅介绍给读者要花很大工夫。不知道数据库的最基本原理和方法,不可能设计出一个既好又实用的数据库应用系统。从事大型数据库设计的人员,将所有精力都花费在用户需求分析、数据库结构设计上,很多需求规则都被设计在“存储过程”中,为实际数据库系统编织了复杂的结构约束,程序员只需要简单地开发一些用户界面程序。从而使得系统无论从效率上,还是可维护性上都有比较好的质量保证。为了使读者能理解这些东西,本书从最基本的数据库概念讲起,系统地介绍了关系系统,数据库结构设计,数据定义与验证,数据库记录操作,数据库对象操作,客户/服务器数据库设计和Web数据库设计。
3. 以类对象程序设计为手段
结构化程序设计方法是程序设计方法学的基础,但是,仅依靠这种原理性方法很难提高软件开发速度和软件质量,应运而生的面向对象程序设计是将传统的程序设计问题经过抽象,提出类对象概念,将若干繁琐、复杂,具有共性的东西以类的形式固定下来,给出许多控件、类,以填属性表、调用方法手段进行功能性设计,从而使得程序设计无论是从开发速度,还是软件产品质量上都产生了质的飞跃。
控件和类对象为现代程序设计提供了高效、质优的开发途径,但这还不够,人们又研究出数据库最常用的组件,这些组件是若干控件、类对象的集合。组件的功能强大,使用简便。此外,除了数据库的组件之外,系统还能够通过OLE将其他应用系统,如ActiveX,Excel等的强大功能引入FoxPro之中使用,从而大大增强了FoxPro的功能。
其实,在Visual FoxPro 7中最令人鼓舞的是那些程序生成器,如表单生成器、菜单生成器、项目生成器、表达式生成器、报表生成器。这些程序生成器为应用系统开发自动化提供了最有效的手段。众所周知,关系数据库的理论是建立在关系系统结构不变的假设前提下,但是在实际过程中,结构不变是不可能的,也不切合实际,应用系统一定会随着时间和用户需求不断变化的。为了保证满足用户不断变化的需求,惟一的解决手段就是生成器技术,采用生成器技术能够快速使得应用系统满足用户不断变化的需求,从而大大延长了应用系统的生命周期。
计算机永远都是崭新的技术,需要不断地、不停地学习。作者跟踪微机数据库软件写作,从dBASE Ⅱ、dBASE Ⅲ 、FoxBASE、FoxPro 2.5、FoxPro 2.6,Visual FoxPro 6到Visual FoxPro 7,已出版了多部著作(见参考文献)。在这些出版的著作中,有很多本被国内大专院校和培训班选作教材,并受到普遍欢迎!本书是在这些教材基础之上并结合自己多年从事数据库开发的经验进一步提炼撰写而成的。
全书由浅入深、通俗透彻、涵盖面广,可作为大专院校或数据库培训班教材。每章赋予习题和实验,建议授课76~95学时,其中2/5学时上机操作。如果适当去掉一些章节,可作为初级培训教材。本书也可供数据库开发人员参考。


瓮正科
2003年4月于深圳