文档自动化系统设计_第1页
文档自动化系统设计_第2页
文档自动化系统设计_第3页
文档自动化系统设计_第4页
文档自动化系统设计_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、文档自动化系统设计第一章 文档一体化管理概述教学目的:通过本章学习,了解和掌握文件与档案的关系,以及如何实现文档一体化管理,为后面的文档自动化系统设计奠定基础。教学重点和难点:文档一体化管理流程学时:2学时教学内容:第一节 文档一体化一、文件与档案的关系文件是人类记录、传递和存储信息的一种工具。包括机关、团体、企事业单位在处理公务活动中形成与使用的机关文件和个人、家族使用的个人文件,也包括人们在生产活动、艺术创作等活动中形成的技术文件、文艺手稿和其他各种形式的记录材料。公文是指机关、部门、团体在处理公务活动的过程中,按特定体式形成与使用的,具有法定效用的文件。公文的处理一般说来都有及格相对固定

2、的程序,包括公文的接收、分送、传阅、加工、办理、监督检查、审核、签发、处置、归档等环节。档案是指过去和现在的党政机关、团体、企事业单位和个人在从事政治、经济、文化、军事、科学、教育、宗教等活动中直接形成的对国家和社会有保存价值的各种文字、图表、图形、声像等历史记录。档案源于文件,文件是档案的前身,档案是文件的归宿。文件质量的好坏直接关系到档案的质量和寿命。二、文档一体化的含义在实际工作中,文书和档案是属于两个部门分别管理,造成分块管理,使公文到档案的转化和衔接过程进行得并不顺利,这种人为的割断文件与档案之间的联系势必给今后的档案管理制造障碍和出现不必要的重复劳动,势必降低工作效率。第二节 文档

3、一体化系统文档一体化系统是采用计算机技术来实现的文书、档案一体化管理的系统。采用计算机技术,可以使文书、档案一体化管理的优越性得到最充分的体现。最大限度地实现信息资源共享,避免无谓的重复劳动,使实现办公自动化的一个重要环节。文档自动化系统设计的任务就是建立文档一体化相同的系统结构、程序结构、各类文档报表输入输出格式、用户界面、操作方式,确定功能模块之间的层次关系和调用关系,定义个功能模块间的数据接口,设计数据结构,规定约束或限制,进一步保证设计的可行性。思考题:1、文件和档案的概念及二者之间的关系。2、文档一体化系统的工作流程。第二章 数据库基础【教学目的】通过本章的学习,理解和掌握数据库的概

4、念、模型以及数据库设计的基础知识,为以后的学习奠定基础【教学重点】关系数据库【教学难点】数据库的概念、关系型数据库的设计【教学学时】4学时【教学内容】1.信息、数据和数据处理(1) 信息(Information)。信息是现实世界中各种事物的特征、形态和不同事物之间的联系在人类头脑中的抽象反映。换言之,信息是经过加工的有用数据。这种数据有时能产生决策性的影响。(2) 数据(Data)。数据是存储在某种媒体上的、能够被识别的物理符号。数据用型(存储在媒体上的数据形式)和值(描述数据特性的数据内容)来表征与记录事物。从广义上讲,数据是一切文字、符号、图形、图像、动画、影像、声音等元素的有意义的组合。

5、 数据是信息的载体,信息是数据的内涵。信息依赖数据来表达,数据则具体地表现信息。即“信息与数据是既紧密联系又相互区别的一对术语”。同一信息可以有不同的数据表示形式(例如,某种统计信息既可用表格表示,也可用直方图表示);而同一数据也可能有不同的解释(例如,同样是数据“1”与“0”,在计算机中它们有时被解释成一个二进制位,有时被解释为逻辑“真值”与“假值”)。(3) 数据处理(Data Processing)。数据处理是指对数据的收集、记载、整理、组织、存储、检索、计算加工、维护、传送等一系列活动的总和。其目的是从已知数据出发,参照各种相关数据,经过计算加工,得到新的数据。新的经过精炼的数据表示新

6、的信息,反映事物的本质和特征,以及事物间的内在联系,是有价值、有意义的数据,成为人们决策的依据。这一过程就叫做信息处理。由于信息是用数据表示的,所以信息处理具体地体现在数据处理中。通过处理数据可以获得信息,通过分析和筛选信息可以产生决策。2. 数据管理技术的发展 数据处理的中心问题是数据管理。数据管理包括对数据的收集、组织、编目、定位、存储、检索、统计和维护等。计算机数据管理技术的发展大体上经历了三个阶段:人工管理阶段、文件系统阶段、数据库系统阶段。(1)人工管理阶段。 20世纪50年代中期以前,计算机主要应用于科学计算。硬件方面,计算机的外存只有磁带、卡片和纸带等,没有磁盘。软件方面,只有汇

