visualfoxpro程序设计案例教程蔡莉vf按章7_第1页
visualfoxpro程序设计案例教程蔡莉vf按章7_第2页
visualfoxpro程序设计案例教程蔡莉vf按章7_第3页
visualfoxpro程序设计案例教程蔡莉vf按章7_第4页
visualfoxpro程序设计案例教程蔡莉vf按章7_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

1、3.6 多表操作多表操作3.6.1 工作区的概念工作区的概念若要使用多个表,就要使用多个工作区。一个工若要使用多个表,就要使用多个工作区。一个工作区是一个编号区域,用它来标识一个已打开的作区是一个编号区域,用它来标识一个已打开的表,每个工作区只能打开一个表。表,每个工作区只能打开一个表。vfpvfp可以在可以在3276732767个工作区中打开和操作表。个工作区中打开和操作表。工作区除了可以用它的编号外,还可以用在工作工作区除了可以用它的编号外,还可以用在工作区中打开的表的名称、别名来标识。表别名是一区中打开的表的名称、别名来标识。表别名是一个名称,它可以引用在工作区中打开的表。个名称,它可以

2、引用在工作区中打开的表。如果没有指定工作区,系统默认总是在第如果没有指定工作区,系统默认总是在第1 1工作区工作区中工作,在第中工作,在第1 1工作区中打开和关闭表。工作区中打开和关闭表。命令格式:命令格式:selectselect| 命令功能:该命令可以将指定的工作区设为当前命令功能:该命令可以将指定的工作区设为当前工作区。工作区。说说 明:明:(1 1) 的取值范围为的取值范围为0-327670-32767。如果取值。如果取值为为0 0,则激活尚未使用的工作区中编号最小的一个。,则激活尚未使用的工作区中编号最小的一个。(2 2) 是打开表的别名,用来指定包含打开是打开表的别名,用来指定包含

3、打开的工作区。也可以用从的工作区。也可以用从a a到到j j中的一个字母作为中的一个字母作为 ,来激活前,来激活前1010个工作区中的一个,工作区个工作区中的一个,工作区1111到到3276732767中指定的别名是中指定的别名是w11w11到到w32767w32767。例如:在教职工数据库中,分别在第例如:在教职工数据库中,分别在第1 1、2 2、3 3工作工作区中,打开区中,打开3 3个表:个表:zgdazgda表、表、zggzzggz表和表和jskcjskc表,并表,并选择当前工作区。选择当前工作区。open database open database 教职工教职工 &打开教职工数据库

4、打开教职工数据库select 1 &select 1 &选择第选择第1 1个工作区个工作区use zgda &use zgda &在第在第1 1个工作中打开个工作中打开zgdazgda表表select 2 &select 2 &选择第选择第2 2个工作区个工作区use zggz &use zggz &在第在第2 2个工作中打开个工作中打开zggzzggz表表select 3 &select 3 &选择第选择第3 3个工作区个工作区use jskc &use jskc &在第在第3 3个工作中打开个工作中打开jskcjskc表表select zgda select zgda 或或 select

5、1 select 1 &在第在第1 1个工作区操作个工作区操作zgdazgda表,两个命令是等价的表,两个命令是等价的3.6.2 在不同工作区中使用表在不同工作区中使用表1 1、表的打开和关闭、表的打开和关闭可以使用可以使用useuse命令命令, ,在不同的工作区中打开或关闭表。在不同的工作区中打开或关闭表。(1 1)在当前工作区中打开和关闭表)在当前工作区中打开和关闭表当执行不带表名的当执行不带表名的useuse命令,并且在当前所选工作命令,并且在当前所选工作区中打开表文件时,则关闭该表。区中打开表文件时,则关闭该表。(2 2)在其他工作区中打开表)在其他工作区中打开表命令格式:命令格式:u

6、se use in in | 命令功能:在一个工作区中使用另外一个工作区命令功能:在一个工作区中使用另外一个工作区中的表。中的表。说明:在一个工作区中,不能同时打开多个表。说明:在一个工作区中,不能同时打开多个表。此命令不能改变当前工作区。此命令不能改变当前工作区。(3 3)在指定工作区中关闭表)在指定工作区中关闭表命令格式:命令格式:use in use in 命令功能:在指定工作区中关闭表。命令功能:在指定工作区中关闭表。说说 明:当在同一工作区中打开其他表,或者发出有明:当在同一工作区中打开其他表,或者发出有inin子句的子句的useuse命令,并指定当前工作区时,可以自动关闭已命令,并

