《数据库应用基础》PPT课件.ppt

上传人:牧羊曲112 文档编号:5519518 上传时间:2023-07-16 格式:PPT 页数:101 大小:933KB
返回 下载 相关 举报
《数据库应用基础》PPT课件.ppt_第1页
第1页 / 共101页
《数据库应用基础》PPT课件.ppt_第2页
第2页 / 共101页
《数据库应用基础》PPT课件.ppt_第3页
第3页 / 共101页
《数据库应用基础》PPT课件.ppt_第4页
第4页 / 共101页
《数据库应用基础》PPT课件.ppt_第5页
第5页 / 共101页
点击查看更多>>
资源描述

《《数据库应用基础》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《数据库应用基础》PPT课件.ppt(101页珍藏版)》请在三一办公上搜索。

1、数据库应用程序设计,http:/,一、数据库基本理论,1.1数据库的基本概念数据库技术涉及到许多基本概念,主要包括:数据、数据处理、数据库、数据库管理系统以及数据库系统等。数据:数据是指存储在某一种媒体上能够识别的物理符号。数据处理:数据处理是指对各种形式的数据进行收集、存储、加工和传播的一系列活动的总和。,一、数据库基本理论,数据处理技术的发展大致经历了以下三个阶段:(1)人工管理阶段(2)文件系统管理阶段(3)数据库系统管理阶段:分布式数据库系统 面向对象数据库系统,一、数据库基本理论,数据库:数据库可以直观地理解为存放数据的仓库。数据库管理系统:数据库管理系统(DataBase Mana

2、gement System,简称DBMS)是位于用户与操作系统之间的,用于管理数据的计算机软件,它的职能是有效地组织和存储数据、获取和管理数据,接受和完成用户提出的访问数据的各种请求。数据库系统:数据库系统是指拥有数据库技术支持的计算机系统。,一、数据库基本理论,与文件系统比较,数据库系统管理具有以下特点:1、数据的结构化 在文件系统中,数据在整体上是没有结构的;数据库系统则不同,在同一数据库中的数据文件是有联系的,且在整体上服从一定的结构形式。2、数据共享 共享是数据库系统的目的,也是他的重要特点。一个库中的数据不仅可为同一企业或机构之内的各个部门所共享,也可为不同单位、地域甚至不同国家的用

3、户所共享。而在文件系统中,数据一般是由特定的用户所专用的。,一、数据库基本理论,3、数据独立性 在文件系统中,数据和应用程序相互依赖,一方的改变总是要影响另一方的改变。数据库系统则力求减小这种相互依赖,实现数据的独立性。4、可控冗余度 数据专用时,每个用户拥有并使用自己的数据,难免有许多数据相互重复,这就是冗余。实现共享后,不必要的重复将全部消除,但为了提高查询效率,有时也保留少量重复数据,其冗余度是可调节的。,1.2数据模型,数据库,非关系型,关系型,层次型数据库,网状数据库,关系数据库,1.2数据模型,1 E-R模型E-R模型的三要素是:实体、属性和联系。在E-R图中用矩形表示实体集,椭圆

4、表示属性集,用菱形表示联系。2层次模型 层次模型表示数据间的从属关系结构,是一种以记录某一事物的类型为根结点的有向树结构。层次模型象一棵倒置的树,根结点在上,层次最高;子结点在下,逐层排列。,1.2数据模型,3网状模型 网状模型是层次模型的扩展,表示多个从属关系的层次结构,呈现一种交叉关系的网络结构。网状模型可以表示较复杂的数据结构,即可以表示数据间的纵向关系与横向关系。这种数据模型在概念上、结构上都比较复杂,操作上也有很多不便。4关系模型用二维表格作为基本的数据结构,通过公共的关键字段来实现不同二维表之间(或“关系”之间)的数据联系。,1.2数据模型,一般情况下,同一个数据库中的相关联的表间