7、编语言,没有操作系统,没有数据管理的软件。当时的管理方式是:数据不保存在计算机中:在程序运行时输入数据,结构输出后数据与程序都不存入计算机。 没有专用的软件对数据进行管理:数据管理由人工操作,程序员除编写程序外还要组织数据。 数据不具有独立性:数据在存储上稍有改变,如增加、删除、修改数据,都必须修改程序。数据不能共享,冗余度大:程序与数据一一对应,即使两个程序使用统一组数据,也要各自输入,造成大量的重复数据。(2)文件系统阶段 20世纪50年代后期至60年代中期,硬件方面有了磁盘、磁鼓,软件方面出现了高级语言和操作系统。操作系统中的文件系统代替了人工管理数据,其特征如下。数据有专门的软件文件系

8、统管理:数据的变更由文件系统负责维护,不一定修改程序。数据具有一定的独立性,可长期保存:文件系统把数据组织成文件形式在磁盘上保存。数据共享性差、冗余度高:数据文件仍然与程序对应,同一组数据在多个文件中重复存储。 容易出现数据的不一致性:同一数据出现在多个文件中,修改时易造成同一数据在不同文件间的差异。数据间的联系弱:文件间缺乏联系,因而就不能反应显示世界中事物间的联系。(3) 数据库系统阶段。 该阶段始于20世纪60年代中后期。该阶段的特征如下。数据结构化:数据库中的文件相互联系,遵循一定的结构形式,通过文件间的联系,较好地反映了现实世界事物间的自然联系。数据充分共享:数据库中的数据不是面向某

9、个应用,而是面向所有用户的数据需求和整个应用系统,同一数据可供多个用户共享。 数据冗余度低:在数据库系统中,用户使用数据库中的数据。该数据以逻辑文件的形式提供给用户,同一数据物理上只存储一次,使用是被映射到不同的逻辑文件里,从而减少了冗余。 数据独立性高:数据独立性就是使数据与程序无关,数据存储方式的改变不影响应用程序。数据库的结构分三级:用户的逻辑结构、整体逻辑结构和物理结构。数据独立性分两级:物理数据独立性和逻辑数据独立性。数据库三级结构的转化过程是:数据库物理结构-(通过映射)-数据库的整体逻辑结构-(再次映射)-用户的逻辑结构 方便的用户接口:数据库管理系统作为用户与数据库的结构,提供

10、数据库的定义、运行、维护等功能。用户可使用查询语言或终端命令操作数据库,也可用程序方式操作数据库。用户1用户2用户N数据库管理系统(DBMS)数据库(DB)数据的统一管理:数据库系统可提供数据控制功能,包括数据库的回复,并发控制、数据安全性和数据完整性。此外,对数据的操作即可按记录进行,也可按数据项进行,增加了操作的灵活性。1.1.2 数据库系统1.数据库、数据库管理系统和数据库系统 (1)数据库(DB,DataBase)。数据库是以一定的格式存放在计算机存储设备上的、结构化的相关数据的集合。(2)数据库管理系统(DBMS,DataBase Management System)。DBMS是数据

11、管理的核心软件,是介于操作系统和用户之间的系统软件,用于对数据库中的数据实行专门管理,提供安全性和完整性等统一控制机制,方便用户以交互命令或程序方式对数据库进行操作,是用户与数据库的接口,提供数据库的定义、建立、检索、更新、维护及各种数据控制。按照所处理的数据模型,可将DBMS分为层次型、网状型、关系型和面向对象型数据库管理系统。(3)数据库应用系统(DBAS,Database Application System)。数据库应用系统是利用数据库资源开发出来的、面向某一类实际应用的软件系统。(4)数据库系统(DBS,Database System)。数据库系统是引进数据库技术后的计算机系统,实现

12、有组织、动态地存储大量相关数据,提供数据处理和信息资源共享的便利手段,方便多用户访问的计算机软件、硬件和数据资源的计算机系统。一个数据库系统通常由5部分组成,包括计算机硬件系统、数据库集合、相关软件、数据库管理系统、数据库管理员(DBA,Database Administrator)和用户。数据库应用系统数据库管理系统操作系统计算机硬件系统数据库最终用户数据库开发人员系统开发人员数据库管理员(5) 数据库技术。这是一门研究数据库的结构、存储、管理的软件学科。深入学习需要离散数学、数据结构、操作系统、软件工程等理论知识,所以是一门综合性较强的学科。(6) 数据库理论与技术研究的方向。当前数据库理

13、论与技术研究的主要方向是:数据仓库、演绎数据库系统、多媒体数据库、图形数据库系统和多数据库系统集成技术。2. 数据库系统的特点(1)实现数据共享。允许多用户同时存取、修改、删除、查询数据而不互相影响。 (2)实现数据独立。 组织数据库中的数据时面向全局,程序员编制程序时,只以简单的逻辑结构来操作数据,使得应用程序不随数据存储结构的改变而变动。(3)减少了数据的冗余度。 在数据库中,同一个数据在物理上只存储一次,使用时再把它映射到图同的逻辑文件里,有效地节省了存储资源。(4)避免了数据的不一致性。数据只有一个物理存储,对数据的访问、修改不会出现差异。 (5)加强了对数据的保护。数据库的保密机制,

