本书以一个数据库应用系统为例,系统地介绍了数据库基本知识、数据库设计方法、数据库结构设计、数据库操作、数据库对象操作、数据库并发操作、数据库事务处理,特别强调了客户/服务器开发技术和Web数据库开发技术。全书共15章,首先对数据库及VisualFoxPro 8的基础知识进行介绍;然后介绍了目前流行的应用开发技术:结构化程序设计和面向对象程序设计;最后用较大篇幅结合"教学管理数据库"引导读者学习VisualFoxPro数据库项目开发全过程:需求分析、数据库设计、数据操作、表单设计、报表设计、系统合成、网上发布,其中特别强调了控件及组件在数据库多媒体化方面的应用以及客户朋艮务器开发技术。本书根据作者多年写作、讲授和开发数据库的体会撰写而成。全书由浅入深、通俗透彻、涵盖面广,每章设习题和实验,可作为大专院校或数据库培训班教材,也可作为计算机水平考试、计算机等级考试的辅导教材。建议授课76~95学时,其中2/5学时上机操作。如果适当去掉书中一些章节,可作为初级培训教材。Microsoft公司最新推出Visual FoxPro 8,该软件经历了漫长的版本升级与功能增强的过程,功能十分强大,其命令、函数、类、组件已达到1000多个,其中仅关于命令、函数和类的说明书就达2000多页。如何掌握如此庞大而又复杂的系统,已成为值得研究的课题。作者跟踪微机数据库软件写作多年,从d BASEⅡ,d BASEⅢ,FoxBASE,FoxPro 2.5,FoxPro 2.6,Visual FoxPro 6,Visual FoxPro 7到Visual FoxPro 8,已出版了16部著作(见参考文献)。在这些出版的著作中,有很多本被国内大专院校和培训班选作教材,并受到普遍欢迎!本书是在这些教材基础之上,特别是在已出版的《Visual FoxPro数据库开发教程(第二版)》(清华大学出版社,2003年)基础上,结合作者多年从事数据库开发经验,通过深入地研究、提取、精炼、整合后撰写完成。本书用通俗的语言分三个层次介绍了实用数据库技术、现代程序设计技术和网络数据库开发技术。数据库技术是计算机科学中的一门综合技术,涉及到数据结构、算法、操作系统、程序设计语言、数理逻辑等学科。数据库技术包括数据库系统和数据库设计,这些知识均是计算机专业的专业课程。如何将这些高深的技术通俗化并实用化,作者在多年讲授数据库课程和开发应用过程中,投入了很多的精力和时间进行研究,比如第1章中关于关系系统(关系系统包括关系结构、关系操作和关系完整性)的介绍,是关系数据库中最重要、最基础的内容。对很多读者来说,在学习过程中这些知识最不容易学懂,教师需要花费很多的时间反复讲授。实际上多数人是经过很多实践之后,回过头来总结时,才对其有比较深刻的理解。对于数据库设计,能够灵活利用关系规范化理论进行数据库设计的开发者并不多见。如果教条地利用关系规范化理论设计数据库,可能数据库结构很清晰,但关系却很复杂,为程序设计带来很多不便。如果不按关系规范化理论设计数据库,可能会使数据库有不一致,造成严重的数据库冗余,试图采用程序设计来弥补数据一致性是很不科学的一种方法。如何灵活利用关系规范化理论设计数据库,在数据库设计和程序设计之间进行权衡,需要很多实践经验来支持。本书在介绍数据库技术过程中,用通俗的语言将数据库理论知识通过教学管理系统实例加以介绍,使得读者既能掌握数据库专业知识,同时又能很好地将这些专业知识应用于具体实践中。使读者不但知其然,而且知其所以然。本书第1章(数据库系统概论)、第6章(数据库设计)、第7章(数据定义与验证)组合在一起,精心介绍了数据库设计实用技术。VisualFoxPro 8数据库管理系统虽然定位为"桌面数据库",但实际上它已经涉及到大型数据库中若干基础技术(见第8章数据操作技术)。掌握VisualFoxPro 8,再学习Oracle,SQLServer,DB2,只是提升的过程。Visual FoxPro与大型数据库相比存在缺陷,如存储结构问题(FoxPro采用顺序结构存储数据),所以,可以使用记录指针来移动物理记录;在大型数据库中,存储结构采用双向链结构,不存在物理上的顺序记录。所以,在掌握VisualFoxPro之后,再学习大型数据库时需要概念上的转化。其次,由于VisualFoxPro定位在桌面,所以,对网络环境下竞争问题、安全问题就显得力不从心,这需要在学习大型数据库时重新学习。尽管如此,希望掌握数据库技术的读者,从Visual FoxPro开始学起仍是最佳捷径,因为Visual FoxPro被誉为大众数据库。早期从事计算机技术的人都知道,结构化程序设计方法是程序设计方法学的基石。由于可以从数学上推导出程序,因此,结构化程序设计又是具有数学基础的技术,本书第3章(Visual FoxPro 8语言基础),第4章(结构化程序设计)介绍了程序设计基础。但是,仅依靠这种原理性方法很难提高软件开发速度和软件质量,应运而生的面向对象程序设计是将传统的程序设计问题经过抽象,提出类对象概念,将若干繁琐、复杂且具有共性的东西以类的形式固定下来,给出许多控件、类,以填属性表、调用方法等手段进行功能性设计,从而使得程序设计无论是从开发速度,还是软件产品质量上都产生了质的飞跃。本书在第5章(面向对象程序设计),第9章(表单基本技术)中详细介绍类、对象程序设计的方法和手段。事实上,软件开发属于工程课题,虽然控件和类对象为现代程序设计提供了高效、质优的开发途径,但这还不够,于是人们将若干控件、类对象集合在一起,形成所谓的组件。组件功能强大,使用简便,在开发应用系统时,将若干现成的组件通过"拼装"就能得到高效、质优和功能强大的应用系统。现代程序设计技术的演变过程实际上与计算机工业是同步发展的。早期,人们利用电子学原理,采用晶体管设计成能够运算的计算机;然后,将晶体管封装在一块集成电路上(相似于类对象、控件);现在已将这些集成电路和相关电子线路制作成板卡,并把这些板卡标准化,计算机技术人员只要将这些板卡拼装起来,就能迅速地组装出一台计算机。程序设计中组件就是这些"板卡",因此,现代程序员如何找到适合于所要开发的应用系统的"板卡",是程序员能力所在。本书在第10章(组件应用技术),第11章(应用表单开发技术)和第12章(报表设计技术)中专门介绍利用组件来开发应用系统实例,并对组件库进行详细剖析。在VisualFoxPro 8中,令人鼓舞的还有那些程序生成器,如表单生成器、菜单生成器、项目生成器、表达式生成器、报表生成器。这些程序生成器为应用系统开发自动化提供了最有效的手段。众所周知,关系数据库的理论是建立在关系系统结构不变的假设前提下,但是在实际过程中,结构不变是不可能的,也不切合实际,应用系统一定会随着时间和用户需求不断变化。为了保证应用系统满足用户不断变化的需求,惟一的解决手段就是生成器技术,并且采用生成器技术还可以大大延长应用系统的生命周期。数据库应用系统的有两种基本网络结构,既C/S结构和B/S结构。本书第14章(客户/服务器开发技术)介绍了C/S结构,第15章(Web数据库技术)介绍B/S结构,提供从单机版模式走向网络版模式途径。综上所述,学习Visual FoxPro 8一举两得:既学会了实用数据库技术,又学会了现代程序设计技术。全球正规注册的Visual FoxPro用户有50万,Microsoft公司在开发出SQL Server和Access数据库的同时,还在不断地升级Visual FoxPro版本,这也说明了Visual FoxPro的强大生命力所在!瓮正科(Weng Zhengke),教授级高级工程师,1956年4月2日生,江苏泰兴人。1982年毕业于新疆工学院电气工程系电气自动化专业,获工学学士学位。从事计算机应用、开发和维护20多年,先后承担了国家和省部级科研项目60余项,多次获省级科技进步奖。瓮正科教授在长期科研开发、应用和维护工作中,特别注意写作,先后在国内外发表论文108篇,出版了40多部计算机著作,约2000多万字。其代表作有((dBASE理论与实践)(新疆科技卫生出版社,1991)、((FoxPro 2.5实用教程)(清华大学出版社,1995)、《FoxPr0 2.5应用程序300例》(清华大学出版社,1995)、《微型机的系统维护技术》(学苑出版社,1995)、《计算机维护技术》(清华大学出版社,1997)、((FoxPro2.6数据库应用教程)(清华大学出版社,1997)、((Oracle 8.x for Windows NT实用教程》(清华大学出版社,1999)、((Visual FoxPro 6应用系统样例解析》(科学出版社,1999)、((VisualFoxPro 6应用与开发教程》(清华大学出版社,2000)、《计算机维护技术(第2版)》(清华大学出版社,2001)等。瓮正科教授现服务于深圳某计算机公司,仍从事计算机应用开发和维护工作,电子邮件地址:zhengke-wengg21cn.com。