5、关系有一对一、一对多、多对一和多对多关系。,1.3 关系数据库基础知识,1.3.1 关系术语关系是建立在数学集合概念基础上,由行和列的二维表组成。关系指一个二维表,在VF中一个关系就称为一个数据表。元组指表中一行上的所有数据,在VF中一行称为一个记录。属性指表中的一列,在VF中一列称为一个字段。域指表中的取值范围。在VF中,字段的取值范围称为一个字段的宽度。关键字是指表中具有惟一标识的属性,在VF中具有惟一取值的字段称为关键字段。关系模式是对关系的描述,一个关系模式对应一个关系的结构。,1.3.2 关系运算,关系运算有两种:一种是传统的集合运算(并、差、交、广义笛卡尔积等);另一种是专门的关系

6、运算(选择、投影、连接)。传统的集合运算(并、差、交、广义笛卡尔积)不仅涉及关系的水平方向(即二维表的行),而且涉及关系的垂直方向(即二维表的列)。,1.3.2 关系运算,关系运算的操作对象是关系,运算的结果仍为关系。(1)选择选择运算即在关系中选择满足某些条件的元组。也就是说,选择运算是在二维表中选择满足指定条件的行。(2)投影投影运算是在关系中选择某些属性列。(3)连接连接运算是从两个关系的笛卡尔积中选取属性间满足一定条件的元组,即是对两个关系通过共同的属性名(字段名)进行投影操作来连接生成一个新的关系。,二.Visual FoxPro 6.0系统概述,启动和退出Visual FoxPro

7、 6.0,2.1,启动Visual FoxPro 6.0,1,退出Visual FoxPro 6.0,3,2.2 设置工作环境,设置Visual FoxPro 6.0的工作环境可以采用两种方式:临时设置和永久设置,临时设置,永久设置,Visual FoxPro 6.0通常使用以下几种方法设置系统工作环境:,2.2 设置工作环境,2.2.2 使用SET命令,在Visual FoxPro 6.0中,可以使用SET命令设置临时系统工作环境。SET命令通常在程序中使用,也可以在命令窗口中执行。,表2-1 常用的SET命令,2.3 Visual FoxPro 6.0的工作方式,程序方式,命令方式,菜单方

8、式,Visual FoxPro 6.0提供了三种工作方式:,三.项目管理器,项目管理器是组织数据和对象的可视化操作工具。在使用Visual FoxPro时会创建种类繁多的各种文件,因此就需要专门的可视化管理工具来管理以提高工作效率。,认识与创建项目管理器,项目管理器包含有“全部”、“数据”、“文档”、“类”、“代码”和“其他”六个选项卡。各选项卡的具体含义如下:“全部”选项卡:用于显示和管理项目管理器能够显示和管理的所有类型的文件,其中包括数据、文档、类库、代码和其他。“数据”选项卡:用于显示和管理数据库、自由表和查询三种类型文件。“文档”选项卡:用于显示和管理表单、报表和标签三种类型文件。“

9、类”选项卡:用于显示和管理所有的类库文件。“代码”选项卡:用于显示和管理程序文件。“其他”选项卡:用于显示和管理菜单和文本文件。,命令方式,菜单方式,Visual FoxPro提供了两种方式创建项目:,四.Visual FoxPro的数据基础,4.1 数据类型 为了方便用户建立和使用数据库,VF系统提供了多种数据类型。VF中的数据类型包括:字符型、数值型、日期型、日期时间型、逻辑型、备注型、通用型,Visual FoxPro的常量与变量,数据可用常量、变量、数组来表示,常量包括:数值型常量、字符型常量、逻辑型常量、浮点型常量、日期型常量、日期时间型常量,常量的定义:常量是在数据处理过程中其值保

10、持不变的数据,可以在数据输入或命令表达式中直接被引用,常量,Visual FoxPro的常量与变量,变量包括:内存变量、数组变量、字段变量和系统变量,变量的定义:变量是一种在命令操作和程序运行中其值或数据类型都可以发生改变的数据项。每一个变量都是用来存放数值的容器,变量,1.内存变量,内存变量是数据库结构之外独立存在于内存中的临时存储变量。(1)内存变量的数据类型 内存变量的数据类型包括:数值型、字符型、逻辑型、日期型和日期时间型,1.内存变量,(2)内存变量的建立 建立内存变量就是给内存变量赋值。内存变量赋值既可定义一个新的内存变量,也可改变已定义内存变量的值或数据类型。命令格式:STORE

