1、,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,#,1,教材,:,李春葆,清华大学出版社,,数据库原理与应用,基于,Visual Foxpro,2005.1,参考教材,:,1.,刘於勋,中国铁道出版社,,数据库原理及应用,Visual Foxpro 6.0,版,2005.8,2.,王珊,萨师煊,高等教育出版社,,数据库系统概论,(,第四版,),2006.5,2,成绩组成:,1,、平时成绩;,(到课率、书面作业、上机练习),2,、期末闭卷考试;,先修基础:,C,语言程序设计,、,软件技术基础,3,课时安排:,总学时数:,36,课时,讲课学时:约,20,课时,
2、上机学时:约,16,课时,4,注意!,1,、本课程是大学工科非计算机类专业的一门必修课。课程时间紧、任务重,上课务必提高效率;珍惜上机时间;课下注意复习。,2,、,PPT,中部分内容属于补充提高部分(带*),注意分清重点!,5,内容安排:,基础篇,第一章:数据库基本理论,应用篇,第二章:,VFP,系统初步,第三章:,Visual FoxPro,语言基础,第四章:表的基本操作,第五章:,SQL,语言,第六章:建立和操作数据库,第七章:结构化程序设计,第八章:表单及内部控件,第九章:查询与视图设计,6,第一章,数据库基本理论,7,1.1,数据库系统概述,1.2,数据库系统的组成与结构,1.3,数据
3、模型,1.4,关系数据库,1.5 Visual FoxPro,系统简介,8,1.1,数据库系统概述,1.1.1,信息、数据和数据处理,1.“,信息”与“数据”,数据,是人们用于记录事物情况的物理符号。为了描述客观事物而用到的数字、字符以及所有能输入到计算机中并能被计算机处理的符号都可以看作数据。,9,信息,是数据中所包含的意义。通俗地讲,信息是经过加工处理并对人类社会实践和生产活动产生决策影响的数据。,数据与信息既有区别,又有联系,。数据是表示信息的,但并非任何数据都能表示信息,信息只是加工处理后的数据,是数据所表达的内容。另一方面信息不随表示它的数据形式而改变,它是反映客观现实世界的知识,而
4、数据则具有任意性,用不同的数据形式可以表示同样的信息。,10,数据处理是指将数据转换成信息的过程。它包括对数据的收集、存储、分类、计算、加工、检索和传输等一系列活动。其基本目的是从大量的、杂乱无章的、难以理解的数据中整理出对人们有价值、有意义的数据(即信息),作为决策的依据。,数据是信息的载体,而信息是数据的内涵。,2,.,数据处理,11,1.1.2,数据管理技术的发展(包括三个阶段):,1.,人工管理阶段,20,世纪,50,年代中期以前,计算机主要应用于科学计算,数据量较少,一般不需要长期保存数据。硬件方面,没有磁盘等直接存取的外存储器。软件方面,没有对数据进行管理的系统软件。,人工管理阶段
5、的特点:,这一时期的数据由于是面向应用程序的,应用程序与其处理的数据结合成一个整体。,(,1,)数据不保存;,(,2,),应用程序管理数据;,(,3,)数据不能共享;,(,4,)数据不具有独立性;,12,人工管理阶段的程序与数据的关系:,数据的组织面向应用程序,不同的程序之间不能共享数据。,13,2.,文件系统阶段(专门管理数据的计算机软件),20,世纪,50,年代后期至,60,年代中期,计算机开始大量用于数据管理。硬件上出现了直接存取的大容量外存储器,如磁盘、磁鼓等,这为计算机系统管理数据提供了物质基础。软件方面,出现了操作系统,其中包含文件系统,这又为数据管理提供了技术支持。,文件系统提供
6、了在外存储器上长期保存数据并对数据进行存取的手段。文件的逻辑结构与存储结构有一定区别,即程序与数据有一定的独立性。数据的存储结构变化,不一定影响到程序,因此程序员可集中精力进行算法设计,并大大减少了维护程序的工作量。,14,文件系统阶段的特点:,(,1,),数据可以长期保存;,(,2,),文件系统管理数据;,(,3,),数据的共享性差,冗余度大;,(,4,),数据独立性差,;,15,文件系统阶段程序与数据的关系:,16,3,数据库系统阶段,20,世纪,60,年代后期,计算机在管理中应用规模更加庞大、数据量急剧增加,数据共享性更强。硬件价格下降,软件价格上升,编制和维护软件所需成本相对增加,其中
7、维护成本更高。这些成为数据管理在文件系统的基础上发展到数据库系统的原动力。,在数据库系统中,由一种叫做,数据库管理系统,(,DBMS,:,Database Management Systems,)的系统软件来对数据进行统一的控制和管理,从而有效地减少了数据冗余,实现了数据共享,解决了数据独立性问题,并提供统一的安全性、完整性和并发控制功能。,17,数据库系统阶段的特点:,(,1,)数据结构化;,(,2,)数据共享性高,冗余度小,具有高度的物 理独立性和逻辑独立性;,(,3,)具有良好的用户接口;,(,4,)对数据实行统一管理和控制;,18,数据库系统阶段程序与数据的关系:,19,1.2.1,数
8、据库系统(,Date Base System,,简称,DBS,),:,数据库系统,是把有关计算机硬件、软件、数据和人员组合起来为用户提供信息服务的系统。因此,数据库系统是由计算机系统、数据库及其描述机构、数据库管理系统和有关人员组成,是由这几个方面组成的具有高度组织性的总体。,数据库系统,(,DBS,),的四要素:数据库、软件系统、硬件系统、数据库系统有关人员。,1.2,数据库系统的组成与结构,20,“,数据库系统”(,DBS,)的组成:,1.,数据库,(,Date Base,简称,DB,),存储在计算机外部存储介质(包括,磁带、磁盘、光盘或其他外存介质),上的结构化的数据集合。,2.,硬件系
9、统,数据库系统对计算机硬件的要求除要求,CPU,的处理速度高、内存容量大以外,还要求有足够的外存空间以存储数据库中的数据。,21,3.,软件系统,数据库系统中的软件包括数据库管理系统,(DBMS),、操作系统、数据库应用程序及相关软件等。,数据库管理系统,(DBMS),是数据库系统的核心软件之一。它提供数据定义、数据操作、数据库管理、数据库建立和维护以及通信等功能。如:,Visual FoxPro,、,SQL Server,等。,22,4.,数据库系统的有关人员,(1),数据库管理员,(,DataBase Administrator,,简称,DBA,):,大型数据库通常由专业人员设计,还要有专
10、职的数据库管理员(,DBA,)进行管理。,(2),用户:,数据库系统的用户分为以下两类:,最终用户:分为:偶然用户、简单用户和复杂用户。,专业用户:这类用户主要是应用系统开发人员。,23,数据库系统(,DBS,),24,1.2.2,数据库系统的三级模式结构,为了有效地组织、管理数据,提高数据库的逻辑独立性和物理独立性,人们为数据库设计了一个严谨的体系结构,数据库领域公认的标准结构是三级模式结构,它包括外模式、模式和内模式。,25,美国国家标准委员会(,ANSI,:,American National Standards Institute,)的数据库管理系统研究小组于,1975,年提出了标准化
11、的建议,将数据库结构分为,3,级:,外模式:,对应用户级数据库,面向用户或应用程序员。,模式(概念模式):,对应概念级模式,面向数据库管理员。,内模式(存储模式):,对应物理级数据库,面向系统程序员。,*使不同级别的用户对数据库形成不同的视图。,26,数据库分级结构图,27,28,1,模式,模式也称为逻辑模式或概念模式,是对数据库的整体逻辑结构和特征的描述,是数据库系统模式结构的中间层。一个数据库只有一个模式。,模式并不涉及数据的物理存储细节和硬件环境。,2,内模式,内模式也称为存储模式,它是数据库在物理存储器上具体存储实现的描述,是数据在数据库内部的表示方法,也是数据物理结构和存储方式的描述
12、。一个数据库只有一个内模式。,29,3,外模式,外模式也称为子模式或用户模式,它是数据和用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据和用户的数据视图,是与某一应用有关的数据的逻辑表示。,外模式一般是模式的子集。一个模式可以有多个外模式。一个应用程序只能使用一个外模式。,外模式是保证数据库安全性的一个有力措施。,30,在一个数据库系统中,只有惟一的数据库,因而作为定义、描述数据库存储结构(物理级)的内模式和定义、描述数据库逻辑结构(总体观)的模式,也是惟一的,但建立在数据库系统之上的应用则是非常广泛、多样的,所以对应的外模式(用户观)不是惟一的,也不可能惟一。,31,1.2.3,模
13、式之间的映射,(,1,)“外模式,/,模式”之间的映射,这种映射将用户数据库与概念数据库联系起来;实现了数据与程序的逻辑独立性,简称数据的逻辑独立性。,(,2,)“模式,/,内模式”之间的映射,这种映射把概念数据库与物理数据库联系起来。模式与内模式的映射使全局逻辑数据独立于物理数据,保证了数据与程序的物理独立性,简称数据的物理独立性。,32,1.2.4,数据库系统的特点,1,数据共享,2,减少数据冗余,3,具有较高的数据独立性,4,增强了数据安全性和完整性保护,1.4“,数据库管理系统”请同学们课下自学。,33,1.3,数据模型,1.3.1,什么是数据模型,1,模型的分类(,2,类),一种模型
14、是,概念模型,(信息模型),它是按照用户的观点进行数据信息建模,主要用于数据库的设计。另一种模型是,数据模型,,这种模型是按计算机系统的观点对数据建模,主要用于,DBMS,的设计。,数据模型,是对客观事物及其联系的数据描述,反映实体内部和实体之间的联系。数据模型是信息模型在数据世界中的表示形式。可将,数据模型,分为三类:网状模型、层次模型和关系模型。详见后面的,1.3.3,。,34,2,数据模型的三要素*:,(,1,)数据结构,数据结构是所研究对象类型的集合,这些对象组成数据库。按照数据结构类型的不同,将数据模型划分为层次模型、网状模型和关系模型。,(,2,)数据操纵,数据操纵是指对数据库中各
15、种对象实例的操作。,(,3,)数据的完整性约束,数据的完整性约束是指在给定的数据模型中,数据及其数据关联所遵守的一组规则。用以保证数据库中数据的正确性、一致性。,35,1.3.2,概念模型,概念模型也称为“信息模型”。信息模型就是人们为正确直观地反映客观事物及其联系,对所研究的信息世界 建立的一个抽象的模型。是现实世界到信息世界的第一层抽象,是数据库设计人员和用户之间进行交流的语言。,36,现实世界客观对象的抽象过程:,37,1,概念模型的名词术语,(,1,),实体,(,Entity,):客观存在并可相互区别的事物称为实体。实体既可以是实际的事物,也可以是抽象的概念或联系。,(,2,),属性,
16、(,Attribute,):属性就是实体所具有的特性,一个实体可以由若干个属性描述。,(,3,),域,(,Domain,):属性的取值范围称为该属性的域。,(,4,),实体集,(,Entity Set,):具有相同属性的实体的集合称为实体集。,(,5,),码,(键)(,Key,):键是能够惟一地标识出一个实体集中每一个实体的属性或属性组合,键也被称为关键字或码。,(,6,),联系,(,Relationship,):联系分为两种:一种是实体内部各属性之间的联系,另一种是实体之间的联系。,38,39,在,Visual FoxPro,中,用“表”来表示同一类实体,即实体集,用“记录”来表示一个具体的
17、实体,用“字段”来表示实体的属性。显然,字段的集合组成一个记录,记录的集合组成一个表。相应于实体型,则代表了表的结构。,40,2,实体间的联系,实体之间的对应关系称为联系,它反映了现实世界事物之间的相互关联。例如,图书和出版社之间的关联关系为:一个出版社可出版多种书,同一种书只能在一个出版社出版。,实体间的联系是指一个实体集中可能出现的每一个实体与另一实体集中多少个具体实体存在联系。两个实体之间有各种各样的联系,归纳起来有,3,种类型:,41,(,1,)一对一联系(,1:1,)。如果对于实体集,A,中的每一个实体,实体集,B,中有且只有一个实体与之联系,反之亦然,则称实体集,A,与实体集,B,
18、具有一对一联系。,(,2,)一对多联系(,1:n,)。如果对于实体集,A,中的每一个实体,实体集,B,中有多个实体与之联系,反之,对于实体集,B,中的每一个实体,实体集,A,中至多只有一个实体与之联系,则称实体集,A,与实体集,B,有一对多的联系。,(,3,)多对多联系(,m:n,)。如果对于实体集,A,中的每一个实体,实体集,B,中有多个实体与之联系,而对于实体集,B,中的每一个实体,实体集,A,中也有多个实体与之联系,则称实体集,A,与实体集,B,之间有多对多的联系。,42,3,ER,模型,信息模型有很多种,其中最为流行的一种是由美籍华人陈平山于,1976,年提出的实体联系模型(,Enti
19、ty-Relationship Model,,简称,ER,模型),这种图称为实体,联系图,简称,ER,图。,ER,图有三个要素:,实体,:用矩形表示实体,矩形内标注实体名称。,属性,:用椭圆表示属性,椭圆内标注属性名称。并用连线与实体连接起来。,实体之间的联系,:用菱形表示,菱形内注明联系名称,并用连线将菱形框分别与相关实体相连,并在连线上注明联系类型。,43,(a)1:1,联系,(b)1:n,联系,(c)m:n,联系,44,45,1.3.3,数据库类型,数据模型是对客观事物及其联系的数据描述,反映实体内部和实体之间的联系。由于采用的数据模型不同,相应的数据库管理系统也就完全不同。在数据库系统
20、中,常用的数据模型有层次模型、网状模型和关系模型,3,种。,46,层次模型按树型结构组织数据,它是以记录类型为结点,以结点间联系为边的有序树,数据结构为有序树或森林。,1.,层次模型,47,层次模型有以下两个特点,:,有且仅有一个结点无父结点,该结点称为根;,其它结点有且仅有一个父结点。,上面特点就使得用层次模型表示,1:n,联系非常简便,但是它不能直接表示,m:n,的联系。,48,2,网状模型,网状模型用网状结构表示实体及其之间的联系,网中结点之间的联系不受层次限制,可以任意发生联系。,49,网状模型例子,:,50,网状模型有如下几个特点:,一个子结点可以有两个或多个父结点。,在两个结点之间
21、可以有两种或多种联系。,可能有回路存在。,网状模型的优点:,能够更为直接地描述现实世界。,具有良好的性能,存取效率高。,主要缺点:,结构复杂,不利于扩充;不容易实现。,51,在以上两种数据模型中,各实体之间的联系是用指针实现的,其优点是查询速度高。但是当实体集和实体集中实体的数目都较多时,众多的指针使得管理工作相当复杂,对用户来说使用也比较麻烦。,52,3,关系模型,关系模型与层次模型和网状模型相比有着本质的差别,它是用二维表格来表示实体及其相互之间的联系。在关系模型中,把实体集看成一个二维表,每一个二维表称为一个关系。每个关系均有一个名字,称为关系名。,虽然关系模型比层次模型和网状模型发展得
22、晚,但是因为它建立在严格的数学理论基础上,所以是目前比较流行的一种数据模型。自,20,世纪,80,年代以来,新推出的数据库管理系统几乎都支持关系模型,,Visual FoxPro,就是一种关系数据库管理系统。,53,关系模型例子,:,54,1.4.1,关系模型,关系数据模型是由,IBM,公司的,E.F.Codd,于,1970,年首次提出,以关系数据模型为基础的数据库管理系统,称为关系数据库系统,(RDBMS),,目前广泛使用。,关系数据模型的定义,实体和联系均用二维表来表示的数据模型称之为关系数据模型。,1.4,关系数据库,55,56,1,关系模型的基本概念,(,1,)关系,一个关系对应着一张
23、二维表,通常将一个没有重复行、重复列的二维表看成一个关系,每个关系都有一个关系名。在,Visual FoxPro,中,一个关系对应于一个表文件,其扩展名为,.dbf,。,(,2,)元组,二维表的每一行即为一个元组。在,Visual FoxPro,中,一个元组对应表中一个记录。表是由很多元祖构成的。,57,(,3,)属性,二维表的每一列即为一个属性,每个属性都有一个属性名,属性值则是各个元组属性的取值。在,Visual FoxPro,中,一个属性对应表中一个字段,属性名对应字段名,属性值对应于各个记录的字段值。例如:“姓名”是这个表中所有元组都具有的属性。,(,4,)域,属性的取值范围称为域。域
24、作为属性值的集合,其类型与范围具体由属性的性质及其所表示的意义确定。同一属性只能在相同域中取值。例如性别的域是男或女。,58,(,5,)关键字*,关系中能惟一区分、确定不同元组的属性或属性组合,称为该关系的一个关键字。单个属性组成的关键字称为单关键字,多个属性组合的关键字称为组合关键字。需要强调的是,关键字的属性值不能取“空值”,所谓空值就是“不知道”或“不确定”的值,因而无法惟一地区分、确定元组。,(,6,)候选关键字,关系中能够成为关键字的属性或属性组合可能不是惟一的。凡在关系中能够惟一区分、确定不同元组的属性或属性组合,称为候选关键字。,59,(,7,)主关键字,在候选关键字中选定一个作
25、为关键字,称为该关系的主关键字。关系中主关键字是惟一的。,(,8,)外部关键字,关系中某个属性或属性组合并非关键字,但却是另一个关系的主关键字,称此属性或属性组合为本关系的外部关键字。关系之间的联系是通过外部关键字实现的。,(,9,)关系模式,对关系的描述称为关系模式,其格式为:,关系名(属性名,1,,属性名,2,,,,属性名,n,),关系既可以用二维表格描述,也可以用数学形式的关系模式来描述。一个关系模式对应一个关系的结构。在,Visual FoxPro,中,也就是表的结构。,60,2,关系的基本特点,在关系模型中,关系具有以下基本特点:,(,1,)关系必须规范化,属性不可再分割。,规范化是
26、指关系模型中每个关系模式都必须满足一定的要求,最基本的要求是关系必须是一张二维表,每个属性值必须是不可分割的最小数据单元,即表中不能再包含表。,(,2,)在同一关系中不允许出现相同的属性名。,Visual FoxPro,不允许同一个表中有相同的字段名。,(,3,)关系中不允许有完全相同的元组,即冗余。,61,(,4,)在同一关系中元组的次序无关紧要。也就是说,任意交换两行的位置并不影响数据的实际含义。,(,5,)在同一关系中属性的次序无关紧要。任意交换两列的位置也并不影响数据的实际含义,不会改变关系模式。,以上是关系的基本性质,也是衡量一个二维表格是否构成关系的基本要素。在这些基本要素中,有一
27、点是关键,即属性不可再分割,也即表中不能套表。,62,3,关系模型的优点,(,1,)数据结构单一。,关系模型中,不管是实体还是实体之间的联系,都用关系来表示,而关系都对应一张二维数据表,数据结构简单、清晰。,(,2,)关系规范化,并建立在严格的理论基础上。,关系中每个属性不可再分割,构成关系的基本规范。同时关系是建立在严格的数学概念基础上,具有坚实的理论基础。,(,3,)概念简单,操作方便。,关系模型最大的优点就是简单,用户容易理解和掌握,一个关系就是一张二维表格,用户只需用简单的查询语言就能对数据库进行操作。,63,1.4.2,关系数据库*,以关系模型建立的数据库就是关系数据库(,RDB,:
28、,Relational Database,)。关系数据库中包含若干个关系,每个关系都由关系模式确定,每个关系模式包含若干个属性和属性对应的域,所以,定义关系数据库就是逐一定义关系模式,对每一关系模式逐一定义属性及其对应的域。,一个关系就是一张二维表格,表格由表格结构与数据构成,表格的结构对应关系模式,表格每一列对应关系模式的一个属性,该列的数据类型和取值范围就是该属性的域。因此,定义了表格就定义了对应的关系。,64,在,Visual FoxPro,中,与关系数据库对应的是数据库文件(,.dbc,文件),一个数据库文件包含若干个表(,.dbf,文件),表由表结构与若干个数据记录组成,表结构对应关
29、系模式。每个记录由若干个字段构成,字段对应关系模式的属性,字段的数据类型和取值范围对应属性的域。,一个关系模型的实际例子:学生,选课,课程关系模型。,65,1.4.3,关系的完整性约束*,关系完整性是为保证数据库中数据的正确性和相容性,对关系模型提出的某种约束条件或规则。完整性通常包括实体完整性、参照完整性和用户定义完整性(又称域完整性),其中实体完整性和参照完整性,是关系模型必须满足的完整性约束条件。,66,1,实体完整性,实体完整性是指关系的主关键字不能取“空值”。,一个关系对应现实世界中一个实体集。现实世界中的实体是可相互区分、识别的,也即它们应具有某种惟一性标识。在关系模式中,以主关键
30、字作惟一性标识,而主关键字中的属性(称为主属性)不能取空值,否则,表明关系模式中存在着不可标识的实体(因空值是“不确定”的),这与现实世界的实际情况相矛盾,这样的实体就不是一个完整实体。按实体完整性规则要求,主属性不能取空值,如主关键字是多个属性的组合,所有主属性均不得取空值。,67,2,参照完整性,参照完整性是定义建立关系之间联系的主关键字与外部关键字引用的约束条件。,关系数据库中通常都包含多个存在相互联系的关系,关系与关系之间的联系是通过公共属性来实现的。所谓公共属性,它是一个关系,R,(称为被参照关系或目标关系)的主关键字,同时又是另一关系,K,(称为参照关系)的外部关键字。如果参照关系
31、,K,中外部关键字的取值,要么与被参照关系,R,中某元组主关键字的值相同,要么取空值,那么,在这两个关系间建立关联的主关键字和外部关键字引用,符合参照完整性规则要求。如果参照关系,K,的外部关键字也是其主关键字,根据实体完整性要求,主关键字不得取空值,因此,参照关系,K,外部关键字的取值实际上只能取相应被参照关系,K,中已经存在的主关键字值。,68,3,用户定义完整性,实体完整性和参照完整性适用于任何关系型数据库系统,主要是对关系的主关键字和外部关键字取值必须有效做出的约束。用户定义完整性则是根据应用环境的要求和实际的需要,对某一具体应用所涉及的数据提出约束性条件。这一约束机制一般不应由应用程
32、序提供,而应由关系模型提供定义并检验。用户定义完整性主要包括字段有效性约束和记录有效性约束。,69,1.4.4,关系代数,1.,传统的集合运算:,(,1,)关系的并:,将关系,R,和,S,的所有元组合并,删除重复的元组。记为,R,S,(,2,)关系的差:,即关系,R,中删去与,S,相同的元组。记为,R,S,(,3,)关系的交:,取关系,R,和,S,中相同的元组组成的一个新关系。记为,R,S,70,运算举例:,71,2.,专门的关系运算,(,1,)选择,选择运算是从关系中查找符合指定条件元组的操作。以逻辑表达式指定选择条件,选择运算将选取使逻辑表达式为真的所有元组。选择运算的结果构成关系的一个子
33、集,是关系中的部分元组,其关系模式不变。,选择运算是从二维表格中选取若干行的操作,在表中则是选取若干个记录的操作。在,Visual FoxPro,中,可以通过命令子句,FOR,、,WHILE,和设置记录过滤器实现选择运算。,72,(,2,)投影,投影运算是从关系中选取若干个属性的操作。投影运算从关系中选取若干属性形成一个新的关系,其关系模式中属性个数比原关系少,或者排列顺序不同,同时也可能减少某些元组。因为排除了一些属性后,特别是排除了原关系中关键字属性后,所选属性可能有相同值,出现相同的元组,而关系中必须排除相同元组,从而有可能减少某些元组。,投影是从二维表格中选取若干列的操作,在表中则是选
34、取若干个字段。因,Visual FoxPro,允许表中有相同记录,如有必要,只能由用户删除相同记录。在,Visual FoxPro,中,通过命令子句,FILEDS,和设置字段过滤器,实现投影运算。,73,(,3,)联接,联接运算是将两个关系模式的若干属性拼接成一个新的关系模式的操作,对应的新关系中,包含满足联接条件的所有元组。联接过程是通过联接条件来控制的,联接条件中将出现两个关系中的公共属性名,或者具有相同语义、可比的属性。,联接是将两个二维表格中的若干列,按同名等值的条件拼接成一个新二维表格的操作。在表中则是将两个表的若干字段,按指定条件(通常是同名等值)拼接生成一个新的表。,在,Visu
35、al FoxPro,中,联接运算是通过,JOIN,命令和,SELECT SQL,命令来实现的。,74,1.5.1 Visual FoxPro,系统的发展,1995,年,6,月,,Microsoft,公司推出了,Visual FoxPro 3.0,版,接着又很快推出,Visual FoxPro 5.0,及其中文版,,1998,年发布了可视化编程语言集成包,Visual Studio 6.0,。本书介绍的,Visual FoxPro 6.0,(中文版)就是其中的一员。,VFP,是一种功能强大的数据库管理系统(,DBMS,)。,1.5 Visual FoxPro,系统简介,75,1.5.2 Visu
36、al FoxPro 6.0,的特点,1.,大大加强了查询与管理功能,Visual FoxPro,采用了目前先进的,Rushmore,快速查询技术,使,Visual FoxPro,能快速查询到所需记录,查询响应时间成指数倍减少,极大地提高了查询的效率。,Visual FoxPro,提供的项目管理器,可供用户对所开发项目中的数据、文档、源代码和类库等资源进行集中管理,提高了开发与维护效率。,76,2.,引入了数据库表的概念,从,dBASE,到,FoxPro,,每一个数据库文件(使用,.dbf,作扩展名)都是独立存在的。库文件之间的联系,只能在使用时由用户在编程中用命令来表达。,Visual Fox
37、Pro,改变了这一传统的做法,在定义库文件(在,Visual FoxPro,中改称为表)时,就将它们区分为属于某一数据库的“数据库表”(,Database Table,)和不属于任何数据库的“自由表”(,Free Table,)两大类。对所有的数据库表,在建表时就同时定义它与数据库内其他表之间的关系。这就使,Visual FoxPro,建立的库表更加符合数据库的实际,也方便了用户随后对这些表的引用。,77,3,扩充了对,SQL,语言的支持,SQL,语言是由,IBM,公司开发的关系数据库语言,其后成为关系数据库的标准语言,其查询语句不仅功能强大,而且使用灵活。在,Visual FoxPro 6.
38、0,中,,SQL,语言的命令已扩充到了,8,条,加强了,Visual FoxPro,语言的功能。,78,4,提供了多种可视化设计工具,Visual FoxPro 6.0,提供了向导(,Wizard,)、设计器(,Designer,)和生成器(,Builder,),3,类可视化设计工具,能帮助用户以简单的操作,快速完成各种查询和设计任务。,79,5,面向对象的程序设计,Visual FoxPro,一方面继续使用传统的面向过程的程序设计,另一方面还支持面向对象的程序设计。允许用户对“对象”(,Object,)和“类”(,Class,)进行定义,并编写相应的代码。由于,Visual FoxPro,预
39、先定义和提供了一批基类,用户可以在基类的基础上定义自己的类和子类,从而利用类的继承性。从而减少编程工作量,加快软件开发过程。,80,6,提供,OLE,功能,OLE,是,Object Linking and Embedding,(对象链接与嵌入)的缩写,是,Microsoft,公司开发的重要技术。通过这种技术,,Visual FoxPro,可与其他应用软件共享数据,实现应用集成。例如在不退出,Visual FoxPro,环境的情况下,用户就可在,Visual FoxPro,的表单(或窗体)中链接其他软件中的对象,直接对这些对象进行编辑。在通过必要的格式转换后,用户可以在,Visual FoxPr
40、o,与其他软件之间进行数据的传输。,Visual FoxPro 6.0,还能提供自动的,OLE,控制,用户借助于这种控制,甚至能通过,Visual FoxPro,的编程来运行其他软件,让它们完成诸如计算、绘图等功能,实现应用的集成。,81,7,支持网络应用,Visual FoxPro,既适用于单机环境,也适用于网络环境。,其网络功能主要包括:支持客户服务器结构,既可访问本地计算机,也支持对服务器的浏览。对于来自本地、远程或多个数据库表的异种数据,,Visual FoxPro,可支持用户通过本地或远程视图访问与使用,并在需要时更新表中的数据;在多用户环境中,,Visual FoxPro,还允许建立事务处理程序来控制对数据的共亭,包括支持用户共享数据,或限制部分用户访问某些数据等。,82,请同学们课后完成前三章作业!,(*部分不做要求),83,谢谢同学们!,