第1章VisualFoxPro8.0程序设计开发环境VisualFoxPro8.0是一种能够同时提供数据库设计和应用程序开发集成环境的小型数据库管理系统。本章主要介绍VisualFoxPro8.0系统开发环境、开发环境设置及其基本功能。1.1VisualFoxPro的发展历程1984年,美国一家关系型数据库产品公司FoxSoftware公司推出了它的第一个数据库产品FoxBASE,这就是VisualFoxPro的前身。1992年,Microsoft公司兼并了FoxSoftware公司,从此在FoxPro的前面加上了Microsoft公司的标识。1993年,Microsoft公司推出了FoxPro2.5,该产品是一个跨平台产品,能够运行在DOS、Windows等多种操作系统下。用该产品开发的应用程序具有很好的移植性,并且比以前的版本具有更成熟的Rushmore技术、更快的运行速度、更友好的用户界面和更稳定的性能等。1995年,Microsoft公司推出了面向对象的关系型数据库VisualFoxPro3.0,该产品是一个可以运行在Windows95、Windows98和WindowsNT环境中的32位数据库开发系统。在该产品中引进了面向对象的编程技术和数据库设计技术,采用了可视化的概念,明确地提出了客户/服务器体系结构。另外,首次引进逻辑数据库概念,使得零散的表得到全面管理。1997年,Microsoft公司接着又推出了VisualFoxPro5.0新版本,该版本引进了Internet和Intranet支持,首次在FoxPro中实现了ActiveX技术。1998年,Microsoft公司推出了VisualFoxPro6.0,该版本全面支持Internet和Intranet应用,并且增强了和其他产品之间的协作能力。2000年,Microsoft公司推出了VisualFoxPro7.0,2003年Microsoft公司又推出了VisualFoxPro8.0及其中文版。VisualFoxPro数据库基础教程21.2数据库系统的基本概念本节主要介绍与数据库技术密切相关的4个基本概念,即数据、数据库、数据库管理系统和数据库管理系统。1.2.1数据、信息与数据处理1.数据数据是数据库中存储的基本对象,其定义如下:描述事物的符号记录称为数据。描述事物的符号可以是数字,也可以是文字、图形、图像、声音、语言等,数据有多种表现形式,它们都可以经过数字化后存入计算机。广义地说,数据是一种物理符号的序列,用于记录事物的情况,是对客观事物及其属性进行的一种抽象化及符号化的描述。数据的概念应包括数据的内容和形式两个方面。数据的内容是指所描述的客观事物的具体特性,即通常所说的数据的“值”;数据的形式则是指数据内容所存储的具体形式,即数据的“类型”。不同类型的数据记录的事物性质是不一样的,例如,人们在日常生活中习惯使用十进制数,而在计算机内部却用二进制数。除了数值型的数据外,还有很多其他数据类型,比如人的姓名是字符型数据,人的出生年月是日期型数据,语音和图形也是特殊类型数据。2.信息信息是经过加工的数据,这种数据对人类社会实践和生产及经营活动能产生决策性影响。数据和信息在概念上是有区别的,所有的信息都是数据,而只有经过提炼和抽象之后具有使用价值的数据才能成为信息。经过加工所得到的信息仍以数据的形式表现,此时的数据是信息的载体。3.数据处理数据处理是指对各种类型的数据进行收集、存储、分类、计算、加工、检索和传输的过程。数据处理也可以称为信息处理,数据处理的特点就是数据结构复杂、数据量大、数据之间逻辑关系错综复杂。数据处理的目的是从大量的数据中,根据数据自身的规律及其相互联系,通过分析、归纳、推理等科学方法,利用计算机技术、数据库技术等技术手段,提取有效的信息资源,为进一步分析、管理、决策提供依据。1.2.2数据库系统1.计算机管理数据的3个阶段随着计算机技术的发展,从20世纪50年代初开始,人们逐渐将计算机用于数据处第1章VisualFoxPro8.0程序设计开发环境3理,用计算机进行数据处理一般分为3个阶段:(1)自由管理阶段由于早期的计算机尚未具备必要的软件支持,用户在使用计算机进行数据处理时,必须自己进行数据的收集、组织和管理,需要根据计算机设备的物理地址进行数据的存取。数据处理的特点是将数据作为程序的一部分出现在程序中,当数据发生变动时,需要修改程序。由于数据与应用程序的对应、依赖关系,应用程序中的数据无法被其他程序利用,程序与程序之间存在着大量重复数据,称为数据冗余;同时,由于数据是对应某一应用程序的,使得数据的独立性很差,如果数据的类型、结构、存取方式或输入输出方式发生变化,处理它的程序必须相应改变,数据结构性差,而且数据不能长期保存。(2)文件管理阶段文件管理方式是将数据组织成数据文件,在程序中通过文件名访问数据文件的数据,程序和数据有了一定的独立性。数据处理的特点是,数据是独立于程序而存在的,数据与程序分离,因此,当数据发生变动时,程序不会受到影响,使程序的通用性增强。另外,文件管理方式虽比自由管理方式有较大的改进,但是,数据还是面向应用的,每个程序对应一个数据文件,当需要同时使用几个数据文件中的数据时,就必须重新编程,即各数据文件格式不相同,使数据不能共享。(3)数据库管理阶段数据库管理方式由用户应用程序、数据库管理系统和数据库3部分组成。数据库管理阶段与文件管理方式最大的区别是,数据库管理方式是面向系统的,数据处理的特点是数据库文件和应用程序是完全分离的,不再存在依存的关系,数据文件的维护是由数据库管理系统完成的,因此,当数据变动时,应用程序不受任何影响。另外,数据库与应用程序是相互独立的,数据库文件的维护是由数据库管理系统完成的,不同的应用程序可调用同一个数据库文件,这样大大增强了数据处理的能力。数据库技术使数据有了统一的结构,对所有的数据实行统一、集中、独立的管理,以实现数据的共享,保证数据的完整性和安全性,提高了数据管理效率。数据库虽然也是以文件方式存储数据的,但它是数据的一种高级组织形式。在应用程序和数据库之间,由数据库管理软件把所有应用程序中使用的相关数据汇集起来,按统一的数据模型,以记录为单位存储在数据库中,为各个应用程序提供方便、快捷的查询和使用。2.数据库系统的特点进入20世纪60年代后期,计算机技术的快速发展,特别是大容量快速存取磁盘的出现,为数据库管理系统的实现提供了物质基础,使数据管理进入了新的阶段,出现了数据库技术。与文件系统相比,数据库系统有以下特点:(1)数据的结构化在文件系统中,各数据文件之间不存在联系。数据文件内部的数据一般是有结构的,但是从数据的整体来说是没有结构的。虽然数据库系统也包含许多单独的数据表文件,但是它们之间相互联系,在整体上是服从一定的结构形式,从而更适应管理大量数据的需求。VisualFoxPro数据库基础教程4(2)数据共享共享数据是数据库系统的主要目的,也是其最重要的特点。一个数据库中的数据不仅可以为同一企业或者组织内部的各部门共享,还可以被不同的国家、不同地区的用户所共享。(3)数据独立性所谓数据独立是指数据与应用程序之间的彼此独立,它们之间不存在相互依赖的关系。在文件系统中,数据文件和应用程序之间虽有了一定的独立性,但数据文件和应用程序之间还存在着相互的依赖关系,其中一方的改变总要影响另一方的改变。数据库系统则力求使这种依赖性最小,以实现数据的独立性。应用程序不必随数据存储结构的改变而变动,这是数据库一个最基本的优点。数据库的数据独立包括以下2个方面。物理数据独立:数据的存储格式和组织方法改变时,不影响数据库的逻辑结构,从而不影响应用程序。逻辑数据独立:数据库逻辑结构的变化(如数据定义的修改、数据间联系的变更等)不影响用户的应用程序。数据独立性提高了数据处理系统的稳定性,从而提高了应用程序的维护效益。(4)可控冗余度当数据专用后,数据归每个用户所拥有,每个用户只能使用自己的数据。这样,不同的用户使用相同的数据时,许多数据就会出现重复,这就是数据冗余。实现共享后,同一数据库中的数据集中存储,共同使用,因而易于避免重复,减少和控制数据的冗余。3.数据库系统的基本概念(1)数据库数据库指长期存储在计算机内有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度,较高的数据独立性和易扩展性,并可为各种用户共享。也就是说,在计算机系统中,按一定的数据模型组织、存储和使用的相关联的数据集合称为数据库。数据库还可以理解为存放数据的仓库。它不仅包括描述事物的数据本身,而且还包括相关事物之间的联系。可以被多个用户共享的、与应用程序相互独立。数据库中的数据也是以文件的形式存储在存储介质上的,它是数据库系统操作的对象和结果。数据库中的数据具有集中性和共享性。所谓集中性,是指把数据库看成性质不同的数据文件的集合,其中的数据冗余很小。所谓共享性,是指多个不同用户使用不同语言,为了不同应用目的可同时存取数据库中的数据。数据库中的数据由数据库管理系统进行统一管理和控制,用户对数据库进行的各种数据操作都是通过数据库管理系统实现的。(2)数据库系统它的学科含义是指研究、开发、建立、维护和应用数据库系统所涉及的理论、方法、技术所构成的学科。一个数据库系统可分为数据库与数据库管理系统两个部分。在这一含义下,数据库系统是软件研究领域的一个重要分支,常称为数据库领域。第1章VisualFoxPro8.0程序设计开发环境5数据库系统的用户是指使用和访问数据库中数据的人,有以下4种。数据库设计者:负责整个数据库系统的设计工作。设计者依据用户的需求设计合适的表和格式来存放数据,并对整个数据库的存取权限做出规划。这些工作完成后,即可交给数据库管理员进行管理。数据库管理员:数据库管理员决定数据库中的数据,并对这些数据进行修改、维护,监督数据库的运行状况。数据库管理员的任务主要是决定数据库的内容,管理数据库的账号、备份和还原数据,以及数据库的运行效率。应用程序设计者:负责利用编程语言开发访问数据库的应用程序,使用户可以很友好地使用数据库。普通用户:普通用户只需操作应用程序来访问所要查询的数据,不关心数据库的具体格式、维护和管理等问题。在实际工作中,数据库管理员利用账号来控制每个用户的访问权限。每个用户都有自己的账号和密码,使用此账号和密码,用户可以登录数据库,并在允许的权限范围内访问数据库中的数据。(3)数据库管理系统数据库管理系统是数据库系统的核心,是为数据库的建立、使用和维护而配置的软件。它建立在操作系统的基础上,是位于操作系统与用户之间的一层数据管理软件,主要功能是对数据库进行定义、操作、控制和管理。数据库由数据库管理系统统一管理,数据的插入、修改和检索均要通过数据库管理系统进行。数据库管理系统由操作系统支持,同时,数据库管理系统又支持应用系统。用户发出的或应用程序中的各种操作数据库中数据的命令,都要通过数据库管理系统来执行。数据库管理系统还承担着数据库的维护工作,能够按照数据库管理员所规定的要求,保证数据库的安全性和完整性。(4)数据库应用系统数据库应用系统指在计算机系统中引入数据库后构成的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。数据库应用系统就是由应用程序设计者使用各种开发工具针对数据库中的数据进行管理和应用而开发的软件程序系统。它是在数据库管理系统支持下运行的一类计算机应用软件系统。4.数据库管理系统的功能数据库管理系统提供了用户和数据库之间的软件界面,使用户能更方便地操作数据库。数据库管理系统应保证数据库的高效运行,以提高数据检索和修改的速度。由于不同数据库管理系统要求的硬件资源、软件环境是不同的,因此其功能与性能也存在差异,但一般说来,数据库管理系统的功能主要包括以下6个方面。(1)定义数据数据库管理系统和高级语言类似,必须定义需要的数据类型。数据定义包括定义构成数据库结构的外模式、模式和内模式,定义各个外模式与模