14、可防止对数据的非法存取;进行集中控制有利于数据的完整性;采取并发访问控制保证了数据的正确性;实现了对数据库破坏后的恢复。1.1.3 数据模型数据模型(Data Model)是对客观事物及其关系的数据描述。数据模型不仅要表示存储了哪些数据,更重要的是用某种结构形式表示各种不同数据之间的联系。为了反映事物本身及事物之间的各种关系,数据库中的数据必须有一定的结构,这种结构用数据模型来表示。一个具体的数据模型应当正确地反映出数据之间存在的整体逻辑关系。1. 数据与数据间关系的描述(1) 现实世界。现实世界是客观存在的世界,事物及其相互关系是数据的发源地。 (2) 信息世界。信息世界指现实世界中的事物在

15、人类头脑中的抽象反映。实体(entity):实体是客观存在的可以相互区别的事物。实体型与实体值:实体用型(type)和值(value)来表征。型是概念的内涵,值是概念的实例。通常使用实体名和属性名的集合来描述实体型。实体值是实体的实例,是属性值的集合。属性(attribute):实体所具有的特征称为实体的属性。每个属性都有一个值域(domain),属性的取值类型和取值范围称为值域,取值类型可为数值型、字符型等等。属性也用型和值表征 。 实体集(entity set):具有相同性质的同类实体的集合称为实体集。实体标识符(identifier):能够唯一标识每个实体的属性或属性集的符号称为实体标识

16、符。(3) 机器世界。信息在机器世界中以数据形式存储,因此,机器世界又称数据世界。数据世界是信息世界中信息的数据化,现实世界中的事物及其相互关系在机器世界用数据模型描述。 2. 实体联系实体的联系有两种;一是实体内的联系,反映在数据上是同一记录中各字段间的联系;二是实体间的联系,反映在数据上是记录与记录间的联系。两个不同实体集的实体间有三种关系:一对一关系、一对多关系、多对多关系。(1)一对一关系(one to one relationship)(2)一对多关系(one to many relationship)(3)多对多关系(many to many relationship)3. 实体联

17、系模型对于数据常用的模型有两类,信息模型(又称概念数据模型)和结构数据模型。信息模型不涉及信息在计算机内的表示和处理等问题,纯粹用来描述信息的结构。矩形框:表示实体;菱形框:表示实体间的联系;椭圆形框:表示实体或实体间联系的属性;直线:用来连接上述三种图形。4. 结构数据模型 (1)层次模型(hierarchical model)。用树形结构表示实体及实体间联系的模型称为层次模型。树的节点是实体。节点间是一种上下级关系或称父子关系。树上有且仅有一个节点无父节点,称为根节点。其他节点均有且只有一个父节点。上下层实体是1:N关系。整个模型就像一棵倒立的树。按照层次模型的结构框架,填入具体数据就组成

18、层次数据库。层次数据库中与实体对应的部分称为记录。记录值之间的联系在模型的约束下依然保持树状形。层次模型有如下的特点。记录间的联系通过指针实现: 层次分明: 不能直接表示M:N关系: (2)网状模型(network model)。用网状结构的有向图表示实体及实体间联系的模型称为网状模型。有向图中的节点是实体,有向边(即箭头)表示从箭尾的实体到箭头的实体是1:N关系。网状模型的结构是节点的连通图。与层次模型相比,有向图中可能有多个节点无父节点,有些节点又可能有多个父节点。网状模型的特点是:实体间的联系通过指针实现,检索效率较高,表示多对多关系比较灵活。但这种灵活性是以数据结构复杂化为代价的。(3

19、)关系模型(relation model)。用二维表结构表示实体及实体间关系的模型称为关系模型。一个关系就是一张二维表;关系名对应表名,关系的属性名对应表中的栏目名,在数据库表中称为字段名;表中的一行对应一个实体,在数据库表中称为记录;表中的列对应实体的属性,在数据库表中称为字段。关系中的多条记录,描述了一个实体集。关系模型表示实体间的关系,是通过对属性的安排,及根据属性值的相等让实体自然地发生联系。这通常是关键字的作用。(4)面向对象模型面向对象数据库是面向对象概念与数据库技术相结合的产物。面向对象模型一方面对数据结构方面的关系结构进行了改良,另一方面对数据操作引入了对象操作的概念和手段,可

20、以比较完整地描述各种复杂的数据结构,具有丰富的表达能力 1.2 关系数据库1.2.1 关系模型1. 关系模型中常用的术语(1)字段(field):字段是信息世界中的“属性”、机器世界中的“数据项”,是可以命名的最小数据单位。字段也用型和值来表示。(2)记录(record):字段的有序集合称为记录。在关系模型中,记录又称元组;在信息世界中称为实体。记录也由型和值来描述:记录型是字段型的集合,记录值是字段值的集合。一般可用一个记录描述一个实体。(3)表(table):同一类记录的集合称为表。记录的型和值构成了关系数据库的基本单位,即表。表也分为型和值,表的型也称关系模式,或表结构,由一系列字段型组

