索引和数据完整性

一.VF中的两种表:数据库表+自由表
1.数据库表:属于某一个数据库的表称为数据库表,一个表只能同时属于某一个数据库。
2.自由表:不属于任何一个数据库的表称为自由表,可以将自由表添加到数据库中、也可以将某个数据库表移出数据库使其成为自由表。

二.索引:可以对记录进行逻辑排序,可以加快数据查询的速度、但是同时也会减慢数据更新的速度。
一)VF的索引类型:
1.主索引:在数据库表中最多只建立一个主索引;要求索引表达式的字段值是互不相同的。
2.候选索引:在一个表中可以建立多个候选索引;要求索引表达式的字段值是互不相同的。
3.唯一索引:指的是对索引表达式的重复字段值只索引一次,并不要求索引表达式的字段值是互不相同的。
4.普通索引:

二)与索引相关的命令:
1.set order to 索引名称 [descending|ascending] ==>让表中记录按指定的索引方式排序.
2.set order to ==> 取消当前表的索引排序效果。
*3.index on 索引表达式 tag 索引名称 [candidate|unique] ==>建立索引的VF命令。
*https://www.360docs.net/doc/003773056.html,e 表名 order 索引名 ==> 打开表的同时让表中的记录按指定的索引方式排好序。
&&在运行VF命令时,应该先双击命令所要操作的表。

三.工作区:VF中总共有32767个工作区,从1-32767进行编号;一个表最多只能同时在一个工作区中被打开、一个工作区中最多只能同时打开一个表;启动VF时默认在第1工作区。
选择当前工作区:
select 工作区号n ==> 选择第n个工作区作为当前要操作的工作区,即当前工作区。
select 别名 ==> 别名指的已经打开的表的表名;选择指定表所在的工作区作为当前工作区。

四.数据完整性:
1.域完整性:如何控制字段的取值范围?通过指定字段的数据类型及设置字段的有效性规则来实现数据的域完整性。

2.实体完整性:如何控制表中不能出现完全相同的多条记录?通过设置主索引或候选索引可以实现数据的实体完整性。

3.参照完整性:如何实现表与表之间的数据同步及相互制约的关系?通过给表之间建立永久性连接、并为永久性连接设置参照完整性规则来实现数据的参照完整性。

五.表与表之间的永久性连接:
建立步骤:分析连接字段(一般为公共字段) -->建立索引(主表建立主索引、子表建立普通索引) -->
将主索引拖动到对应的普通索引上来。

六.建立表与表之间的临时性连接:
建立步骤:打开从表、为从表的关联字段建立普通索引 --> 让从表的记录按上一步建立的索引排序 -->在另一工作区中打开主表并选择主表所在工作区为当前工作区 -->**运行命令:set relation to 关

联字段 into 从表











相关文档
最新文档