关于主键

在讲述如何连接到外部数据源,如何加载外部数据表之前,我们有必要了解一下主键的概念。

对于数据管理来说,主键是一个非常重要的概念。
我们每个人都有一个身份证号码,每个身份证号码都是唯一的,在正常情况下,不会再有其他人的身份证号码与你相同,这个号码就是我们的“身份标识”,是社会生活能有序进行的基础。
同样数据表中的每一行,都有一个主键值,每个主键值都是唯一的,不同的行,其主键值绝对不会相同,所以行的主键值类似人的身份证号码,是行的“身份标识”,是数据管理能有序进行的基础。

在设计表的时候,应该指定一列用于存储行的主键值,这一列就是主键列。
在Foxtable新建的数据表,不管是内部数据表还是外部数据表,都有一个名为“_Identify”的列,这就是主键列,每增加一行,该列的值就会自动在上一行的基础上加1,所以对于每一行来说,_Identify列的值都不会相同,是有效的“身份标识”。
如果不是在Foxtable中,而是在外部数据源中设计表,例如Access或者SQl Server中建表,那么必须手工设置主键列。

在Access或者SQL Server的表设计器中, 右击要设置为主键的列,从弹出的快捷菜单中执行"设置主键"命令,即可将此列设置为主键:

关于外部表的主键,我们建议:尽量使用自动增量列(也称为自动编号),由系统自动生成编号。
如果主键为自动增量列,那么外部表和内部表在实际使用的时候,表现将完全一样,用户将感受不到任何的差别。
如果主键列不是自动增量列,则每次只能增加一行,且必须输入新增行的主键列内容才能增加下一行。
此外,如果你希望外部表的主键列能够象内部表一样自动隐藏,可以将主键列的名称设置为“_Identify”。

在Access中设置自动编号:

在SQL Server中设置自动编号:

 


本页地址:http://www.foxtable.com/webhelp/topics/1807.htm