7、指定当前工作区时,可以自动关闭已打开的表。打开的表。(4 4)关闭所有工作区中打开的表)关闭所有工作区中打开的表命令格式:命令格式:close allclose all命令功能:关闭所有工作区中打开的表,并将第命令功能:关闭所有工作区中打开的表,并将第1 1工作区工作区设置为当前工作区。设置为当前工作区。2 2、表别名的使用、表别名的使用表别名是表别名是vfpvfp用来指定在一个工作区中打开的表的名称。用来指定在一个工作区中打开的表的名称。(1 1)默认表别名)默认表别名当打开一个表时,当打开一个表时,vfpvfp自动使用表名作为默认表别名。自动使用表名作为默认表别名。(2 2)自定义别名)自

8、定义别名命令格式:命令格式:useusealiasalias 命令功能:打开表时可以为它指定用户自定义的表别名。命令功能:打开表时可以为它指定用户自定义的表别名。说明:别名最多可以包括说明:别名最多可以包括254254个字母、数字或下划线,个字母、数字或下划线,但首字符必须是汉字、字母或下划线。如果用户所提供但首字符必须是汉字、字母或下划线。如果用户所提供的别名包含不支持的字符,则的别名包含不支持的字符,则vfpvfp会自动创建一个别名。会自动创建一个别名。(3 3)使用)使用vfpvfp指定的别名指定的别名在前在前1010个工作区中指定的默认别名是工作区字母个工作区中指定的默认别名是工作区字

9、母a a到到j j,在工作区在工作区1111到到3276732767中,指定的别名是中,指定的别名是w11w11到到w32767w32767。3 3、引用其他工作区中打开的表、引用其他工作区中打开的表(1 1)使用)使用inin命令命令命令格式:命令格式:in in | 命令功能:在一个工作区中使用另外一个工作区命令功能:在一个工作区中使用另外一个工作区中的表。中的表。(2 2)直接利用表名或表的别名引用另外一个表中的)直接利用表名或表的别名引用另外一个表中的数据。数据。命令格式:命令格式: - - |. 命令功能:在命令功能:在 后加上点号分隔符后加上点号分隔符“.”.”或或操作符操作符“-

10、”-”,可以引用其他工作区中的字段。,可以引用其他工作区中的字段。说明:可以在一个表所在的工作区之外,使用表说明:可以在一个表所在的工作区之外,使用表名或表别名来明确该表。名或表别名来明确该表。4 4、使用数据工作期步骤:、使用数据工作期步骤:(1 1)选择)选择“窗口窗口”菜单中的菜单中的“数据工作期数据工作期”命令或命令或者在常用工具栏中,选择者在常用工具栏中,选择“数据工作期数据工作期”窗口按窗口按钮,弹出钮,弹出“数据工作期数据工作期”对话框。对话框。(2 2)在工作区中打开表。在)在工作区中打开表。在“数据工作期数据工作期”对话框对话框中,单击中,单击“打开打开”按钮,弹出按钮,弹出

11、“打开打开”对话框。对话框。选择要打开表的数据库和表,单击选择要打开表的数据库和表,单击“确定确定”按钮。按钮。(3 3)在工作区中关闭表。在)在工作区中关闭表。在“数据工作期数据工作期”对话框对话框中,选定要关闭的表别名,然后单击中,选定要关闭的表别名,然后单击“关闭关闭”按按钮。表就不在钮。表就不在“数据工作期数据工作期”对话框中了。对话框中了。(4 4)单击)单击“关闭关闭”按钮,关闭按钮,关闭“数据工作期数据工作期”对话对话框。框。3.6.3 表的关联表的关联如果在一个数据库中有两个以上的表,它们之间通常存在某如果在一个数据库中有两个以上的表,它们之间通常存在某些相互关系。数据库表之间

