3.4 表之问的关系
当数据库中存在两个以上的表时,可以在表之间建立关系,用户可以通过关系查找自己需要的信息。
在VFP中,表与表之间的关系有两种:临时关系和永久关系。
临时关系(Temporary Relationship)是指在打开的表之间用SEq、RELATION命令建立起来的临时性关联。建立了临时关系后,就会使得某一张表(子表)的记录指针自动随另一张表(父表)的记录指针移动而移动。这样,便允许当在关系主表中选择一个记录时,会自动去访问关系子表中的相关记录。关闭其中一个表时,临时关系将被解除。
永久关系相对于临时关系而言。永久关系一旦建立,将被保存在数据库中,不会随着表的关闭而消失。在永久关系的基础上,可以设置表之间的参照完整性规则,用以保证数据库表中的数据一致性。
临时关系与永久关系即有一定的联系,也存在着很大的区别。他们的相同之处在于:
(1)无论是建立临时关系还是永久关系,都必须明确建立关系的两张表之间确实在客观上存在着一种关系(一对一或一对多关系)。
(2)永久关系在许多地方可以用来作为默认的临时关系。
他们的不同之处在于:
(1)临时关系可以在自由表之间、数据库表之间或自由表与库表之间建立。而永久关系只能在库表之间建立。
(2)临时关系是用来在打开的两张表之间控制相关表的访问;而永久关系则主要是用来存储相关表之间的参考完整性,附带地可作为默认的临时关系或查询中默认的联结条件。
(3)临时关系在表打开以后使用SETRELATION命令创建,随表的关闭而解除;而永久关系则永久地保存在数据库中,不必每次使用表时重新创建。
(4)临时关系中一张表不能有两张主表,而永久关系则不然。
展开