21、成。表是描述实体集的,它对应于信息世界中的实体集。(4)关键字(key):能够唯一地确定表中每一条记录的字段或字段组合的部分称为关键字。有了关键字就可以方便地使用指定的记录。它对应于信息世界中的实体标识符。 (5)关系数据库:基于关系模型建立的数据库称为关系数据库。关系数据库通常是由若干个有着一定联系的表组成的。在关系数据库系统中,关系模式是相对稳定的,但其中的数据是可以不断变化的,因为系统中的数据需要不断更新。2. 关系的组成与特点(1)关系的组成。在Visual FoxPro中,表由表结构和表记录组成。如图1-6所示。图中最大的长方形所包含的部分是一个二维表。二维表中的栏目名加上平行四边形

22、中的内容是表的结构;二维表中去掉列名就是表的记录内容。图1-6的表中有6条记录,每条记录有5个字段。二维表的栏目名就是表结构中的字段名。平行四边形中的英文字母表示字段类型,数字表示字段宽度,对数值型字段除有字段宽度外,还在逗号后给出小数位数。(2)关系的特点。表中每一列元素是类型相同的数据;列不能重名,列的顺序可任意放置;行的顺序也可任意,表中任意两行不能完全相同(即没有重行);关系必须是规范化的。3. 关系模型的优点(1)建立在严格的数学概念基础之上。每个关系都用一张二维表格来描述,不仅字段、记录描述得很清楚,而且可用关系的性质来衡量关系。(2)关系规范化,数据的冗余度低。(3)概念简单,数

23、据结构简单、清晰,用户易懂易用。(4)存取路径对用户透明,数据的独立性高,安全保密性强。 1.2.2 关系运算1. 传统的集合运算 传统的集合运算主要包括集合的并、差和交运算。参加运算的两个关系具有相同的结构,即两个关系模式相同。(1)并。由关系A和关系B的所有元组构成的集合称为并,记为AUB。(2)差。由属于关系A而不属于关系B的所有元组构成的集合称为差,记为A-B。(3)交。由既属于关系A又属于关系B的所有元组构成的集合称为交,记为AB。2. 专门的关系运算 关系数据库中专门的关系运算又称关系操作,主要包括选择、投影、连接和自然连接运算。(1)选择(selection)运算:选择运算是对一

24、个关系的元组,即数据表的记录进行选择,把符合某个条件的所有记录选择出来,并重新构建一个原表的子表。(2)投影(projection)运算:投影运算是对一个关系的属性,即数据表的字段进行选择,并按要求重新安排字段的次序,构建一个原表的子表,其属性个数可小于或等于原表。(3)联接(join)运算:联接运算是从两个关系中选择符合一定条件的若干元组和记录,形成一个新的关系,即重新构建一个由原来两个表的属性组成的子表。联接条件中应该出现两个关系中都具有的语义相同或可比的属性,联接的结果是符合条件的所有元组。如果要联接两个以上的关系,则需两两地进行。如若要连接三个关系,应先联接两个关系,再把生成的子表与第

25、三个表联接。(4)自然联接:在联接运算中,按照属性值对应相等为条件进行的等值联接称为自然联接。自然联接是最常用的联接运算,是去掉重复属性的等值联接。1.2.3 关系的设计1. 概述关系数据库的设计人员通常首先用ER图或面向对象的模型设计出关系模式,再把关系模式转换成关系模型。即设计与建立数据库关系模式的过程是:设计思想ER设计关系模式。面对一个实际应用问题,到底构造一个什么样的关系模式是最佳的?标准是什么?如何实现?是关系模式设计时必须解决的问题。对关系模式的设计包括不同类型、不同单位、不同级别的数据定义;各种数据完整性约束(即数据之间的联系),数据取值的各种限制,各种数据操作所带来的影响等。

26、2. 关系模式的设计 设计关系模式要解决以下几个问题。(1)数据冗余(Data Redundancy)。数据冗余指相同的信息在多个元组中重复。 (2)更新异常(Update Anomaly)。数据冗余度高,必然导致修改麻烦。会造成数据不一致的错误。 (3)插入异常(Insert Anomaly)。在某段时间里,数据库中的某些属性可能没有值。(4)删除异常(Deletion Anomaly)。删除异常是指删除操作导致一些有用信息的丢失。这里有两点需要说明。第一,规范化关系只能减少冗余,而不是消除冗余。第二,关系规范化的级别越高约束条件就越严格,关系规范化有五个级别,分别称为第一范式、第二范式、第

27、五范式。规范化级别越高数据冗余和更新错误就相对越少,但同时也会增加各个关系间相互联系的额外处理及时间开销。所以规范化的基本原则是:由低向高,逐步规范,权衡利弊,适可而止。通常以第三范式为基本要求,并满足实际问题的需要。1.3 Visual Foxpro 系统概述1. 严格区分了“数据库文件”和“表文件” 2. 增强的查询与数据库管理功能 3. 提高了应用程序的开发效率 4. 支持面向对象的程序设计 5. 利用OLE技术实现应用集成 6. 支持网络应用1.4 visual Foxpro 的用户界面1. VFP 6.0的启动 2. Visual FoxPro 6.0的退出3.VFP的主界面VFP有