12、存在着些相互关系。数据库表之间存在着“永久关系永久关系”和和“临时关临时关系系”。在创建表间关系之前,所有建立关系的表需要有一些公共字在创建表间关系之前,所有建立关系的表需要有一些公共字段和索引,这样的字段称为主关键字段和外部关键字段。段和索引,这样的字段称为主关键字段和外部关键字段。要建立两个表之间的关系,可以把其中一个表的主关键字添要建立两个表之间的关系,可以把其中一个表的主关键字添加到别一个表中,使两个表都具有该字段。加到别一个表中,使两个表都具有该字段。在两表之间可以有三种关系:在两表之间可以有三种关系:“一对一一对一”、“一对多一对多”、“多对多多对多”。1 1、建立、编辑永久性关系

13、、建立、编辑永久性关系(1)(1)为相应表建立索引,并打开为相应表建立索引,并打开“数据库设计器数据库设计器“。(2)(2)在在“数据库设计器数据库设计器”上将上将“主主”表的主索引拖动表的主索引拖动到到“从从”表的相应普通索引上。表的相应普通索引上。(3)(3)在在“数据库设计器数据库设计器”上将鼠标在关系的连线上按上将鼠标在关系的连线上按右键,在出现的快捷菜单上,选择右键,在出现的快捷菜单上,选择“编辑关系编辑关系”,弹出弹出“编辑关系编辑关系”对话框。对话框。 (4)(4)在在“编辑关系编辑关系”对话框中输入关系的条件。对话框中输入关系的条件。l建立的关系的类型是由从表的索引类型决定的,

14、建立的关系的类型是由从表的索引类型决定的,当从表的索引为主索引或候选索引时,建立的关当从表的索引为主索引或候选索引时,建立的关系为系为“一对一一对一”的关系;当从表的索引为普通索的关系;当从表的索引为普通索引或唯一索引时,建立的关系是引或唯一索引时,建立的关系是“一对多一对多”的关的关系。系。(5)(5)单击单击“确定确定”按钮,完成关系的编辑。按钮,完成关系的编辑。2 2、建立、编辑临时关系、建立、编辑临时关系虽然永久关系在每次使用表时不需要重新建立,虽然永久关系在每次使用表时不需要重新建立,但永久关系不能控制不同工作区中记录指针的联但永久关系不能控制不同工作区中记录指针的联动。所以在开发动

15、。所以在开发vfpvfp应用程序时,不仅需用永久关应用程序时,不仅需用永久关系,有时也需使用能够控制表间记录指针关系的系,有时也需使用能够控制表间记录指针关系的临时关系。临时关系。在建立表间的临时关系后,会使得一个表(从表)在建立表间的临时关系后,会使得一个表(从表)的记录指针自动随另一个表(主表)的记录指针的记录指针自动随另一个表(主表)的记录指针移动。这样,便允许当在关系中移动。这样,便允许当在关系中“一方一方”(或主(或主表)选择一条记录时,会自动访问表关系中表)选择一条记录时,会自动访问表关系中“多多”方(或从表)的相关记录。方(或从表)的相关记录。(1)(1)利用利用“数据工作期数据

16、工作期”创建表间临时关系创建表间临时关系操作步骤如下:操作步骤如下:1)1)选择选择“窗口窗口”菜单中的菜单中的“数据工作期数据工作期”,“打开数据工作打开数据工作期期”对话框。对话框。2)2)在在“数据工作期数据工作期”对话框中打开要建立关系的数据表。对话框中打开要建立关系的数据表。3)3)选择要关联的主表,单击选择要关联的主表,单击“关系关系”按钮。按钮。4)4)选择在关联的子表,弹出选择在关联的子表,弹出“设置索引顺序设置索引顺序”对话框,选择对话框,选择索引,弹出索引,弹出“表达式生成器表达式生成器”对话框,设置索引表达式。对话框,设置索引表达式。5)5)单击单击“确定确定”按钮,即可

17、建立两表的关系,同时按钮,即可建立两表的关系,同时“关系关系”框中会显示出两表的关系。框中会显示出两表的关系。建立了临时关系后,当在主表中移动记录指针时,在从表建立了临时关系后,当在主表中移动记录指针时,在从表中会显示与主表相关联的所有记录。中会显示与主表相关联的所有记录。(2 2)利用命令建立临时关系(关联)利用命令建立临时关系(关联)命令格式:命令格式:set relation to set relation to into into | 命令功能:建立表之间的临时关系。命令功能:建立表之间的临时关系。说说 明:明:1 1) 一般应该是主表的主索引、从一般应该是主表的主索引、从表的普通索引

