二级VFP程序设计教程课件

上传人:hknru****knru 文档编号:241300419 上传时间:2024-06-16 格式:PPT 页数:92 大小:558.61KB
返回 下载 相关 举报
二级VFP程序设计教程课件_第1页
第1页 / 共92页
二级VFP程序设计教程课件_第2页
第2页 / 共92页
二级VFP程序设计教程课件_第3页
第3页 / 共92页
点击查看更多>>
资源描述
第四章第四章Visual Foxpro 数据库及其操作数据库及其操作 第四章Visual Foxpro 数据库及其操作 1二级VFP程序设计教程第四章 V FP 数据库及其操作 第一节第一节 Visual Foxpro Visual Foxpro 数据库及其建立数据库及其建立在Visual Foxpro中,数据库是一个逻辑上的概念和手段,用于将相互联系的数据表及其相关的数据库对象统一管理和组织。一般的逻辑层次关系:一般的逻辑层次关系:数据库数据库数据表数据表记录记录字段字段第一节 Visual Foxpro 数据库及其建立2二级VFP程序设计教程第四章 V FP 数据库及其操作 建立Visual Foxpro 数据库时,建立扩展名是建立扩展名是dbc的数的数据库文件据库文件,与之相关自动建立扩展名为dbt的备注文件和扩展名为dcx的数据库索引文件。建立一个数据库,对应的文件有三个:DBC、DBT、DCX。一、建立数据库一、建立数据库1、在项目管理器中建立数据库、在项目管理器中建立数据库方法:在“数据”选项卡中,选择“数据库”,单击“新建”。建立Visual Foxpro 数据库时,建立扩展名是dbc3二级VFP程序设计教程第四章 V FP 数据库及其操作 2、通过、通过“新建新建”对话框建立数据库对话框建立数据库方法:在“文件”菜单中选择“新建”。(或者在工具栏上单击“新建”)。3、使用命令交互建立数据库、使用命令交互建立数据库 格式:CREATE DATABASE 库文件名2、通过“新建”对话框建立数据库4二级VFP程序设计教程第四章 V FP 数据库及其操作 二、使用数据库二、使用数据库在对一个数据库中的表进行操作时,需要先打开这个数据库。在项目管理器中打开数据库。(选中库后,库自动打开)通过“打开”对话框打开数据库。命令法:OPEN DATABASE 库文件名 EXCLUSIVE|SHAREDNOUPDATEVALIDATE(在工具栏中间显示打开的库名)二、使用数据库5二级VFP程序设计教程第四章 V FP 数据库及其操作 EXCLUSIVE:以独占方式打开,同一时刻只能由一个用户打开操作。SHARED:以共享方式打开,同一时刻可由多个用户打开操作。NOUPDATE:以只读方式打开,不允许对库进行修改。EXCLUSIVE:以独占方式打开,同一时刻只能由一个用户打6二级VFP程序设计教程第四章 V FP 数据库及其操作 三、修改数据库三、修改数据库在VISUAL FOXPRO中修改数据库实际上是打开数据库设计器,用户可以在数据库设计器中完成各种数据库对象的建立、修改和删除等操作。在项目管理器中,选中库,再单击修改。在“文件”菜单中选择“打开”。MODIFY DATABASE 库文件名NOWAITNOEDITNOWAIT只在程序中使用,不在交互命令窗口中使用,即打开库设计器后,程序继续运行,不等待。NOEDIT 打开数据库设计器禁止对数据库进行修改三、修改数据库7二级VFP程序设计教程第四章 V FP 数据库及其操作 四、删除数据库四、删除数据库项目管理器中选择库,单击“移去”。DELETE DATABASE 库名数据库文件的删除,并不删除所包含的表文件。库文件仅仅建立表之间的联系。四、删除数据库8二级VFP程序设计教程第四章 V FP 数据库及其操作 第二节第二节 建立数据库表建立数据库表一、在数据库中建立表一、在数据库中建立表建立表时,首先要对所处理的对象进行调查分析,再根据需要设计一张二维表。当表的行、列个数及每列中数据的属性确定后,再把数据集合在其中即可。1.定义表中的数据类型定义表中的数据类型(1)定义二维表名 设计一张二维表,给表起个名字。(2)二维表栏目设计第二节 建立数据库表9编号编号姓名姓名家庭地址家庭地址年龄年龄工资工资1001张三青海西宁18595.36100210031004100510061007职工基本情况表编号姓名家庭地址年龄工资1001张三青海西宁18595.3610二级VFP程序设计教程第四章 V FP 数据库及其操作(3)填写二维表的内容、表的名字(标题)、表中每一列的栏目标题序列为表头,它标明了每一列对应数据的属性。、表中每一行的数据是表的内容。(4)定义数据表的结构在Visual FoxPro 系统中,一张二维表对应一个数据表,称为表文件(Table)。(3)填写二维表的内容11二级VFP程序设计教程第四章 V FP 数据库及其操作 一张二维表由表名、表头、表的内容三部分组成,一个数据表则由数据表名、数据表的结构、数据表的记录三要素构成。、数据表的文件名相当于二维表中的表名,它是数据表的主要标识,用户可以依靠数据表名在磁盘上存取、使用指定的数据表。、数据表的结构相当于二维表的表头,二维表的每一列对应数据表中的一个字段,其属性决定了字段名、字段类型和字段长度。一张二维表由表名、表头、表的内容三部分组成,一个数据表则由数12二级VFP程序设计教程第四章 V FP 数据库及其操作、数据表中的记录是数据表中不可分割的基本项,即二维表中的表的内容。2利用表设计器创建表利用表设计器创建表方方法1:在“文件”菜单中选择“新建”;方法2:CREATE 表文件名方法3、使用数据库设计器建立数据表(1)输入字段名输入字段名一般允许由110字符(自由表)组成,要求以字母开头,不含空格;数据库中的表其字段名最长可达到128个字符。、数据表中的记录是数据表中不可分割的基本项,即二维表中的表13二级VFP程序设计教程第四章 V FP 数据库及其操作(2)输入字段的类型每一个字段都反映对象的一个方面属性,根据其表达含义,可有不同的数据类型。根据计算机处理数据的特点,必须定义数据类型。(3)输入字段宽度 指该字段所能容纳数据的最大字节数。有些类型的数据其宽度是固定的。(2)输入字段的类型14二级VFP程序设计教程第四章 V FP 数据库及其操作(4)输入小数位数 数值型、浮点型、双精度型的字段可指定小数据位。数值型字段:字段宽度数值型字段:字段宽度=整数部分宽度+小数点1位+小数位宽度小数位至少比整个字段宽度小2。(4)输入小数位数 15二级VFP程序设计教程第四章 V FP 数据库及其操作 空值空值 NULL项项 允许该字段值为空或使用缺省数据,被设为关键字的字段值不允许为空。字段有效性组框字段有效性组框:定义字段的有效性规则、提示信息及设置缺省值。显示组框显示组框 设置字段的输入格式、显示格式、显示标题字段注释字段注释当前行前有一个双向箭头。空值 NULL项 允许该字段值为空或使用缺省数据,被设为16二级VFP程序设计教程第四章 V FP 数据库及其操作 二、表文件的打开与关闭二、表文件的打开与关闭 1、打开表文件、打开表文件命令法命令法:USE 表文件名功能功能:在当前工作区中,打开一指定的表文件。说明:扩展名可省略,如果原来已在该工作区中打开了一个表文件,则关闭它,再打开新的文件;打开后,记录指针指向第一个记录。窗口菜单法窗口菜单法:在“窗口”菜单中选择“数据工作期”,单击“打开”。二、表文件的打开与关闭 17二级VFP程序设计教程第四章 V FP 数据库及其操作 2、关闭表文件、关闭表文件格式格式:USE关闭在当前工作区中打开的表文件CLOSEDATABASE关闭所有工作区被打开的表文件CLOSE ALL 关闭所有工作区中的所有文件;QUIT关闭所有文件,且退出系统窗口菜单法窗口菜单法:在“窗口”菜单中选择“数据工作期”,选择欲关闭的表,单击“关闭”。2、关闭表文件18二级VFP程序设计教程第四章 V FP 数据库及其操作 3、表的独占与共享、表的独占与共享在网络环境下使用时,还要确定是独占还是共享。涉及表数据的安全性问题。独占打开独占打开:一张表只能被一个用户打开。共享打开共享打开:一张表可被多个用户同时打开。USE 表名 SHARED:以共享方式打表。USE 表名 EXCLUSIVED:以独占方式打开表。3、表的独占与共享19二级VFP程序设计教程第四章 V FP 数据库及其操作 三、修改表结构三、修改表结构1、菜单操作法、菜单操作法方法:打开欲修改的表,执行“显示”菜单中的“表设计器”。在“表设计器”窗口,修改表中所有字段的名字、类型、宽度和是否建立索引,完成对数据表结构的修改。2、命令法、命令法格式:MODIFY STRUCTURE 表文件名三、修改表结构20二级VFP程序设计教程第四章 V FP 数据库及其操作 四、记录指针四、记录指针在向表输入数据时,系统按照其输入的前后顺序,给每一个记录赋予一个记录号。记录指针记录指针是VFP系统内部的一个指示器,用于确定当前正在操作的记录。(表中的数据以记录为单位操作)每当打开一个表文件时,指针总是指向第一条记录。记录指针指向的记录叫当前记录当前记录,记录指针指向哪一个记录,这一个记录就是当前操作的记录,即当前记录。四、记录指针21二级VFP程序设计教程第四章 V FP 数据库及其操作 测试当前记录用函数RECNO()。最小值为1,最大值为RECCOUNT()+1。打开表时记录指针情况:表中无记录:BOF()=.T.EOF()=.T.RECNO()=1表中有记录:BOF()=.F.EOF()=.F.RECNO()=1 测试当前记录用函数RECNO()。22二级VFP程序设计教程第四章 V FP 数据库及其操作 五、表中输入数据五、表中输入数据1.创建表时立即输入数据创建表时立即输入数据在创建表时,如果表中所有字段的属性已定义完成,可按“确定”按钮保存表结构,同时打开“系统”窗口,显示“现在输入数据吗?”的对话。五、表中输入数据23二级VFP程序设计教程第四章 V FP 数据库及其操作 选择“是”按钮,可以立即进入表“浏览”窗口,进行表中数据的输入。2以追加方式输入数据以追加方式输入数据方法:方法:打开欲输入数据的表,执行“显示”菜单中的“浏览”,再执行“显示”菜单下的“追加方式”。选择“是”按钮,可以立即进入表“浏览”窗口,进行表中数据的输24二级VFP程序设计教程第四章 V FP 数据库及其操作 3、命令法追加、命令法追加1)append命令在表的尾部增加记录,有两种格式:append 表尾增加一条记录,并输入数据。append blank 表尾增加一条空记录。2)insert 可在表的任何位置插入新的记录命令:INSERTBEFOREBLANK 功能:在当前库文件中当前记录的前或后边插入一条记录,并输入数据。3、命令法追加25二级VFP程序设计教程第四章 V FP 数据库及其操作 BEFORE:表示在当前记录前插入新记录,否则在当前记录后插入;BLANK:表示插入一条空记录,不进入全屏幕输入状态,反之则进入全屏幕输入状态输入数据。如:在第5条记录后插入一条记录:GO 5INSERT在第10条记录前插入一条空记录:GO 5INSERT BEFORE BLANKBEFORE:表示在当前记录前插入新记录,否则在当前记录后插26二级VFP程序设计教程第四章 V FP 数据库及其操作 4、数据的输入要点、数据的输入要点备注型数据输入备注型数据输入方法:把光标移到备注型字段下双击,即可进入备注字段的编辑窗口。(输入完memo变成Memo)通用型数据的输入通用型数据的输入方法:把光标移到通用型字段下双击,进入通用型字段的数据编辑窗口。在“编辑”菜单中选择“插入对象”。确定对象后,该字段中的gen变成Gen。4、数据的输入要点27二级VFP程序设计教程第四章 V FP 数据库及其操作 六、使用浏览窗口操作表六、使用浏览窗口操作表1、打开浏览器窗口、打开浏览器窗口项目管理器项目管理器:列表中选择表,单击“浏览”。数据库设计器数据库设计器:选中表,单击“浏览”,或者右击表,选择“浏览”。使用命令使用命令:打开表以后,Browse。六、使用浏览窗口操作表28二级VFP程序设计教程第四章 V FP 数据库及其操作 浏览器窗口有两种显示方式浏览器窗口有两种显示方式:编辑方式和浏览方式切换切换:在“显示”菜单中,选择“浏览”或者“编辑”。浏览窗口的分割浏览窗口的分割:拖动“分割”按钮。(在浏览器窗口左下角)2、浏览操作、浏览操作 调整字段显示宽度,调整字段的显示顺序(拖动),但表结构不变。注意:执行浏览或者编辑命令后,菜单中出现“表”菜单项。浏览器窗口有两种显示方式:编辑方式和浏览方式29二级VFP程序设计教程第四章 V FP 数据库及其操作 在同一记录中选择字段在同一记录中选择字段:鼠标或enter 左箭头 右箭头 tab shift+table在上下记录间的切换在上下记录间的切换:鼠标或上下箭头翻页翻页:pageup pagedown3、增加记录、增加记录ctrl+y,以表尾增加一条新记录。4、修改记录、修改记录移动插入点到欲修改的记录上,直接修改。5、删除记录、删除记录ctrl+t,删除当前记录。在同一记录中选择字段:鼠标或enter 左箭头 右箭头 ta30二级VFP程序设计教程第四章 V FP 数据库及其操作 七、删除记录命令(逻辑删除和物理删除)七、删除记录命令(逻辑删除和物理删除)删除记录分两步删除记录分两步:做删除标记(逻辑删除)、彻底删除带标记的记录(物理删除)。1、置删除标记的命令、置删除标记的命令 方法1:在表“浏览”窗口,单击欲删除记录的删除标记。方法2:在“浏览”窗口,执行“表”菜单中的“删除记录”命令。方法3:delete for 条件表达式七、删除记录命令(逻辑删除和物理删除)31二级VFP程序设计教程第四章 V FP 数据库及其操作 删除标记在存贮时,占一个字节。相关函数相关函数:DELETE()如:判断当前记录是否被设置删除标志:GO 6?DELETE()又如:显示当前库中所有设置了删除标志的记录:DISP ALL FOR DELETE()删除标记在存贮时,占一个字节。32二级VFP程序设计教程第四章 V FP 数据库及其操作 2、恢复记录的命令、恢复记录的命令对加上逻辑删除标记的记录,取消其删除标记,可对其进行恢复操作。方法方法1:在表“浏览”窗口,单击欲恢复记录的删除标记。(开关性质)方法方法2:在“浏览”窗口中,执行“表”菜单中“恢复记录”命令;2、恢复记录的命令33二级VFP程序设计教程第四章 V FP 数据库及其操作 方法3:recall for 条件表达式 操作:将当前表中已经逻辑删除的男生记录恢复。Recall for 性别=”男”3、物理删除有删除标记的记录、物理删除有删除标记的记录物理删除物理删除就是把无效的记录彻底从磁盘中删除掉。方法1:在“浏览”窗口中,执行“表”菜单中“彻底删除记录”命令;方法3:recall for 条件表达式 34二级VFP程序设计教程第四章 V FP 数据库及其操作 方法2:pack。4、物理删除表中的全部记录、物理删除表中的全部记录zap一次删除所有记录。注:不管是否有删除标记,但表本身未被删除,表结构依然存在。八、修改记录命令八、修改记录命令1、EDIT或或CHANGE命令交互式修改命令交互式修改。格式:EDIT/change方法2:pack。35二级VFP程序设计教程第四章 V FP 数据库及其操作 2、REPLACE成批替换数据(重点)成批替换数据(重点)格式:REPLACE范围字段1WITH表达式1,字段2WITH表达式2FORWHILE条件 功能:对当前表文件中指定范围内满足条件的所有记录,用表达式的值替换字段中原有的值。如:REPLACE ALL 总分 WITH 数学+语文REPLACE ALL 基本工资 WITH 基本工资+100 FOR 职称=“教授”2、REPLACE成批替换数据(重点)36二级VFP程序设计教程第四章 V FP 数据库及其操作 九、显示记录命令(九、显示记录命令(foxbasefoxbase中更实用)中更实用)格式1:LIST范围字段名表达式FORWHILE条件OFFTO PRINT|TO FILE 文件名 格式2:DISPLAY范围字段名表达式FORWHILE条件OFFTO PRINT|TO FILE 文件名 功能:把满足条件的记录的指定字段的内容显示出来。后者可以分屏显示输出;如果不指定范围和条件,前者默认地输出全部记录,而后者只输出当前记录。九、显示记录命令(foxbase中更实用)37二级VFP程序设计教程第四章 V FP 数据库及其操作 十、查询定位命令十、查询定位命令1、窗口操作方式、窗口操作方式方法:打开要使用的表,在“显示”菜单下,选择“浏览”;在“表”菜单中,选择“转到记录”,子菜单中不同的选项,可以将记录指针移动到相应的记录上。十、查询定位命令38二级VFP程序设计教程第四章 V FP 数据库及其操作(1)选择“第一个”,确定第一个记录为当前记录;(2)选择“最后一个”,确定最后一个记录为当前记录;(3)选择“下一个”,确定当前记录的下一个记录为当前记录;(4)选择“前一个”,确定当前记录的前一个记录为当前记录;(1)选择“第一个”,确定第一个记录为当前记录;39二级VFP程序设计教程第四章 V FP 数据库及其操作(5)选择“记录号”,便进入“转到记录”对话窗口,在“转到记录”对话框内,可以选择记录号,确定该记录号指定的记录为当前记录;(6)选择“定位”,进入“定位记录”窗口,在“定位记录”对话框内,输入定位条件表达式,确定满足定位条件表达式的第一个记录为当前记录。(5)选择“记录号”,便进入“转到记录”对话窗口,在“转到40二级VFP程序设计教程第四章 V FP 数据库及其操作 2、绝对定位命令、绝对定位命令格式:GO数值表达式 GO TOP GO BOTTOM功能:将记录指针定位于首记录、尾记录或数值表达式的值所指定的记录。当前记录是谁,可以从状态行看出来;2、绝对定位命令41二级VFP程序设计教程第四章 V FP 数据库及其操作 3、相对定位命令、相对定位命令格式:SKIP数值表达式 功能:将记录指针相对当前记录向下(正方向)或向上(负方向)移动数值表达式的值所指定的记录数。3、相对定位命令42二级VFP程序设计教程第四章 V FP 数据库及其操作 4、按条件定位、按条件定位、条件定位命令、条件定位命令LOCATE 格式:LOCATE范围FORWHILE条件 功能:在指定范围内将指针定位于满足条件的第一条记录,如果没找到满足条件的记录,则记录指针定位于表尾,EOF()函数为逻辑真。缺省范围选择时,取all,即在所有记录中查找。如:LOCATE ALL FOR 姓名=“王”DISPLAY4、按条件定位43二级VFP程序设计教程第四章 V FP 数据库及其操作、继续查找命令、继续查找命令CONTINUE格式:CONTINUE功能:继续查找满足条件的下一条记录;重复多次使用CONTINUE命令,可找到满足条件的所有记录;、继续查找命令CONTINUE44二级VFP程序设计教程第四章 V FP 数据库及其操作、查询测试函数、查询测试函数FOUND格式:FOUND()功能:如果找到了满足条件的记录,则返回逻辑真,反之则返回逻辑假;、查询测试函数FOUND45二级VFP程序设计教程第四章 V FP 数据库及其操作 通常的操作模式如下:Locate for 条件DO WHILE FOUND()处理CONTINUEENDDO用循环对满足条件的所有记录进行操作。通常的操作模式如下:46二级VFP程序设计教程第四章 V FP 数据库及其操作 第四节第四节 索引索引 一、基本概念一、基本概念什么是索引呢?如一本书,有很多内容,为了快速找到我们需要的章节,借助于目录。那么在数据库中,也有类似于目录的信息,称之为索引。书中的目录是一份页码的列表,指向书中的书页,但数据库中的索引是一个记录号的列表,指向表中待处理的记录,并表示记录的处理顺序。第四节 索引 47二级VFP程序设计教程第四章 V FP 数据库及其操作 索引是按着索引表达式的值使数据表中的记录有序排列的一种技术,在Visual FoxPro系统中是借助于索引文件实现的。一般情况下,表中记录的顺序是由数据输入的前后顺序决定的,并用记录号予以标识。除非有记录插入或者有记录删除,否则表中的记录顺序总是不变的。索引实际上是一种排序,但是它不改变数据表中数据的物理顺序,而是另外建立一个记录号列表。索引是按着索引表达式的值使数据表中的记录有序排列的一种技术,48二级VFP程序设计教程第四章 V FP 数据库及其操作 一个表可以建立多个索引,每一个索引代表一种处理记录的顺序。即不同的索引,决定了读取记录的不同顺序。二、索引类型二、索引类型在数据库容器中的数据表可以建立主索引(Primary Index)。索引表达式的值是唯一能够标识每个记录处理顺序的值。即作为主索引的关键字是不允许重复出现的,也不允许取空值。一个表可以建立多个索引,每一个索引代表一种处理记录的顺序。即49二级VFP程序设计教程第四章 V FP 数据库及其操作 2候选索引候选索引候选索引(Candidate Index)像主索引一样,它的索引表达式的值是唯一能够标识每个记录处理顺序的值。但是,一个数据表可以建立多个候选索引,它在特定环境下可以视为主索引。2候选索引50二级VFP程序设计教程第四章 V FP 数据库及其操作 3普通索引普通索引普通索引(Regular Index)表示把由索引表达式为每个记录产生的值,存入索引文件中。如果多个记录的索引表达式值相同,则可以重复存储,并用独立的指针指向各个记录。3普通索引51二级VFP程序设计教程第四章 V FP 数据库及其操作 4唯一索引唯一索引唯一索引(Unique Index)表示把由索引表达式为每个记录产生的唯一值,存入索引文件中,如果数据表中记录的索引表达式值相同,则只存储第一个索引表达式值。它允许数据表中各记录的索引字段或字段组合表达式的值相同,但在索引文件中只保留数据表中与索引字段值相同的第一条记录。4唯一索引52二级VFP程序设计教程第四章 V FP 数据库及其操作 三、在表设计器中建立索引三、在表设计器中建立索引1、单项索引的建立、单项索引的建立基于一个字段的索引叫单项索引。基于一个字段的索引叫单项索引。单项索引的建立有两种方式:单项索引的建立有两种方式:普通索引的建立:使用表设计器的字段标签普通索引的建立:使用表设计器的字段标签 或或 索引标签。索引标签。在表设计器中,字段标签中,索引的下拉列表框中,选择索引在表设计器中,字段标签中,索引的下拉列表框中,选择索引方向,升序(方向,升序()或降序()或降序();建立的索引就是一个普通索引。);建立的索引就是一个普通索引。其他索引的建立:必须使用表设计器的索引标签。其他索引的建立:必须使用表设计器的索引标签。在表设计器中,索引标签中,选择字段和索引类型。在表设计器中,索引标签中,选择字段和索引类型。三、在表设计器中建立索引53二级VFP程序设计教程第四章 V FP 数据库及其操作 2、复合字段索引的建立、复合字段索引的建立基于多个字段的索引叫复合字段索引使用表设计器的索引标签,选择确定索引名和类型后,单击“表达式”右侧的按钮,在表达式生成器中确定索引表达式。2、复合字段索引的建立54二级VFP程序设计教程第四章 V FP 数据库及其操作 四、用命令建立索引四、用命令建立索引Index on 索引表达式 to 简单索引文件名|tag 结构复合索引文件名 of cdxfilename ascending|descending unique|candidateadditive(关闭以前索引,使建立的索引成为当前索引)to 简单索引文件名:则表示建立一个简单索引文件。tag 结构复合索引名:则表示建立一个与表同名的结构复合索引。of 非结构复合索引文件名:建立一个非结构复合索引文件名。四、用命令建立索引55二级VFP程序设计教程第四章 V FP 数据库及其操作 即可以建立在三种类型的索引。ascending|descending:升降序。unique|candidate:是唯一索引还是候选索引。Additive:是否关闭以前索引,使建立的索引成为当前索引。默认为关闭以前的索引。例:index on 年龄 tag 年龄即可以建立在三种类型的索引。56二级VFP程序设计教程第四章 V FP 数据库及其操作 五、使用索引五、使用索引1.打开索引文件打开索引文件与表名相同的结构索引在打开表时都能够自动打开,但是对于非结构索引必须在使用之前打开索引文件。命令格式:SET INDEX TO 索引文件1,索引文件2,可以打开多个索引文件,但第一个索引文件成为主控索引文件。五、使用索引57二级VFP程序设计教程第四章 V FP 数据库及其操作 2.设置当前索引设置当前索引若数据表中建立了许多索引,其中总有一个为主,数据表记录总是以该索引的要求排序,这个索引就叫主控索引或者当前索引。结构复合索引文件随着数据表打开后,其中的索引标识(tag)并不起作用,数据表记录顺序仍然保持原始的数据排列,必须指定某个索引标识为主控索引后,数据表记录的排列顺序才会跟着这个标识的索引顺序变化。2.设置当前索引58二级VFP程序设计教程第四章 V FP 数据库及其操作 设置主控索引的两种方法:、命令法:SER ORDER TO 索引号|TAG 索引名ASCENDING、DESCENDING功能:将指定索引号或者索引名的索引作为主控索引。例:将结构索引文件中的“订购单号”设置为当前索引。SET ORDER TO TAG 订购单号或SET ORDER TO 订购单号 设置主控索引的两种方法:59二级VFP程序设计教程第四章 V FP 数据库及其操作 例:将结构索引文件中的“学号”设置为前索引。Set order to tag 学号操作:将学生表中的所在系设为主控索引,并浏览该表。、交互方式:浏览表表菜单属性如:将学生表中的学生号设为主控索引,并浏览该表。例:将结构索引文件中的“学号”设置为前索引。60二级VFP程序设计教程第四章 V FP 数据库及其操作 3使用索引快速定位使用索引快速定位 用SEEK命令定位。格式:SEEK 索引关键字值 ORDER 索引号|TAG 索引名 ASCENDING、DESCENDING功能:以主控索引为序,找索引关键字的值为指定指的记录。例。假设当前正在使用的学生表,将记录指针定位到学号为9921105的记录上。SEEK 9921105 ORDER 学号3使用索引快速定位 61二级VFP程序设计教程第四章 V FP 数据库及其操作 4删除索引删除索引(1)在表设计器中使用“索引”选项卡选择并删除(2)使用命令 DELETE TAG TagName1 DELETE TAG ALL 4删除索引62二级VFP程序设计教程第四章 V FP 数据库及其操作 第五节第五节 数据完整性数据完整性 数据完整性数据完整性是保证数据正确的特性,数据完整性一般包括实体完整性、域完整性和参照完整性。一、实体完整性与主关键字一、实体完整性与主关键字实体完整性是保证表中记录唯一的特性,即在一个表中不允许有重复的记录。利用主关键字或侯选关键字来保证表中的记录唯一,即保证实体唯一性。第五节 数据完整性 63二级VFP程序设计教程第四章 V FP 数据库及其操作 二、域完整性与约束规则二、域完整性与约束规则数据类型的定义属于域完整性的范畴。因为数据类型的定义本身已经包含了数据的取值范围。域约束规则也称做字段的有效性规则,在插入或修改字段值时被激活,主要用于检验数据的正确性。在表设计器中建立字段有效性规则。二、域完整性与约束规则64二级VFP程序设计教程第四章 V FP 数据库及其操作 例:以“教师”数据库中的“教师”表为例,设置年龄的有效性规则在20至60之间,当输入的教师年龄不在此范围时给出出错信息,教师的默认年龄为32。在“规则”框中(或表达式生成器)输入表达式:年龄=20.and.年龄=60在“信息”框中输入表达式:“年龄输入错误,应该在20-60之间”在“默认值”框中,输入表达式:32注意:规则是逻辑表达式,信息是字符表达式,默认值类型根据字段类型决定。例:以“教师”数据库中的“教师”表为例,设置年龄的有效性规则65二级VFP程序设计教程第四章 V FP 数据库及其操作 三、参照完整性与表之间的关联三、参照完整性与表之间的关联参照完整性与表之间的关联有关,其含义是其含义是:当插入、删除或修改一个表中的数据时,通过参照引用相互关联的另一个表中的数据,来检查对表操作是否正确。在Visual Foxpro中为了建立参照完整性,必须首先建立表之间的联系。三、参照完整性与表之间的关联66二级VFP程序设计教程第四章 V FP 数据库及其操作 1、建立表之间的联系、建立表之间的联系在父表中建立主索引,在子表中建立普通索引,然后通过父表的主索引和子表的普通索引建立两个表之间的联系。将“学生”数据库中的“学生”的“学号”字段设为主索引,“选课”表中的“学号”字段设为普通索引,建立两表之间的关联。方法:在数据库设计器中,将父表中的主索引拖动到子表的普通索引上。1、建立表之间的联系67二级VFP程序设计教程第四章 V FP 数据库及其操作 2、设置参照完整性约束、设置参照完整性约束建立参照完整性之前必须首先清理数据库。清理数据库是物理删除数据库中所有带删除标记的记录。清理方法清理方法:打开数据库管理器,执行“数据库”中的“清理数据库”。设置参照完整性设置参照完整性:右键单击连线编辑参照完整性,分别设置:更新规则、删除规则、插入规则。2、设置参照完整性约束68二级VFP程序设计教程第四章 V FP 数据库及其操作 在“参照完整性生成器”窗口,有三个选项卡供用户选择。其中:当选择“更新规则”选项卡,可以利用三个选择按钮,设置关联表间的更新规则,即如何更新对父表。级联级联:用新的关键字值更新子表中的所有相关记录;限制限制:若子表中有相关记录则禁止更新;忽略忽略:允许更新,不管子表中的相关记录。在“参照完整性生成器”窗口,有三个选项卡供用户选择。其中:69二级VFP程序设计教程第四章 V FP 数据库及其操作 当选择“删除规则”选项卡,可以利用三个选择按钮,设置关联表间的删除规则。如何删除父表中的内容。级联级联:删除子表中的所有相关记录;限制限制:若子表中有相关记录,则禁止删除;忽略忽略:允许删除,不管子表中的相关记录。当选择“删除规则”选项卡,可以利用三个选择按钮,设置关联表间70二级VFP程序设计教程第四章 V FP 数据库及其操作 选择“插入规则”选项卡,可以利用二个选择按钮,设置关联表间的插入规则。即如何在子表中插入记录:限制限制:若父表中没有匹配的关键字值,则禁止插入;忽略忽略:允许插入。选择“插入规则”选项卡,可以利用二个选择按钮,设置关联表间的71二级VFP程序设计教程第四章 V FP 数据库及其操作 例如:学生情况表(一个学生一个记录,以学号建立主索引)和学生考试成绩表(一门课的成绩是一个记录,以学号建立普通索引)。设置“学生”数据库中三个表的参照完整性:更新和删除规则为“级联”,插入规则为“限制”。并验证其结果。例如:学生情况表(一个学生一个记录,以学号建立主索引)和学生72二级VFP程序设计教程第四章 V FP 数据库及其操作 第六节第六节 自由表自由表一、数据库表与自由表一、数据库表与自由表自由表自由表:不属于任何数据库的表,其扩展名为dbf。以一个独立的文件形式存在,不具备数据库中的表所拥有的部分特性:如长文件名,有效性规则等。可以将自由表添加到数据库中,成为数据库表;也可以将数据库表从数据库中移出,成为自由表。当没有打开数据库时建立的表就是自由表。第六节 自由表73二级VFP程序设计教程第四章 V FP 数据库及其操作 建立自由表的方法:从“项目管理器”中选择“自由表”,然后建立。在无数据库打开时,从文件菜单选择“新建”。在无数据库打开时,使用CREAT命令建立。建立自由表的方法:74二级VFP程序设计教程第四章 V FP 数据库及其操作 二、将自由表添加到数据库二、将自由表添加到数据库 在项目管理器中,单击添加,或数据库设计器中,右击选“添加”,可将自由表添加到数据库中。命令法:ADD TABLE 表名 表的长文件名例如:把自由表TTT添加到当前数据库,并给出具有说明意义的长表名。ADD TABLE ttt NAME 2001级学生军训表二、将自由表添加到数据库 75二级VFP程序设计教程第四章 V FP 数据库及其操作 三、从数据库中移出表三、从数据库中移出表 当数据库不再使用某个表,而其他数据库要使用该表时,必须将该表从当前数据库中移出,使之成为自由表。在项目管理器和数据库设计器中都可以方便地将数据库表移出数据库。命令法:REMOVE TABLE 表名 DELETERECYCLE如果命令中带一个问号,则显示对话框。三、从数据库中移出表 76二级VFP程序设计教程第四章 V FP 数据库及其操作“移去”是从数据库中移出表,使被移出的表成为自由表。“删除”是不仅从数据库中将表移出,而且还从磁盘上删除该表。一旦某个表从数据库中移出,那么与之关联的所有主索引、默认值及有关的规则都随之消失,因此,将某个表移出的操作会影响到当前数据库中与该表有联系的其它表。“移去”是从数据库中移出表,使被移出的表成为自由表。77二级VFP程序设计教程第四章 V FP 数据库及其操作 第七节第七节 多个表的同时使用多个表的同时使用一、工作区的概念一、工作区的概念 数据库系统中,有时要求几个表同时处于打开状态,以便于表间内容的相互补充,数据表之间进行互访,进行信息资源的共享;为此VF系统设置了分工作区操作的功能。VFP允许用户最多同时打开32767个数据表,但是每次只能对其中的一个表进行操作。这个被选中的数据表叫当前数据表。工作区工作区:内存中开辟的专门用于存贮数据表及相关文件的区域。每个工作区只能打开一个工作表,最多可以建立32767个工作区。第七节 多个表的同时使用78二级VFP程序设计教程第四章 V FP 数据库及其操作 每个工作区都有自己的编号和名称每个工作区都有自己的编号和名称:132767 或者 AJ,W11W32767每次启动VFP后,系统默认系统默认1号工作区为当前工作区。每个表打开后都有两个默认的别名,一个是表名,另一个是工作区所对应的别名。在前10个工作区中指定的默认别名是工作区字母A到J,工作区11到32767中指定的别名是W11到W32767。每个工作区都有自己的编号和名称:132767 或者 A79二级VFP程序设计教程第四章 V FP 数据库及其操作 说明:同一个数据表文件不允许在两个工作区上同时打开,一个工作区中只能打开一个表。二、当前工作区的选择二、当前工作区的选择 格式:SELECT 工作区名数据表别名0功能:指定工作区号(1、2、3A、B、C)或别名的工作区为当前工作区。如用:SELECT 0 则:让系统自动选择区号最小的空闲工作区为当前工作区。说明:同一个数据表文件不允许在两个工作区上同时打开,一个工作80二级VFP程序设计教程第四章 V FP 数据库及其操作 一个表除了前述的两个名称外,还可一个表除了前述的两个名称外,还可在use命令中用alias指定的别名:use 学生 in 1 alias student一个表除了前述的两个名称外,还可在use命令中用alias指81二级VFP程序设计教程第四章 V FP 数据库及其操作 例:分别在第例:分别在第1、2、3工作区打开学生,课程和成绩工作区打开学生,课程和成绩三个表,并选择当前的工作区。三个表,并选择当前的工作区。OPEN DATABASE 学生管理SELECT 1USE 学生SELECT 2USE 课程SELECT 3USE 成绩例:分别在第1、2、3工作区打开学生,课程和成绩三个表,并选82二级VFP程序设计教程第四章 V FP 数据库及其操作 如果到第一个工作区操作学生表,则命令:SELECT 学生 和 SELECT 1 是等价的三、表之间的关联三、表之间的关联 参照数据数据完整性介绍了表之间的关联或联系,它们是基于索引建立的一种“永久联系”,这种联系存在于数据库中,可以在“查询设计器”或“视图设计器”中自动作为默认联系条件保持数据库表之间的联系。如果到第一个工作区操作学生表,则命令:83二级VFP程序设计教程第四章 V FP 数据库及其操作 永久连接不能控制不同工作区中记录指针的联动。永久连接不能控制不同工作区中记录指针的联动。需要能够控制表间记录指针关系的临时联系,称之为“关联”关联关联:建立多个表文件的记录之间按某个关键字表达式建立对应联系,当主表文件的当前记录改变后,有联系的辅表文件的当前记录也按关联关系发生变化。又称为表文件之间的逻辑关联。永久连接不能控制不同工作区中记录指针的联动。84二级VFP程序设计教程第四章 V FP 数据库及其操作 1、设置关联、设置关联格式:SET RELATION TO 关键字表达式/RECNO()INTO 工作区名 ADDITIVE 功能:使当前工作区上当前数据表的记录指针重新定位时,别名表文件记录指针也做相关联的移动。当前工作区上的当前表文件称关联表文件,其它工作区上打开的表文件称被关联表文件;1、设置关联85二级VFP程序设计教程第四章 V FP 数据库及其操作 关关联表表被被关关联表表关关联依据依据关联表被关联表关联依据86二级VFP程序设计教程第四章 V FP 数据库及其操作 关联的两种形式:关键字表达式关键字表达式:当前表文件记录指针移到某一记录上,被关联的表文件的记录指针也自动指向关键字段值与当前表文件相同的第一个记录。若被关联表文件无关键字段值相同的记录,则指针指向文件尾。要求:被关联表文件使用关键字表达式建立索引并打开此索引文件。RECNO()():数据表文件间按记录号进行关联,关联与被关联表文件之间当前记录号保持相等。关联的两种形式:87二级VFP程序设计教程第四章 V FP 数据库及其操作 又如:基本情况表和成绩表之间的关联。2、取消关联、取消关联、用新的关联替代旧关联、取消关联,但表保持打开状态命令:SET RELATION TO、关闭数据表又如:基本情况表和成绩表之间的关联。88二级VFP程序设计教程第四章 V FP 数据库及其操作 例:学生基本情况表与成绩表之间按学号建立关联。OPEN DATABASE 学生管理USE 学生 IN 1 ORDER 学号USE 成绩 IN 2 ORDER 学号Sele 1SET RELATION TO 学号 INTO 成绩一般为了减少数据库的存贮容量,类似政治面貌、民族等信息可以借助于关联实现代码化。例:学生基本情况表与成绩表之间按学号建立关联。89二级VFP程序设计教程第四章 V FP 数据库及其操作 第八节第八节 排序排序索引可以使用户按照某中顺序浏览或查找表中的记录,这时的顺序是逻辑的,是通过索引关键字实现的。另外还有一个物理排序的命令。排序也称分类,即按照数据表文件中某个指定字段(称为关键字段)的值,将所有指定的记录重新排列,并生成新的表文件。第八节 排序90二级VFP程序设计教程第四章 V FP 数据库及其操作 格式:SORT TO 文件名 ON关键字段名1ACD,关键字段名2ACD范围FORWHILE表达式FIELDS字段名表 功能:对已打开的数据库文件按指定的关键字段名排序。A表示按递增顺序排序;D表示按递减顺序排序;C表示不区分大小写字母,可与A或D连用。格式:SORT TO 文件名 ON关键字段名191二级VFP程序设计教程第四章 V FP 数据库及其操作 二级VFP程序设计教程课件92
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!