《数据表与记录的操作.pptx》由会员分享,可在线阅读,更多相关《数据表与记录的操作.pptx(51页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、2023/3/251数据库表的确定确定数据库表是数据库设计过程中技巧性最强的一步。应注意以下几个方面的问题:应注意以下几个方面的问题:一个表只保存一个主题的内容;同一信息只保存一次,这将减少出错的可能性;防止删除有用信息。以建立以建立Gxglxt数据库中的表为例数据库中的表为例:Student表和Grade表都与学生有关,但关于学生个人情况的信息保存在Student表中,Grade表中只保存与成绩有关的信息。当一个班的学生毕业后,可能要删除这个班级,但不能删除这个专业,最好的方法是建立一个“专业(Specialty)”表。第1页/共51页2023/3/252数据库表字段确定 1、碇定表中字段及
2、字段类型、碇定表中字段及字段类型表中的字段要以表的主题为中心,与主题无关的数据可放至其它表中。2、使用主关键字段、使用主关键字段 VFP不允许在主关键字中有重复值或null值。因此,不能选择包含有这类值的字段作为主关键字。返 回第2页/共51页2023/3/253数据库表间关系设定 VFP是一个关系型数据库管理系统。在每个不同的表中存储的数据之间有一定的关系。通过在这些表之间定义关系后,可以利用这些关系来查找数据库中有关的信息。表之间有三种关系:即一对一关系、一对多关系和多对多关系一对一关系、一对多关系和多对多关系 在一对一关系中 如果两个表的主关键字字段具有相同的意义,以此可建立一对一关系。
3、在一对多关系中要建立这样的关系,就要把关系中“一方”的主关键字字段添加到“多方”的表中。在关系中,“一方”用主关键字或候选索引关键字,而“多方”使用普通索引关键字。在多对多关系中向VFP正确指定关系之前,需要改变数据库的设计,即创建第三个表,把多对多关系分解为二个一对多关系。这第三个表称作“纽带表”,纽带表可能只包含这两个表的主关键字,也可能包含其它信息。第3页/共51页2023/3/254数据字典的作用 数据字典(Date Dictionary)是包含数据库中所有表信息的一张表。存储在数据字典中的信息称之为元数据(Metadata),换言之,其记录关于数据的数据。主要存储以下内容:主关键字和
4、候选索引关键字。数据库中表间的永久关系。长表名和长字段名。各字段的标题,日后它们作为标题头显示在“浏览”窗口和表格中。字段的默认值。表单中使用的默认控件类。字段的输入掩码和显示格式。字段级规则和记录级规则。触发器。存储过程。与远程数据源的连接。本地视图与远程视图。对每个字段、表和数据库的注释。返 回第4页/共51页2023/3/2553.2 数据表的设计 1、创建数据库、创建数据库 2、将表加入到数据库、将表加入到数据库 要将一个或多个表加入到数据库中时,可以在“项目管理器”中选择“数据数据”选项卡,再从列表中选择“数据库数据库”项下的“表表”,最后选择【添加】按钮。要添加的表必须具备下列条件
5、:要添加的表必须具备下列条件:该表是一个有效的.DBF文件;项目管理器不允许与数据库中已有的表同名。表不能同时放在另一个数据库中。返 回第5页/共51页2023/3/256建立表前的准备 在建立表结构以前,首先应该根据用户的需求,明确所要创建的表中应该包含哪些字段,每个字段的名称、类型和宽度。创建Gxglxt中的Student(学生情况)表基本情况应包括:学号、姓名、性别、出生日期、班级、电话等内容。结构如下:第6页/共51页2023/3/257建立表基本结构 使用命令建立表结构:使用命令建立表结构:格式格式:CREATE 功能:建立一个表文件。说明:输入命令后,按Enter键,屏幕上会出现“
6、表设计器”对话框,利用该对话框即可建立表的结构。说明:输入命令后,按Enter键,屏幕上会出现“表设计器”对话框,利用该对话框即可建立表的结构。若表定义了备注型字段,则同时建立了一个.FPT为扩展名的表备注文件。若在文件名前指定了驱动器标识符,则文件建立在指定的驱动器上,否则建立在当前驱动器上。不指定文件扩展名时,缺省扩展名为.DBF。第7页/共51页2023/3/258表结构的基本处理方法 功能:显示当前表结构的有关信息。包括表文件名、记录个数、最后一次修改日期、各字段的字段号、字段名、类型、宽度和小数位,一条记录的字节总数。1、显示表结构格式一:LIST STRUCTURE TO PRIN
7、TERPROMPT/TO FILE格式二:DISPLAY STRUCTURE TO PRINTERPROMPT/TO FILE第8页/共51页2023/3/2592、修改表文件的结构修改表文件的结构格式:MODIFY STRUCTURE功能:显示表设计器,修改当前表文件的结构。(1)、删除字段 第一步:将光标移到要删字段的任一位置或单击该字段的任意位置;第二步:按Ctrl+D删除该字段或单击【删除】命令按钮;(2)、插入新字段 第一步:将光标移到要插入字段的下一行的任一位置第二步:按Ctrl+I或单击【插入】按钮,便可插入一个新的空字段。(3)、修改字段名、宽度、类型和小数位 将光标移到要修改
8、处直接进行修改。按Ctrl+W或单击【确定】按钮存盘,返回命令窗口。第9页/共51页2023/3/25103、复制表结构 格式格式:COPY STRUCTURE TO FIELDS 功能:将当前打开的表文件结构的部分或全部复制为所指定的一个表的结构。4、将表结构文件还原成表结构 格式:格式:CREATE FROM 功能:将表结构文件还原成为普通表文件。新建的表文件是一个只有结构部分而没有记录的表结构框架。第10页/共51页2023/3/2511表的打开与关闭 使用任何一个表以前,都必须首先打开表。格式:格式:USE EXCLUSIVE SHARED功能:功能:打开指定的表文件。参数描述:参数描
9、述:指定要打开的表的名称。EXCLUSIVE:在网络上以独占的方式打开表。SHARED:在网络上以共享的方式打开表。打开表时若表含有备注型字段,则FPT文件也同时被打开。每个表被打开时均赋于一个别名。若省略ALIAS,则其别名与主文件名相同。若不选择任何参数,表示关闭当前工作区中已打开的表。在任一时刻,每个工作区最多允许打开一个表。如果指定工作区已有表打开,在打开新的表时,系统总是先自动关闭原来打3.3 记录基本处理方法 第11页/共51页2023/3/2512打开的表。打开表时,记录指针指向第一条记录。录入记录 表的数据录入有多种方法:第一种方法是在表结构建立时录入数据;第二种方法是在表结构
10、建成并存盘关闭了“表设计器”之后,利用命令向表中追加记录。格式:格式:APPEND BLANK 参数描述:BLANK:在当前表的末尾添加一条空记录。功能:在表的末尾添加一个或多个新记录。返 回第12页/共51页2023/3/2513打开浏览窗口后通过追加方式添加记录方法:在项目管理器中选定一个要添加记录的表,然后单击【浏览】,然后在系统菜单中选择【显示】|【追加方式】。添加记录的数据返 回第13页/共51页2023/3/2514记录指针定位 记录定位就是将记录指针移到指定的记录上,记录指针指向的记录称为当前记录。VFP提供了下列绝对定位和相对定位两类命令。1、记录指针的绝对定位 格式一:格式一
11、:GOTO RECORD /TOP/BOTTOM 格式二:格式二:GO RECORD /TOP/BOTTOM格式三:格式三:功能:将记录指针直接定位到指定的记录上。参数描述:指定一个物理记录号,记录指针移至该记录上。TOP:将记录指针定位在表的第一个记录上。BOTTOM:将记录指针定位在表的最后一个记录上。第14页/共51页2023/3/25152、记录指针的相对定位 相对定位与当前记录有关,它是把记录指针从当前位置作相对移动。格式格式:SKIP 功能:将记录指针向前或向后作相对若干条记录的移动。参数描述:指定记录指针作相对移动的记录数据。说明:1、移动的记录数等于的值,其值为正数时,记录指针
12、向下移动,当是负数时,记录指针向上移动。2、省略选择项,约定为向下移动一条记录,即SKIP 等价于SKIP 1。返 回第15页/共51页2023/3/2516在表中插入记录 1 1、INSRETINSRET命令命令 格式格式:INSERT BLANK BEFORE 功能:在当前记录之前或之后插入一条或多条新记录。参数描述:选择BEFORE子句,新记录插在当前记录之前,当前记录和其后的记录向后顺序移动;否则插在当前记录之后,当前记录之后的记录顺序向后移动。选择BLANK子句,则插入一条空记录。第16页/共51页2023/3/25172 2、INSERTINSERTSQLSQL命令命令 格式一:格
13、式一:INSERT INTO(,)VALUES(,)格式二:格式二:INSERT INTO FROM ARRAY/FROM MEMVAR 功能:功能:在表尾追加一个包含指定字段值的记录。参数描述:参数描述:指定要追加记录的表文件名。中可以包含路径,也可以是一个名称表达式。(,):指定要插入值的字段名。VALUES(,):新插入记录的字段值。FROM ARRAY:指定一个数组,数组中的数据将被插入到新记录中。FROM MEMVAR:把内存变量的内容插入到与它同名的字段中。说明:说明:第17页/共51页2023/3/2518INSERT INTO Student(学号,姓名,性别,出生日期,班级,
14、宿舍,;电话)VALUES(99045002,张中强,男,1980/03/22,;99电子,3-311,2356306)3 3、从另一个表中成批追加记录、从另一个表中成批追加记录 格式:格式:APPEND FROM/?FIELDS FOR 功能:功能:从一个表中读入记录,追加到当前表的尾部。参数描述:参数描述:指定要向当前表中追加记录的数据源。:显示“打开”对话框,从中选择从哪个表中读入数据。FIELDS :指定添加哪些字段数据。FOR:为当前选定表中每一条为“真”的记录追加新记录,直至达到当前选定表的末尾。如果省略FOR子句,则整个源文件记录都追加到当前表中。返 回第18页/共51页2023
15、/3/2519显示表中的记录 格式一:格式一:LIST OFF FIELDS FOR WHILE TO PRINTER PROMPT/TO FILE 格式二格式二:DISPLAY OFF FIELDS FOR WHILE TO PRINTER PROMPT/TO FILE 功能:功能:显示当前表中的全部或部分记录和数据。参数描述:参数描述:OFF:使用OFF时,不显示记录号,否则显示记录号。:范围为可选项,选择时为ALL、RECORD(N)、NEXT(N)、REST中的一个参数,表示记录显示的范围。FIELDS:若省略,则显示当前表中的所有字段,否则显示指定的字段。如果备注字段名出现在中,则它
16、的内容按50个字符列宽显示,第19页/共51页2023/3/2520FOR/WHILE:该子句用于有选择地显示某些记录,省略时则显示限定的全部记录。TO PRINTER PROMPT/TO FILE:指定记录列表的输出方向。TO PRINTER PROMPT指定输出到打印机。PROMPT参数的使用方法同前。TO FILE 指定输出到所指定的文本文件中。LIST和DISPLAY的区别:(1)DISPLAY每显示一屏记录时暂停一次,按任意键后继续显示剩余的记录,而LIST没有周期性暂停,连续向下显示,直到记录显示完毕为止。(2)若省略所有可选项,则DISPLAY命令显示当前记录,即范围为NEXT
17、1,而LIST命令显示全部记录,即范围为ALL。返 回第20页/共51页2023/3/2521修改表中的记录 1、全屏幕编辑命令(1)利用菜单浏览和修改表中的数据 第一步:在项目管理器中选择【数据】选项卡第二步:在数据库中选择一个表第三步:单击项目管理器中的【浏览】按钮第21页/共51页2023/3/2522VFP系统打开全屏幕浏览窗口第四步:在浏览窗口中修改数据记录标志位当前记录标志删除标志位关闭按钮第五步:修改结束后单击关闭按钮关闭浏览窗口在浏览窗口中可以去除、恢复垂直分隔线,也可以改变字段的显示宽度。第22页/共51页2023/3/2523(2)利用命令浏览和修改表中的数据 格式:格式:
18、BROWSE FIELDS LOCK LAST FOR 功能:功能:在屏幕上打开一个浏览窗口,在窗口中显示表的记录。参数描述:参数描述:Fields:指定在浏览窗口中显示的表的字段。LOCK:将浏览窗口一分为二,指定在左窗口中显示的字段数。LAST:按最后一次关闭浏览窗口的方式打开浏览窗口。FOR:指定在浏览窗口中显示的记录所要求满足的条件。说明:说明:1、BROWSE命令可以带有很多任选项,命令格式中只介绍了BROWSE命令的最基本的任选项。第23页/共51页2023/3/25242、记录值替换命令、记录值替换命令 格式:格式:REPLACE ADDITIVE,WITH ADDITIVE F
19、OR WHILE 功能功能:不进入全屏幕编辑方式,根据命令中指定的条件和范围,用表达式的值去更新指定字段的内容。参数描述:参数描述:指定要替换值的字段。WITH :指定用来进行替换的表达式或值。:指定进行替换时的记录范围。FOR :指定要进行替换字段值的记录应满足的条件。WHILE:当记录的条件不满足时结束替换。用以按条件中的字段建立了索引的表。说明:说明:WITH后面的表达式的类型必须与WITH前面的字段类型一致。返 回第24页/共51页2023/3/2525删除记录 在VFP中删除记录是分为两步来进行的,第一步是将要删除的记录做上删除标记,第二步才是将记录真正从表是彻底删除。1、逻辑删除(
20、为记录做上删除标记)格式:格式:DELETE FOR WHILE 功能:功能:对当前表文件中指定的记录做删除标记。GO 7DELETEGO 4DELETE NEXT 3 LIST执行上述命令后屏幕显示结果:第25页/共51页2023/3/25262、物理删除(清除带有删除标记的记录)格式:格式:PACK DBF MEMO 功能:功能:省略选择项,该命令将从当前表中删除所有带删除标记的记录。选择DBF,表示仅清除逻辑删除的记录而不压缩备注文件,选择MEMO表示仅压缩备注文件中无用的空间而不清除被逻辑删除的记录。不带任何选择项时,PACK命令既清除逻辑删除的记录,又压缩备注文件。说明:说明:用PA
21、CK命令删除的记录是不可被恢复的。所以在使用PACK命令前一定要检查删除标记是否加的正确。例:例:PACKLIST执行上述命令后屏幕显示的结果:注意:在进行这一步操作前先备份数据第26页/共51页2023/3/25273、恢复带删除标记的记录 格式:格式:RECALL FOR WHILE 功能:功能:恢复当前表中带删除标记的记录,即去掉删除标记“*”号。当省略所有的选项时,仅恢复当前记录。(先从备份的数据中恢复Student表中的数据)RECALL ALLBROW执行上述命令后屏幕显示的结果4、清除所有记录 格式:格式:ZAP 功能:功能:从当前表中清除全部记录,仅保留表的结构。ZAP命令与D
22、ELETE ALL 和PACK两条命令执行的结果相同,区别在于ZAP执行的速度更快,当表中的记录很多时尤为明显。返 回第27页/共51页2023/3/25283.4 数据分类排序分类:分类:将关键字段值相同的记录按顺序存放在一起,生成一个新的表文件。格式:格式:SORT TO ON /A|/D/C,/A|/D/C.ASCENDING|DESCENDING FOR WHILE FIELDS 功能:功能:对当前选定的表排序,并将排序后的记录输出到新表中。参数描述:参数描述:指定经过排序后所生成的新表的表文件名。ON:在当前选定的、要排序的表中指定关键字段,字段的内容和数据类型决定了记录在新表中的顺
23、序。/A|/D /C:指定排序顺序(升序或降序)。/A指定为按升序排序,/D指定按降序排序。如果在字符型字段名后面包含/C,则忽略大小写。可以把/C选项与/A或/D选项组合起来。返 回第28页/共51页2023/3/2529ASCENDING:将所有不带/D的字段指定为升序排列。DESCENDING:将所有不带/A的字段指定为降序排列。如果省略ASCENDING 和DESCENDING参数,则排序默认为升序。:指定需要排序记录的范围。默认范围为ALL。FOR :在当前表中指定排序中只包含逻辑条件为“真”的记录。WHILE:指定一个条件,在当前表中只要的计算值为“真”,则依据此条件,排序中包含这
24、条记录。FIELDS:指定用SORT命令排序时所创建的新表中要包含的原表中的字段。如果省略FIELDS子句,新表中将包含原表中的所有字段。第29页/共51页2023/3/25303.5 数据的索引 索引文件有二种,单索引文件和复合索引文件,而复合索引文件又可分为结构复合索引文件和非结构复合索引文件两种。VFP对结构复合索引文件提供了四种类型:主索引、候选索引、唯一索引和普通索引。主索引是指关键字段或索引表达式中不允许出现重复值的索引,主要用于主表或被引用的表,用来在一个永久关系中建立参照完整性。一个表而言,只能创建一个主索引。候选索引是可以作主关键字的索引,因为它不包含Null值或重复值。在数
25、据表和自由表中均可以为每个表建立多个候选索引。唯一索引不允许两个索引具有相同的索引值,这种要求与主索引相同。为了保持与早期版本的兼容性,可以建立一个唯一索引,以指定字段的首次出现值为基础,选定一组记录,并对记录进行排序。普通索引可以用来对记录排序和搜索记录,它不强迫记录中的数据具有唯一性。在一个表中可以有多个普通索引。第30页/共51页2023/3/25311、单索引文件的建立、单索引文件的建立 格式:格式:INDEX ON TO UNIQUE FOR ADDITIVE 功能:功能:对当前表中满足条件的记录,按的值建立一个索引文件,并打开此索引文件,其缺省的文件扩展名为.IDX。参数描述:参数
26、描述:用以指定记录重新排序的字段或表达式。建立索引可以是字段名,也可以是含有当前表中字段的合法表达式。UNIQUE:指定UNIPUE子句时,若有多条记录的的值相同时,则只把第一次遇到的记录进行排序加入到索引文件中.第31页/共51页2023/3/25322、复合索引文件的建立、复合索引文件的建立复合索引文件是由索引标记组成的,每个复合索引文件可包含多个索引标记,每个索引标记都有标记名,一个索引标记相当于一个单索引文件。格式:格式:INDEX ON TAG OF FOR ASCENDING|DESCENDING UNIQUE功能:功能:建立和修改复合索引文件,并打开此索引文件,其缺省的文件扩展名
27、为.CDX。参数描述:参数描述:、FOR、ADDITIVE:与上相同。TAG OF:创建一个复合索引文件。在TAG 参数中不包含可选的OF 子句时,便可以创建结构复合索引文件。第32页/共51页2023/3/2533如果在TAG 参数后包含可选项OF 子句,则可以创建非结构复合索引文件。ASCENDING|DESCENDING:ASCENDING 指定复合索引文件为升序,这是默认值。DESCENDING 指定复合索引文件为降序。UNIQUE:对于一个索引关键值,只有第一个满足该值的记录包含在.IDX文件或.CDX标识中。利用UNIQUE子句可以避免显示或访问记录的重复值。第33页/共51页20
28、23/3/2534使用索引 1、打开索引文件(1)在打开表时打开索引文件复合索引文件在打开表时将自动被打开。格式:格式:USE INDEX ORDER/TAG OF ASCENDING/DESCENDING 功能:功能:打开指定的表,并且打开由指定的所有索引文件。说明:说明:虽然可以同时打开多个索引文件,但同一时间只能有一个单索引文件或是复合索引文件中的一个索引标识作为主控索引,记录的操作和显示由主控索引来控制。第34页/共51页2023/3/25352)在ORDER子句中也可以使用单索引文件名、索引标记或数值表达式来规定主控索引。如:使用ORDER 则规定一个单索引文件作为主控索引。3)使用
29、ORDER TAG OF 规定一个子索引文件作为主控索引,ORDER子句中的索引可以是结构复合索引文件中的索引标记,也可以是已经打开的非结构复合索引文件中的索引标记。4)使用ORDER 规定主控索引的序号,根据序号来确定主控索引文件。(2)在打开表后打开索引文件在打开表后打开索引文件格式:格式:SET INDEX TO/?ORDER/TAG OF ASCENDING/DESCENDING功功能能:打开指定的索引文件或关闭索引文件。省略所有选项为关闭当前工作区中除结构复合索引文件外的所有索引文件。第35页/共51页2023/3/25362、设置主控索引 如果在打开索引文件时未指定主控索引,打开索
30、引文件之后需要指定主控索引,或者希望改变主控索引,可使用下面的命令。格式:格式:SET ORDER TO/TAG OF ASCENDING/DESCEN-DING 功能:功能:在打开的索引文件中指定主控索引。第36页/共51页2023/3/25373、索引文件的重建或更新、索引文件的重建或更新当表中的记录当生变化时,如果未打开索引文件,索引文件(结构复合索引文件除外)不会自动更新,要更新这些索引文件,可用下列命令:格式:格式:REINDEX 功能:功能:重建当前打开的所有索引文件。返 回第37页/共51页2023/3/25383.6 记录的查询 直接查询命令 返 回退 出快速查询命令 对话查询
31、 第38页/共51页2023/3/2539直接查询命令 直接查询也叫顺序查询,是按照记录的物理顺序逐个比较,逐个查询。1、LOCATE命令命令 格式:格式:LOCATE FOR WHILE 功能:功能:按顺序搜索表,从而找到满足指定逻辑表达式的第一个记录。2、CONTINUE命令命令 格式:格式:CONTINUE 功能:功能:它使LOCATE命令从当前记录开始继续查找下一条满足条件的记录。第39页/共51页2023/3/2540快速查询命令 VFP提供了快速查询命令:FIND1、FIND命令:命令:格式:格式:FIND/功能:功能:它在已经建立索引并且表文件和索引文件均已打开的表中查找索引关键
32、值与指定的字符串或数值型常量相匹配的第一条记录。如果找到,则把记录指针指向该记录,并且将FOUND()函数的值置为“真”;如果没有找到与其相符的记录,则将记录指针指向表的末尾,且将FOUND()函数的值置为“假”,将EOF()函数的值置为“真”。第40页/共51页2023/3/25413.7 数据的统计 求记录个数的命令 求和命令 求平均值命令 第41页/共51页2023/3/2542求记录个数的命令 格式:格式:COUNT FOR WHILE TO 功能:功能:统计当前表中指定范围内满足条件的记录个数,并存于中。返 回求和命令 格式:格式:SUM FOR WHILE TO 功能:功能:对当前
33、表中指定范围内满足条件的数值型字段或是由字段组成的数值型表达式累加求和,并把结果存放在对应的标识的变量中。第42页/共51页2023/3/2543求平均值命令 格式:格式:AVERAGE FOR WHILE TO 功能:功能:对当前表中指定范围内满足条件的记录的数值型字段求算术平均值,并把结果存入中或存入指定的数组中。返 回第43页/共51页2023/3/25443.8 多工作区操作 工作区与多个表 表的关联 第44页/共51页2023/3/2545 工作区与多个表 1、工作区号与别名、工作区号与别名 VFP6提供了多达32767个工作区,每个工作区都有一个工作区号,分别用132767表示,其
34、工作区110还分别对应有别名AJ。每个打开的表也都有一个别名,当用命令USE 打开表时,系统默认的表的别名就是该表的主文件名。如果在打开表时,在USE命令后面使用了ALIAS参数指定了表的别名,则可为表另外起一个别名,这时的表文件名就不再是表的别名。打开表亲为表指定一个别名打开表亲为表指定一个别名命令:命令:USE ALIAS IN 工作区号工作区号/工作工作区别名区别名/表别名表别名功能:在指定的工作区打开指定的表文件,并为该表文件起一个别名。若省略可选项时,系统将取表的主文件名作为该表文件的别名,并且是在当前工作区中打开表文件。第45页/共51页2023/3/25462、工作区的选择与多表
35、文件的打开与关闭、工作区的选择与多表文件的打开与关闭 若想改变当前工作区,则可使用SELECT命令来转换当前工作区。格式:格式:SELECT/0功能:功能:选择一个工作区作为当前工作区。3、使用、使用CLOSE命令关闭打开的表文件命令关闭打开的表文件 格式格式1:CLOSE DATABASE 格式格式2:CLOSE TABLE 功能:功能:关闭当前打开的所有表,不改变当前工作区。格式格式3:CLOSE ALL 功能:功能:关闭所在所有工作区中打开了的表、表和单索引文件并且选择1号工作区为当前工作区。功能:功能:关闭当前打开的数据库和所有打开的表文件,并使1号工作区成为当前工作区。第46页/共5
36、1页2023/3/2547使用使用USE命令关闭打开的表文件命令关闭打开的表文件 格式:格式:USE IN/功能:功能:关闭指定工作区中的表文件。返 回第47页/共51页2023/3/2548表的关联 如果在多个工作区同时打开多个表文件,在当前工作区中移动表的记录指针时,其它表的记录指针是不会随之移动。如果要想其它表的记录指针也随之移动,则要建立表间的关联。关联就在二个或二个以上的表之间建立某种联接,使其表的记录指针同步移动。用来建立关联的表称为父表,被关联的表称为子表。1、建立关联、建立关联 格式:格式:SET RELATION TO INTO/,INTO/功能:功能:在两个表之间建立关联。
37、参数描述:参数描述:指定用来在子表和父表之间建立关联的关联表达式。关联表达式经常是子表主控索引的索引表达式。第48页/共51页2023/3/2549可以是下列三种参数之一:1、是记录号函数RECNO()。此时,两个或多个关联表之间的联系是根据记录号来进行关联的,关联表与被关联表之间当前记录号保持相等。SELECT 2USE SCORE ALIAS CJSELECT 1USE STUDENTSET RELATION TO RECNO()INTO CJ 2、选择二个表的公共字段建立关联,使用这种方法时,要求被关联的表文件必须是按指定的公共关联字段建立并打开了索引文件。SELECT 2USE SCO
38、RE ALIAS CJINDEX ON 学号 TO XHSYSELECT 1USE STUDENT SET RELATION TO 学号 INTO CJ 第49页/共51页2023/3/25502、解除关联、解除关联 格式格式1:SET RELATION TO 功能:功能:删除当前工作区表与其它工作区表建立的关联。格式格式2:SET RELSTION OFF INTO/功能:功能:删除当前工作区与由/指定的工作区中表建立的关联。该命令必须在父表所在的工作区执行。例如:要关闭当前工作区与C工作区建立的关联。可以作下述命令进行:SET RELATION OFF INTO C 当用USE关闭某些表时,系统将自动删除掉与它建立的关联。如果关闭的是父表文件,则它与子表的关联将全被删除。当关闭父表时,将自动关闭与父表建立的所有关联。第50页/共51页2023/3/25Visual FoxPro 6.0程序设计51感谢您的观看!第51页/共51页