11、 TO 命令功能:计算的值并赋值给各个内存变量。命令格式:=命令功能:计算的值并赋值给指定内存变量。,2.字段变量,字段变量即数据表中的字段,它是建立数据表时定义的一类变量。字段名就是变量名;变量的数据类型为VFP中任意数据类型,字段值就是变量值。,3.数组变量,数组变量是由一组有序排列的内存变量组成。数组中的每一个变量都称为一个数组元素。在VFP中,数组可分为一维数组和二维数组。定义数组的命令:DIMENSION,,4.系统变量,系统内存变量是VFP自动生成和维护的变量,用于控制VFP的输出和显示格式。变量的显示可通过命令:DISPLAY MEMORY注:在显示过程中,可按下ESC键停止翻屏

12、显示。,Visual FoxPro的数据基础,4.2 表达式表达式是由常量、变量、函数和运算符按照不同的物理含义组成的式子。,表达式,关系表达式,字符表达式,日期表达式,日期时间表达式,算术表达式,逻辑表达式,Visual FoxPro的数据基础,4.2.1 算术运算表达式算术运算表达式:由参加运算的数值型对象和算术运算符构成。算术运算符及优先级(由高到低)为:分组括号:()乘方:*或 乘、除:*、/、%(取模)加、减:+、-,Visual FoxPro的数据基础,4.2.2 字符运算表达式字符运算表达式:是由字符型数据和字符运算符构成的表达式,运算结果为字符型。运算符有:+:将两个字符串原样

13、连接成一新串。-:将运算符左边的字符串的尾部空格移到新串的后面。如:?“四川”+“雅安”结果为:四川 雅安?“四川”-“雅安”结果为:四川雅安,Visual FoxPro的数据基础,4.2.3 关系运算表达式关系运算表达式:是由关系运算符和运算对象构成的表达式,运算结果为逻辑值。参加运算的对象可以是多种类型的数据,但运算符两边的数据类型必须一致。关系运算符:、=、=、=、#!=、$,Visual FoxPro的数据基础,说明:1、关系运算符用于对两个数据的大小进行比较,如果运算符两边是表达式则“先计算,后比较”。2、比较字符串大小时,从第一个字符开始对其ASCII码进行比较,若相同,再比较第二

14、个字符,直到区分出大小为止。3、也可比较日期型数据。,Visual FoxPro的数据基础,4.2.4 逻辑运算表达式逻辑运算表达式:由逻辑型数据和逻辑运算符构成。逻辑运算符及优先级(由高到低)为:非运算(.NOT.)与运算(.AND.)或运算(.OR.)说明:逻辑表达式运算的结果是逻辑值真(.T.)或假(.F.)一般格式为:,Visual FoxPro的数据基础,例:,4.3 Visual FoxPro的函数,函数的定义:函数是一段程序代码,用来进行一些特定的运算或操作,支持和完善命令的功能,帮助用户完成各种操作与管理。函数的组成:函数由函数名与自变量两部分组成。,4.3 Visual Fo

15、xPro的函数,自定义函数:自定义函数是用户自已定义的函数,函数名由用户指定。,标准函数:标准函数是Visual FoxPro系统提供的系统函数,其函数名是Visual FoxPro保留字。,函数的分类,4.3 Visual FoxPro的函数,五.创建数据库和表,数据库与表的定义:数据库是指与特定的主题或任务相关的数据的集合,是包含有多种对象的容器。数据库除了包含有存储数据的表以外,还包含有视图、连接和存储过程等数据库对象。数据库是一个独立的文件,其扩展名为.DBC。表可以依附一个指定于的数据库,这种表称为数据库表;也可以不依附于任何数据库,这种表称为自由表。在VF中,自由表或数据表是收集和

16、存储数据的基本单元。,5.1 创建数据库,在Visual FoxPro中,可以采用三种方式创建一个数据库。1.使用“项目管理器”创建数据库2.使用“文件”菜单中的“新建”命令创建数据库3.使用CREATE DATABASE命令创建数据库命令格式:CREATE DATABASE 命令功能:该命令用于在命令窗口或程序中直接创建一个数据库。,对于一个已创建好的数据库,若要使用它,应首先将其打开。使用完毕以后,应将其关闭。1.打开数据库命令格式:OPEN DATABASE 文件名命令功能:该命令用于在命令窗口或程序中直接打开指定的数据库。,5.2 打开与关闭数据库,2.关闭数据库命令格式:CLOSE