18、。表的普通索引。2 2) 或或 选项说明临时关系选项说明临时关系是由当前工作区的表到指定的那个表。是由当前工作区的表到指定的那个表。3.7 数据完整性数据完整性在数据库中数据完整性是指保证数据正确的特性,在数据库中数据完整性是指保证数据正确的特性,数据完整性一般包括实体完整性、域完整性和参数据完整性一般包括实体完整性、域完整性和参照完整性。照完整性。3.7.1 实体完整性实体完整性实体完整性是保证表中记录唯一的特性,即在一实体完整性是保证表中记录唯一的特性,即在一个表中不允许有重复的记录。个表中不允许有重复的记录。如果一个字段的值或几个字段的值能够唯一标识如果一个字段的值或几个字段的值能够唯一

19、标识表中的一条记录,则这样的字段称为候选关键字。表中的一条记录,则这样的字段称为候选关键字。在一个表上可能会有几个具有这种特性的字段或在一个表上可能会有几个具有这种特性的字段或字段的组合,这时从中选择一个作为主关键字。字段的组合,这时从中选择一个作为主关键字。在在vfpvfp中将主关键字称作主索引,将候选关键字称中将主关键字称作主索引,将候选关键字称作候选索引。作候选索引。3.7.2 域完整性域完整性数据类型的定义属于域完整性的范畴,如对数值数据类型的定义属于域完整性的范畴,如对数值型字段,通过指定不同的宽度说明不同范围的数型字段,通过指定不同的宽度说明不同范围的数值数据类型,从而可以限定字段

20、的取值类型和取值数据类型,从而可以限定字段的取值类型和取值范围。还可以用一些域约束规则也称做字段的值范围。还可以用一些域约束规则也称做字段的有效性规则来进一步保证域完整性。在插入或修有效性规则来进一步保证域完整性。在插入或修改字段值时被激活,主要用于数据输入正确性的改字段值时被激活,主要用于数据输入正确性的检验。检验。域完整性约束规则的设置可在表设计器中建立字域完整性约束规则的设置可在表设计器中建立字段有效性规则来指定。段有效性规则来指定。3.7.3 参照完整性参照完整性参照完整性与表之间的关联有关参照完整性与表之间的关联有关, ,其含义是当插入、其含义是当插入、删除或修改一个表中的数据时,通

21、过参照引用相删除或修改一个表中的数据时,通过参照引用相互关联的另一个表中的数据,来检查对表的数据互关联的另一个表中的数据,来检查对表的数据操作是否正确。操作是否正确。参照完整性是关系数据库管理系统的一个很重要参照完整性是关系数据库管理系统的一个很重要的功能。在的功能。在vfpvfp中要建立参照完整性,首先要建立中要建立参照完整性,首先要建立表之间的联系。表之间的联系。(1 1)打开)打开“数据库设计器数据库设计器”,选择,选择“数据库数据库”菜单菜单中的中的“清理数据库清理数据库”,即物理删除数据库各个表,即物理删除数据库各个表中所有带有删除标记的记录。中所有带有删除标记的记录。(2 2)在表

22、之间的关系线上按右键,选择)在表之间的关系线上按右键,选择“编辑参照编辑参照完整性完整性”,弹出,弹出“参照完整性生成器参照完整性生成器”对话框。对话框。 参照完整性规则包括更新、删除和插入规则。参照完整性规则包括更新、删除和插入规则。(3 3)更新规则规定了当更新父表中的连接字段(主)更新规则规定了当更新父表中的连接字段(主关键字)时,如何处理相关的从表中的记录。关键字)时,如何处理相关的从表中的记录。级联:用新的连接字段值自动修改子表中的相关级联:用新的连接字段值自动修改子表中的相关所有记录;所有记录;限制:若子表中有相关的记录,则禁止修改父表限制:若子表中有相关的记录,则禁止修改父表中的连接字段值;中的连接字段值;忽略:不作参照完整性检查,可

温馨提示

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

评论

0/150

提交评论