Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access数据库-表

添加、设置、更改或删除主键

时 间:2008-05-14 08:14:25
作 者:UMVSoft整理   ID:1445  城市:上海
摘 要:
正 文:

 

数据库中的每个表都应该有一个字段或字段集,用来唯一标识该表中存储的每条记录。这个字段或字段集称为主键。本文将讨论主键的作用并介绍添加、设置、更改或删除主键的方法。

本文内容


什么是主键?

主键是表中的一个字段或字段集,为 Microsoft Office Access 2007 中的每行提供一个唯一的标识符。在关系数据库(如 Office Access 2007)中,您将信息分成不同的、基于主题的表。然后,使用表关系和主键以指示 Access 如何将信息再次组合起来。Access 使用主键字段将多个表中的数据迅速关联起来,并以一种有意义的方式将这些数据组合在一起。

这是因为,一旦您定义了主键,就可以在其他表内使用它来向回引用具有该主键的表。例如,“客户”表中的“客户 ID”字段也可能会显示在“订单”表中。在“客户”表中,它是主键,而在“订单”表中,它被称作外键。简而言之,外键就是另一个表的主键。

主键和外键

标注 1 主键
标注 2 外键

 

通常,唯一的标识号(如 ID 号、序列号或编码)充当表中的主键。例如,您可能有一个“客户”表,其中每个客户都有一个唯一的客户 ID 号。客户 ID 字段是主键。

一个好的主键候选具有几个特征。首先,它唯一标识每一行。其次,它从不为空或为  Null,即它始终包含一个值。再次,它几乎不(理想情况下永不)改变。Access 可使用主键字段将多个表中的数据快速收集在一起。

将姓名或地址作为主键则是一种糟糕的选择。它们都包含可能随时间变化的信息。

应该始终为表指定一个主键。Access 会自动为主键创建索引,这有助于加快查询和其他操作的速度。Access 还确保每条记录的主键字段中都有一个值,并且该值始终是唯一的。

在数据表视图中创建新表时,Access 自动为您创建主键,并且为它指定字段名“ID”和“自动编号”数据类型。默认情况下,该字段在“数据表视图”中为隐藏状态,但切换到“设计视图”后就可以看到该字段。

如果想不到可能成为优秀主键的一个字段或字段集,则请考虑使用某一数据类型为“自动编号”的列。这样的标识符不包含事实数据,即不包含任何描述所代表行的真实信息。因为不包含事实数据的标识符不会更改,所以使用这些标识符是一种好做法。因为真实信息本身经常会发生变化,所以包含有关某一行的事实数据的主键(如电话号码或客户名称)也极可能会更改。   


用于显示具有主键字段的“产品”表的图像

 

标注 1 数据类型为“自动编号”的列通常是一个不错的主键,因为它确保任何两个产品 ID 都互不相同。

 


在某些情况下,您可能想使用两个或多个字段一起作为表的主键。例如,存储订单行项目的“订单细节”表将在其主键中使用两个列:“订单 ID”和“产品 ID”。当一个主键使用多个列时,它又被称为复合键。

添加“自动编号”主键

在数据表视图中创建新表时,Access 自动为您创建主键,并且为它指定“自动编号”数据类型。但是,如果您有一个现有表,并且要向其中

Access软件网官方交流QQ群 (群号:54525238)       Access源码网店


常见问答:

技术分类:

相关资源:

专栏作家