17、DATABASE 命令功能:该命令用于在命令窗口或程序中直接关闭打开的数据库。命令说明:ALL参数用于关闭所有打开的数据库及其数据库表、自由表和索引等。,5.2 打开与关闭数据库,表是存储数据的基本对象。在Visual FoxPro中,表以两种形态出现,即数据库表和自由表。,5.3 建立自由表,“表设计器”窗口包含有三个选项卡:“字段”、“索引”和“表”选项卡。在“表设计器”窗口的“字段”选项卡中定义表的结构主要涉及字段名称以及字段的数据类型。1.字段的命名规则l 自由表字段名最长为10个字符。l数据库表字段名最长为128个字符。l 字段名必须以字母或汉字开头。l 字段名可以由字母、汉字、数字

18、和下划线组成。l 字段名中不能包含空格。,5.3.1 创建自由表,字段类型和宽度,2.使用CREATE命令创建自由表:命令格式:CREATE 表名|?命令功能:该命令用于在命令窗口或程序中直接创建一个表。,5.3.1 创建自由表,在Visual FoxPro中,也可以采用创建自由表的三种方式创建数据库表,并且操作方法也是基本相同的。但需要注意的是:无论采用哪一种方式创建数据库表,都要首先打开指定的数据库。否则,创建的仍只是一个自由表。另外,数据库表与自由表在结构上也存在着差异。,5.4 建立数据库表,修改表结构通常采用以下两种方式:(1)使用“项目管理器”(2)使用MODIFY STRUCTU

19、RE命令 命令格式:MODIFY STRUCTURE命令功能:该命令用于打开“表设计器”以修改当前表的表结构。命令说明:该命令用于修改当前表的表结构。如果当前表是一个数据库表,那么系统将打开数据库表的“表设计器”窗口;如果当前表是一个自由表,那么系统将打开自由表的“表设计器”窗口。,5.5 修改表结构,命令格式:COPY TO 表名命令功能:该命令用于把当前表的表复制成至另一个表,即生成一个新的表,两个表将完全相同。,5.6 复制表,命令格式:COPY STRUCTURE TO 表名命令功能:该命令用于把当前表的表结构复制成为另一个表的表结构。,5.7 复制表结构,第6章 表的基本操作,建立好

20、数据库和表以后,接下来的工作就是对表的基本操作。表的基本操作包括:打开与关闭表;为指定的表添加记录;浏览与编辑表中的记录;定位记录、插入记录、显示记录、修改记录以及删除记录等。,1.使用“文件”菜单中的“打开”命令2.使用USE命令命令格式:USE 表文件名命令功能:该命令用于在指定的工作区打开指定的表。,6.1 打开表,1.使用USE命令命令格式:USE命令功能:该命令用于关闭当前工作区中的表。2.使用“数据工作期”窗口,6.2 关闭表,6.3 添加记录,利用已有的表文件添加记录,2,利用数组添加记录,3,命令格式:(1)APPEND BLANK(2)INSERT BLANK命令功能:APP

21、END命令是用于在已打开的表尾追加一条或多条记录。INSERT命令是用于在已打开表的当前记录指针后插入一条或多条记录。命令说明:如果省略BLANK参数,系统进入全屏幕编辑状态。利用键盘一次可以添加多条记录。如果使用BLANK参数,系统不进入全屏幕编辑状态,而直接添加一条空白记录。,6.3.1 利用键盘添加记录,命令格式:APPEND FROM 表名 FOR 表达式命令功能:该命令将满足条件的记录按指定的字段从源表文件添加到当前表中。,6.3.2 利用已有的表文件添加记录,6.3.3 利用数组添加记录,(1)单个记录传送到数组 SCATTER TO A.按顺序将表中当前记录的各字段值(或按字段名

22、表中顺序)赋给各个数组元素;B.各个数组元素的数据类型取决于所赋的相应字段类型;C.若数组元素多于传送字段的个数,则多余的元素不受影响;否则,系统自动增加元素个数;,6.3.3 利用数组添加记录,(1)数组数据传送到单个记录 GATHER FROM 按顺序将数组元素的值传送至当前记录的各字段;(2)从数组向表中添加记录 APPEND FROM ARRAY A.如果数组是一维的,只在表中添加一个记录。B.当指定数组为二维数组,则数组中的每一行在表中添加一个新记录。,记录的筛选,(1)过滤器(针对记录)SET FILTER TO,6.4 浏览记录,在Visual FoxPro中,如果要浏览表中的记