28、两种工作方式:交互式操作方式和程序操作方式。前者又分为命令操作方式和菜单操作方式。1. 交互式操作方式所谓交互操作方式指用户每发一个命令或选择一项菜单,计算机系统立即执行,并将结果在主窗口工作区返回给用户。(1)命令操作方式。命令操作方式指在命令窗口输入一个命令后,按Enter键,计算机系统立即执行该命令并输出结果。命令操作的优点是能够直接使用系统的各种命令和函数,有效地操纵数据库。但需要熟练掌握命令和函数的格式和功能。(2)菜单操作方式。菜单是实现人机对话的工具。VFP 6.0将若干命令做成菜单,用户可以通过菜单系统的选择或点击工具栏中的按钮来操作数据库。能够不必记忆命令的具体格式及功能,就

29、可完成对数据库的操作和管理。所以,初学者通常从菜单工作方式入手。2. 程序操作方式程序操作方式指利用各种生成器自动生成程序或将命令、语句编写为程序(命令文件),通过运行程序达到操作数据库的目的。第三章 Visual FoxPro集成环境【教学目的】通过本章的学习,理解和掌握VFP的数据类型、变量、常量、运算符和常用函数的概念和使用方法【教学重点】VFP的数据类型和常用函数【教学难点】常用函数的使用方法【教学学时】6学时【教学内容】3.1 Visual Foxpro 的数据类型VFP中的数据按其构造、基本特性、用途和运算方法等分为不同的类型,数据类型决定了数据的存储方式和运算方式。常用的数据类型

30、有如下11种:1.字符型(Character,C)字符型数据包括中、英文字符、数字字符和其他可显示的ASCII字符,其长度(即字符个数)范围是0254个字符。2.数值型(Numeric,N)数值型数据用来表示数量,由阿拉伯数字、小数点和正负号组成。数值型数据的长度为120位,包含整数、小数点和小数位数。在Visual FoxPro中,具有数值特征的数据类型还有整型(Integer,I)、浮点型(Float,F)和双精度型(Double,B),这3种数据类型只能用于字段变量。 3. 货币型(Currency,Y)货币型数据用来存储货币值,默认保留4位小数,存储空间占据8个字节。4.日期型(Dat

31、e,D)日期型数据用来表示日期,其存储格式为“YYYYMMDD”,占8个字节。日期型数据的显示格式有多种,受SET DATE、SET MARK、SET CENTURY等命令的影响。5.日期时间型(Date Time,T)日期时间型数据用来表示日期和时间,其存储格式为“YYYYMMDDHHMMSS”,占8个字节。其日期部分格式受受SET DATE、SET MARK、SET CENTURY等命令的影响,时间部分格式受SET HOURS、SET SECONDS命令影响。6. 逻辑型(Logic,L)逻辑型数据用来表示逻辑判断的结果,只有真(.t.或.y.)和假(.f.或.n.)两个值,长度固定为1位

32、。 7.备注型(Memo,M)备注型数据用于存放数据块,其长度固定为4个字节,用于存储指向备注文件中相应内容的记录指针;备注型字段本身的内容没有长度限制,该字段的数据存放在与表文件同名的备注文件(.fpt)中。8. 通用型(General,G) 通用型数据用来存储OLE(对象链接与嵌入)对象,其长度固定为4个字节,通用型数据中的OLE对象可以是电子表格、文档、图形、声音等。备注型字段本身的内容没有长度限制,该字段的数据存放在与表文件同名的备注文件(.fpt)中。3.2 Visual Foxpro 的常量与变量3.2.1 常量常量用来表示一个具体的、不变的数据量。不同类型的常量用不同的书写形式区

33、分。VFP中常量包括字符型、数值型、日期型、日期时间型、逻辑型、货币型等6种数据类型。 字符常量字符型常量也称字符串,它是由定界符括起来的一串字符。VFP中字符型数据的定界符包括半角的双引号()、单引号()和方括号( )三种。如FoxPro、FoxPro和FoxPro都表示同一个字符串。这三种定界符的作用相同,使用时必须成对使用,不能交叉使用。如果某一种定界符是字符型常量中的普通字符,应选择另一种定界符,如am a student,或Iam a student。不包含任何字符的字符串()称为空串。2. 数值型常量数值型常量由09共10个数字、小数点、正负号组成。其表示形式可以是整数如123、小

34、数如123.35、负数如-123.45;还可以用科学计数法表示,如1.234E-5表示1.23410-5。 3. 日期型常量日期型常量用来表示日期,年、月、日之间的分隔符可以使用(/)、(.)、(-)和空格。日期型常量的格式分为严格格式和传统格式两种。(1)严格日期格式:YYYY-MM-DD,该格式以字符()开头, 严格规定年月日顺序,表达一个确切的日期,它的表示形式不受SET DATE TO命令的影响,如2003-12-23。(2) 传统的日期格式:系统默认的传统日期格式是美国日期格式mm/dd/yy,年份可以是4位或2位数字,如12/23/03、12/23/2003等。(3) 与日期型常量