23、录,通常采用以下两种方式:,6.5 显示记录,在Visual FoxPro中,系统提供了两个记录显示命令供用户选择使用,它们分别是:LIST命令和DISPLAY命令。,如果不指定显示记录的范围,则显示当前记录;如果指定了ALL参数,则分屏显示所有的记录。,6.6 记录的定位,Visual FoxPro提供了六个记录定位命令供用户选择使用,它们分别是:GO、SKIP、LOCATE、CONTINUE、FIND和SEEK命令。这里只介绍GO、SKIP、LOCATE和CONTINUE命令,FIND和SEEK命令将在下一章介绍。,命令格式:GO 记录号 或GO TOP|BOTTOM命令功能:该命令用于将

24、记录指针定位到指定的记录上,使该记录成为当前记录。,6.6.1 GO命令,命令格式:SKIP 记录号 命令功能:该命令用于将记录指针相对于当前记录向前或向后移动n条记录。,6.6.2 SKIP命令,命令格式:LOCATE FOR 命令功能:该命令可以在指定的记录范围内将记录指针定位到满足给定条件的首条记录上。,6.6.3 LOCATE命令,命令格式:CONTINUE命令功能:该命令与LOCATE命令搭配使用,以查找满足给定条件的下一条记录。命令说明:在命令窗口或程序中若执行或使用了多个LOCATE命令,那么,CONTINUE命令将与最近的一个LOCATE命令搭配使用。,6.6.4 CONTIN

25、UE命令,6.7 更新记录,命令格式:REPLACE WITH 命令功能:该命令用于对指定的表进行数据更新。,6.8 删除记录,Visual FoxPro提供了三种删除记录的命令,它们是:DELETE(逻辑删除)命令、PACK(物理删除)命令以及ZAP(全部删除)命令。另外,Visual FoxPro还提供了对于已做了逻辑删除的记录进行恢复的RECALL命令。,建立索引是可以对表中随机存储的记录根据任务的需要进行逻辑排序。索引可分为两类:结构复合索引包括:主索引、侯选索引、唯一索引、普通索引,七.建立索引,要建立单一索引文件,应在INDEX命令中使用 TO 索引文件名参数。,7.1 建立单一索

26、引,【格式】:INDEX ON TO 注:单一索引文件扩展名为:.idx,在Visual FoxPro中,为表建立索引可以采用两种方法来完成:,7.2 建立结构复合索引,在表设计器中通过直观的操作来建立索引,使用INDEX命令来建立索引,主索引:是一种设定为主关键字的索引,其内容具有唯一性,不能在一个表中重复多次。一个表只能有一个主索引,只有数据库表才能建立主索引,自由表不能建立主索引。候选索引:类似主索引,其内容具有唯一性,不能在表中重复多次。一个表可以有多个候选索引。数据库表和自由表都可以建立候选索引。,结构复合索引的分类,唯一索引;唯一索引指同一表中索引关键字的内容具有唯一性,没有内容相

27、同的两个以上记录。一个表中可以有多个唯一索引。数据库表和自由表都可以建立唯一索引。普通索引:是一种常规的索引类型,主要用于逻辑排序,以便快速查询。索引关键字的内容不具有唯一性,可以重复。数据库表和自由表都可以建立普通索引。,结构复合索引的分类,要建立结构复合索引,应在INDEX命令中使用 TAG参数。,7.2 建立结构复合索引,【格式】:INDEX ON TAG ASCENDING|DESCENDINGUNIQUE|CANDIDATE注:结构复合索引文件扩展名为:.cdx例题:第48套基本操作第4小题,命令参数说明:(1)ASCENDING参数用于指定复合索引文件的某一索引标识是按照升序方式进