35、书写格式相关的函数日期格式的检查函数【语法格式】SET STRICTDATE TO 0|1|2【说明】0:表示不进行严格检查,可使用各种格式。1:表示进行严格检查,不能使用传统格式,是系统的默认设置。2:表示进行严格检查,但是对CTOD()、DTOC()函数格式有效。日期格式的分隔符设置命令【语法格式】SET MARK TO 日期分隔符【说明】用于设置显示日期数据时使用的分隔符,默认分隔符为/。 日期格式的日期顺序设置命令【语法格式】SET DATE TO MDY | DMY | YMD【说明】设置日期顺序格式。对于传统格式和CTOD()函数,在输入日期时,要求输入年月日的顺序与该命令的设置一

36、致。日期格式年份表示位数设置命令【语法格式】SET CENTURY ON | OFF【说明】当选项为ON时,年份显示4位数,否则显示2位数。4.日期时间型常量日期时间型常量用来表示日期和时间。日期部分与日期型常量类似,包括严格和传统两种格式。其严格格式为:YYYY-MM-DD,HH:MM:SSA|P。5.逻辑型常量 逻辑型常量用来表示逻辑值。逻辑常量只有真和假两种值,用.T.(或.t.)、.Y.(或.y.)表示真,用.F.(或.f.)、.N.(或.n.)表示假。但主窗口只显示.T.或.F.。 6.货币型常量货币常量用来表示货币。货币型常量以$符号开头,最多只能保留4位小数,若小数部分超过4位,

37、自动四舍五入。可以和数值型数据进行运算。结果仍为货币型。3.2.2变量在命令操作或程序执行过程中,其值可以改变的量称为变量。VFP的变量主要有字段变量和内存变量两种。变量包含三个要素:变量名、变量的数据类型和变量值。无论哪种变量都必须有一个用来标识它的名称,称为变量名。1.字段变量字段变量对应于数据表中的字段,数据表中的每一列称为字段,以字段名标识。字段名的命名规则如下:字段名以字母或汉字开头,由汉字、字母、数字和下划线组成,对于字母不区分大小写;在自由表中,字段名长度不超过10个字节;数据库表中的字段名长度不超过128个字符。字段名应避免与VFP系统的保留字相同。所谓保留字是指VFP系统中的

38、命令名、标准函数名等。字段变量存在于数据表中,随着数据表的打开生效;随着数据表的关闭而释放。字段的值随记录指针的移动变化。2.内存变量内存变量独立于数据表文件,存储于内存中。通常用来保存执行命令或程序运行的中间结果,可以随时定义和释放。内存变量的命名规则如下:内存变量名以字母、汉字、下划线开始,由字母、汉字、下划线和数字组成,字母不区分大小写;变量名不超过128个字符。当内存变量与当前打开的数据表中的字段变量同名时,字段变量被优先使用。当内存变量与字段变量同名时,若要引用内存变量,则需在内存变量名前加M-或M.。VFP中的内存变量又可为系统内存变量和用户定义的内存变量。用户定义的内存变量的数据

39、类型可以有C、N、D、T、Y、L等6种。 (1) 内存变量的赋值【语法格式1】=【功能】 计算表达式的值,并将结果赋于内存变量。格式1只能给一个变量赋值。【说明】 ”=”: 赋值号,它的左边只能是内存变量名; 表达式 :由常量、变量、函数和运算符组成。 内存变量的值及类型在赋值时定义,同一个内存变量可多次赋值,它的值和类型取决于最后一次所赋的值。【语法格式2】 STROE TO 【功能】 计算表达式的值并将同一个结果赋给一个或多个变量。【说明】 该命令可以一次给多个变量赋予相同的值。当中有多个变量名时,变量之间用逗号隔开。(2)显示内存变量的值【语法格式】?|? 【说明】?命令先输出一个换行,

40、再输出指定内存变量的值;?命令则不输出换行直接输出指定内存变量的值(3) 保存内存变量【语法格式】 SAVE TO | TO MEMO ALL LIKE ALL EXCEPT 【功能】将当前内存中的内存变量保存到指定的内存变量文件或备注字段中. (4) 内存变量的恢复【语法格式】 RESTORE FROM |FROM MEMO |ADDITIVE【功能】 将保存在内存变量文件或备注字段中的内存变量恢复到内存。其默认的内存变量文件的扩展名为.mem。 (5) 内存变量的清除【语法格式1】 CLEAR ALL【语法格式2】 CLEAR MEMORY【语法格式3】 RELEASE | ALL EXT

41、ENDED |ALL LIKE | EXCEPT 3.3 运算符与表达式表达式是VFP中重要的语法成份,在VFP中,表达式是由常量、变量、函数、运算符和圆括号组成的表示数据之间运算关系的式子。VFP的表达式包括字符型表达式、数值型表达式、日期型表达式、关系型表达式和逻辑型表达式等5种。3.3.1 数值运算符及数值表达式1.数值表达式数值表达式是由数值型常量、数值型变量、数值型函数和算术运算符组成的式子。参与运算的数据必须是数值型。运算结果仍为数值型。2.数值运算符算术运算符包括乘方“ ”或“*”、乘“*”、除“/”、取模或求余数“%”、加“”、减“”。3.3.2 字符串运算符及字符表达式1.字

42、符型表达式字符型表达式是由字符型常量、字符型变量、返回字符型数据的函数和字符运算符组成的表达式。 2.运算符字符运算符主要有两类:连接运算符(、)和包含运算符($),它们被分别用来进行连接运算和包含运算。(1)连接运算符+和-运算符“”将两个字符串按它们在原字符串中的顺序首尾相接;运算符“”号将两个字符串中除左边字符串尾部空格以外的字符首尾相接,然后将左边字符串中的尾部空格移至结果字符串的尾部。连接运算的结果仍为字符型。(2)包含运算【语法格式】$【功能】 比较两个字符表达式,如果字符型表达式1包含在字符表达式2中,即字符型表达式1是字符型表达式2的子字符串,则运算结果为真(.T.),否则为假

43、(.F.)。3.3.3 日期型日期时间运算符及日期型日期时间表达式1. 日期型日期时间型表达式日期型和日期时间型表达式允许日期型、日期时间型数据或数值型数据参与运算,运算结果为日期型、日期时间型或数值型。2. 日期型与日期时间型运算符日期或日期时间的运算符有“”和“”两种。日期或日期时间型表达式主要包括如下几种形式:【语法格式1】+【语法格式2】-【语法格式3】-【说明】格式1运算结果的数据类型是日期或日期时间型,意为若干天或若干秒后的日期或时间;格式2运算结果的数据类型是日期或日期时间型,意为若干天或若干秒前的日期或时间;格式3运算结果的数据类型是数值型,意为两个指定的日期或时间之间的天数或

44、秒数。3.3.4 关系型运算符及关系运表达式 1. 关系型表达式关系表达式的一般形式:关系运算符用来比较两个表达式,运算结果为逻辑值。 2.关系运算符关系运算符包括: (大于)、=(大于或等于)、 (小于)、=(小于或等于)、或 #或 !=(不等于)、=(等于)、 =(全等于)。它们具有相同的优先级。1. 关系型表达式关系表达式的一般形式:关系运算符用来比较两个表达式,运算结果为逻辑值。 2.关系运算符关系运算符包括: (大于)、=(大于或等于)、 (小于)、=(小于或等于)、或 #或 !=(不等于)、=(等于)、 =(全等于)。它们具有相同的优先级。其中:运算符=和$仅适用于字符型数据,其他

45、运算符适用于任何数据类型,但是参与运算的两个表达式必须具有相同的数据类型。进行比较运算时,数值型数据按数值大小进行比较;日期型数据按年月日顺序进行比较,越早的日期或时间越小,越晚的日期或时间越大;字符型数据按字符的ASCII码或汉字机内码进行比较;逻辑型数据比较时,.T.比.F.大。3. 设置字符的排序序列【语法格式】SET COLLATE TO machine | pinyin | stroke machine (机器) :字符按机内码排序,字母按ASCII码排序,空格在最前面、大写字母在小写字母后面;对于一级汉字机内码与PinYin的顺序相同。Pinyin (拼音):按拼音排序。小写字母在

46、大写字母前面。Stroke (笔画):对于汉字按笔画数进行比较。4. 字符串比较与EXACT 设置运算符对字符串进行精确比较,只有两个字符串完全相同时,运算结果为真,否则为假;而运算符对两个字符串比较时,运算结果与 SET EXACT ON | OFF 的设置有关:处于OFF 状态时,如果右边的字符串与左边字符串的前面部分内容相同时,结果为真;处于ON 状态时,先在短字符串的后面加空格,使两个比较的字符串长度相同,再进行比较,直到两个字符串全部比较完毕。默认设置是OFF 状态。3.3.5 逻辑型运算符及逻辑表达式1. 逻辑型表达式逻辑型表达式是由逻辑常量、逻辑变量、返回逻辑值的函数、关系表达式

47、和逻辑运算符组成的式子。运算结果为逻辑值。2. 逻辑运算符逻辑运算符有NOT或!(逻辑非)、AND(逻辑与)、OR(逻辑或)三种。运算顺序: 逻辑非逻辑与逻辑或3. 运算符的优先级当不同类型的运算符出现在同一个表达式中时,它们的优先顺序如下:(1) 字符型表达式、数值型表达式、日期型表达式、日期时间型表达式具有相同的优级,且它们的优先级最高。(2) 关系型表达式的优先级低于(1)中所述的各优先级,但高于逻辑型表达式。(3) 逻辑型表达式的优先级最低。3.4 Visual Foxpro 的常用函数函数是VFP的重要组成部分。VFP向用户提供了近300个标准函数(也称内置函数)。有时为达到用户的特