28、行排序。(2)DESCENDING参数用于指定复合索引文件的某一索引标识是按照降序方式进行排序。(3)UNIQUE参数用于建立唯一索引。(4)CANDIDATE参数用于建立候选索引。,7.2 建立结构复合索引,7.3 打开和关闭索引文件,打开索引文件命令格式:SET INDEX TO 索引文件名命令功能:该命令用于打开一个或多个索引文件。,7.3 打开和关闭索引文件,关闭索引文件命令格式:SET INDEX TO命令功能:该命令用于关闭已打开的索引文件。,命令格式:SET ORDER TO 数值表达式说明:在当前打开的索引文件中指定主控索引文件。打开的索引文件须是复合索引。,7.4 设置当前索

29、引文件,7.5 利用索引快速查询,FIND命令,建立和使用索引的目的有两个:一是可以对表中随机存储的记录根据任务的需要进行逻辑排序,二是可以提高记录的查询检索速度。建立索引后,我们可以通过以下命令来完成索引查询:,SEEK命令,命令格式:FIND 命令功能:该命令用于在当前索引上快速查找索引关键字值与给定的字符串相匹配的首条记录。如果查找到相匹配的记录,Visual FoxPro将记录指针指向该记录,并且测试函数FOUND()返回逻辑真值,EOF()函数返回逻辑假值;否则记录指针将指向记录结束标识,并且测试函数FOUND()返回逻辑假值,EOF()函数返回逻辑真值。,7.5.1 FIND命令,

30、命令格式:SEEK 命令功能:该命令用于在当前索引上快速查找索引关键字值与给定的表达式相匹配的首条记录。如果查找到相匹配的记录,Visual FoxPro将记录指针指向该记录,并且测试函数FOUND()返回逻辑真值,EOF()函数返回逻辑假值;否则记录指针将指向记录结束标识,并且测试函数FOUND()返回逻辑假值,EOF()函数返回逻辑真值。,7.5.2 SEEK命令,FIND命令与SEEK命令的区别,在Visual FoxPro中,如果说索引文件仅仅是对表进行逻辑上的排序的话,那么排序(SORT)命令则是对表进行物理上的排序。换句话说,排序命令可以对当前表根据指定的规则进行重新排序,并将重新

31、排序的记录保存成一个新的有序表。需要注意的是,Visual FoxPro在使用SORT排序命令时并不改变当前表中记录的位置,而是将排序的结果生成一个新的有序表。,7.6建立物理排序,命令格式:SORT ON 字段名 TO 新文件名 A DASCENDING|DESCENDINGFOR 条件表达式命令功能:该命令首先将当前表按照指定的字段进行排序,然后将排序好的记录置于新表中。,7.6 建立物理排序,【例】若要对stcj表根据平均分字段进行从高到低排序,并将排序结果保存在PJF表中。另外,PJF表中记录的平均分应大于等于60,那么应执行如下命令:use stcjsort on 平均分 to PJ

32、F desc for 平均分=60,7.6建立物理排序,在Visual FoxPro中,可以为数据库表建立表间永久关系。表间永久关系是为了维护数据库表之间的数据完整性而引入的。,7.7 建立表间永久关系,建立表之间的联系,在数据库设计器中设计表之间的联系,即为永久性关联。条件:父表须建立主索引或候选索引,子表须建立普通索引或唯一索引.方法:通过父表的索引和子表的索引建立起两个表之间的联系。,建立表之间的联系步骤,1.首先确定两个表的关键字段。2.确定父表与子表。方法:打开表,查看表中关键字段中的记录,无重复记录的字段可建立主索引,为父表,有重复记录的字段就只能建立普通索引,为子表。3.分别给父

33、表的关键字段建立主索引,子表的关键字段建立普通索引。4.用鼠标拖动父表关键字段的主索引到子表关键字段的普通索引。,设置参照完整性,参照完整性是控制记录一致性,遵照不同表的主关键字和外部关键字之间的规则,使得插入、删除、更新记录时,能保持已定义的表间关系。它类似触发器,在建立关系的表间发生作用。,设置参照完整性,参照完整性规则有三种选项:忽略:即使在子表中有相关的记录,仍允许更新父表中的记录。级联:对父表中的主关键字段或候选关键字段的更改,会在相关的子表中反映出来。如果选择了这一选项,只要更改了父表中的关键字段,系统就会自动更改所有相关子表记录中的相应值。限制:禁止更改父表中的主关键字段或候选关