48、定环境或特定目的,还需要具有特定功能的函数。VFP允许用户编制自己定义的函数,称为自定义函数。 1. 函数调用的一般格式为 (参数1,参数2) 每个函数运算后都会返回一个值,称为函数值。函数名参数(也称自变量)和函数值是函数的三个要素。 2. 函数的数据类型函数的类型指函数返回值的数据类型。在表达式中调用函数时必须了解函数值的类型,以免发生数据类型不一致的错误。 3.4.1 数值处理函数1.绝对值函数【语法格式】ABS()【功能】 ABS()返回指定的数值表达式的绝对值。2.符号函数【语法格式】 SIGN()【功能】 SIGN() 返回数值表达式的符号,当数值表达式的值为正、负、0时,返回值分

49、别为1、1、0。函数值为数值型。3. 取整函数【语法格式】INT(数值表达式)【语法格式】CEILING()【语法格式3】 FLOOR()【功能】 INT()返回指定数值表达式的整数部分;CEILING() 返回大于或等于指定数值表达式的最小整数;FLOOR()返回小于或等于指定表达式的最大整数。4.求平方根函数【语法格式】SQRT()【功能】 返回指定数值表达式的平方根。自变量不能为负。5.四舍五入函数【语法格式】 ROUND(,)【功能】返回数值表达式1在数值表达式2指明指定四舍五入位置的结果。若数值表达式2大于等于0,表示的要保留的小数位;若数值表达式小于0,表示对整数部分的舍入位数。6

50、.求余数函数【语法格式】 MOD(,)【功能】 返回数值表达式相除后的余数。数值表达式1是被除数,数值表达式2是 除数。【说明】 如果数值表达式1和数值表达式2符号相同,那么函数值(余数)的符号和它们相同。 如果两个数值表达式异号,则函数值为两个数值表达式相除的余数(符号和被除数相同)再加上除数。7.求最大值和最小值【语法格式】MAX(,)【语法格式2】MIN(,)【功能】 MAX()计算各自变量表达式的值,返回其中的最大值;MIN()计算各自变量表达式的值,返回其中的最小值。【说明】 各自变量表达式的类型要一致。自变量表达式可以是数值型、日期型、日期时间型、货币型、字符型等。3.4.2 字符

51、处理函数1. 取子串函数【语法格式1】LEFT(,)【语法格式2】RIGHT(,)【语法格式3】SUBSTR(,)【功能】 LEFT()从指定表达式的左端取一个指定长度的子串作为函数值。RIGHT()从指定表达式的右端取一个指定长度的子串作为函数值。SUBSTR()从指定表达式的指定起始位置取指定长度的子串作为函数值。【说明】 在SUBSTR()函数中,缺省第三个自变量,则函数从起始位置一直取到最后一个字符。 以上三个函数的返回值都是字符型。2.求字符串长度函数【语法格式】 LEN()【功能】 返回指定字符串的长度。返回值为数值型。3.空格字符串生成函数【语法格式】 SPACE()【功能】返回

52、值为数值表达式指定个数的空格字符串。【说明】空格与空字符串是两种不同的字符。4.删除前后空格函数【语法格式】TRIM()【语法格式】LTRIM()【语法格式】ALLTRIM()【功能】TRIM() 返回指定字符表达式值去掉尾部空格后形成的字符串。 LTRIM()返回指定字符表达式值去掉前导空格后形成的字符串。 ALLTRIM() 返回指定字符表达式值去掉前导和尾部空格后形成的字符串。5.求子串位置函数【语法格式1】 AT(,)【语法格式1】 ATC(,)【功能】 返回字符表达式1在字符表达式2中的位置。【说明】 如果字符表达式1是字符表达式2的子字符串,则返回字符表达式1的首字符在表达式中的位

53、置,否则返回为0;数值表达式用于表明要在字符表达式2中搜索字符表达式1的第几次出现,默认为1。ATC()与AT()的功能类似,但在子串比较时,不区分字母的大小写。6.大小写转换函数【语法格式1】 LOWER()【语法格式2】 UPPER() 【功能】LOWER() 将指定字符表达式中的大写字母转换为小写字母,其它字符不变。 UPPER() 将指定字符表达式中的小写字母转换为大写字母,其它字符不变。7.子串替换函数【语法格式】 STUFF(,)【功能】用字符表达式2替换字符表达式1中由起始位置和长度指明的一串字符。【说明】替换和被替换的字符个数不一定相等,如果长度为0,字符表达式2插在起始位置指定的字符的前面;如果表达式2空串,表达式1中由起始位置和长度指明的子串被删除。8.计算子串出现次数函数【语法格式】 OCCURS(,)【功能】 返回字符表达式1在字符表达式2中出现的次数,函数值为数值型。若字符表达式1不是字符表达式2的子串,函数值为03.4.3 日期和时间函数1.系统日期和时间函数【语法格式1】 DATE()【语法格式2】 TIME()【语法格式3】 DATETIME()【功能】DATE()返回当前系统日期,函数值为日期型。 TIME()以24小时制,hh:mm:ss格式返回当前系统时间。函数值为字符型。 DATETIME()返回当前系

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论