34、键字段中的值,这样在子表中就不会出现孤立的记录。,八.多表操作,在实际工作中,数据库的应用往往涉及到多个表,如何同时打开这些表成为数据库应用的关键。为了解决这一问题,Visual FoxPro引入了工作区的概念。利用Visual FoxPro提供的工作区,用户可以同时打开多个表。另外,如果一个数据库应用涉及到多个表,那么这些表相互之间往往具有某种关系。这些表相互之间也只有建立了关系,才能协同完成指定的任务。Visual FoxPro允许用户在表间建立临时关系或永久关系。,工作区是Visual FoxPro在内存开辟的一个独立区域,用于存放打开的表。在任一时刻,用户只能对其中的一个工作区进行操作

35、。正在被用户操作的工作区称为当前工作区。在启动Visual FoxPro时,系统通常将第1工作区作为当前工作区。如果要在其它工作区打开表,那么应首先选择该工作区。,8.1 选择工作区,命令格式:SELECT|命令说明:选择某一工作区使之成为当前工作区。SELECT 0表示选择未使用过的最小工作区号为当前工作区号系统可以定义10个工作区,别名分别为:A,B,C,D,E,F,G,H,I,J,8.1 选择工作区,在Visual FoxPro中,表间关系分为临时表间关系和永久表间关系两种。临时表间关系是指在使用时建立的、使表间记录指针联动的关系。临时表间关系可以根据需要随时进行设置或更改,当系统退出时

36、,临时表间关系也随之消失,下次使用时还需要重新建立。永久表间关系是为了维护数据库表之间的数据完整性而引入的。永久表间关系保存在数据库中,只要打开数据库,永久表间关系将立即生效。,8.2 了解表间关系,建立关系的两个表,一个是建立关联的表,称为父表,另一个是被关联的表,称为子表。如果两个表建立了表间临时关系,那么这两个表中的记录将相互关联起来,也就是说,当父表中移动记录指针时,子表中的记录指针也将随着移动并定位在与之相关联的记录上。,8.2 了解表间关系,根据父表和子表中相关联字段的对应关系,永久表间关系可分为两种:一对一关系和一对多关系。一对一关系:在这种关系中,父表中的每一条记录最多只与子表

37、中的一条记录相关联。一对多关系:在这种关系中,父表中的每一条记录可以与子表中的多条记录相关联。一对多关系是最常用的一种表间关系。,8.2 了解表间关系,8.4 建立表间临时关系,命令格式:SET RELATION TO INTO ADDITIVE命令功能:以当前表为父表与一个或多个子表建立临时关联。该命令用于在两个打开的表之间建立关联,从而当父表的记录指针移动时,子表的记录指针根据表间关系也会发生相应的移动。命令说明:被关联的子表必须先按关联关键字进行索引。,对于建立了关联的表,可以随时使用SET RELATION命令取消关联。命令格式:SET RELATION TO命令功能:该命令用于取消当

38、前工作区建立的表间关联。,8.4.1 取消表间关联,(一)计数命令COUNT FOR TO内存变量说明:计算指定范围内满足条件的记录数。TO子句可以把记录数保存到内存变量中。缺省范围是表的所有记录。如:use kc count count to a1 count all for 单价2000 to b1,九.统计与汇总,(二)求和及求平均值命令,SUM/AVERAGE FOR,说明:数值表达式表中各表达式的和数可依次存入内存变量表或数组,若缺省该表达式表,则对当前表所有的数值表达式分别求和。缺省范围指表中的所有记录。若使用 TO 选项,则内存变量个数应和被计算的型字段数目相等。,九.统计与汇总,(三)计算命令,CALCULATE FOR 功能:在打开的表中,分别计算“表达式表”的表达式。表达式可以包含下列函数的任意组合:SUM():求和。AVG():求平均MAX():求最大值。MIN():求最小值。COUNT():统计记录数,例:calculate min(单价),sum(库存量),max(单价),九.统计与汇总,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号