access 2007添加、设置、更改或删除主键
时 间:2008-03-21 08:03:10
作 者:Microsoft ID:11 城市:上海 QQ:3002789054
摘 要:添加、设置、更改或删除主键
正 文:
数据库中的每个表都应该有一个字段或字段集,用来唯一标识该表中存储的每条记录。这个字段或字段集称为主键。本文将讨论主键的作用并介绍添加、设置、更改或删除主键的方法。
什么是主键?
主键是表中的一个字段或字段集,为 Microsoft Office Access 2007 中的每行提供一个唯一的标识符。在关系数据库(如 Office Access 2007)中,您将信息分成不同的、基于主题的表。然后,使用表关系和主键以指示 Access 如何将信息再次组合起来。Access 使用主键字段将多个表中的数据迅速关联起来,并以一种有意义的方式将这些数据组合在一起。
这是因为,一旦您定义了主键,就可以在其他表内使用它来向回引用具有该主键的表。例如,“客户”表中的“客户 ID”字段也可能会显示在“订单”表中。在“客户”表中,它是主键,而在“订单”表中,它被称作外键。简而言之,外键就是另一个表的主键。
通常,唯一的标识号(如 ID 号、序列号或编码)充当表中的主键。例如,您可能有一个“客户”表,其中每个客户都有一个唯一的客户 ID 号。客户 ID 字段是主键。
一个好的主键候选具有几个特征。首先,它唯一标识每一行。其次,它从不为空或为 Null,即它始终包含一个值。再次,它几乎不(理想情况下永不)改变。Access 可使用主键字段将多个表中的数据快速收集在一起。
将姓名或地址作为主键则是一种糟糕的选择。它们都包含可能随时间变化的信息。
应该始终为表指定一个主键。Access 会自动为主键创建索引,这有助于加快查询和其他操作的速度。Access 还确保每条记录的主键字段中都有一个值,并且该值始终是唯一的。
在数据表视图中创建新表时,Access 自动为您创建主键,并且为它指定字段名“ID”和“自动编号”数据类型。默认情况下,该字段在“数据表视图”中为隐藏状态,但切换到“设计视图”后就可以看到该字段。
如果想不到可能成为优秀主键的一个字段或字段集,则请考虑使用某一数据类型为“自动编号”的列。这样的标识符不包含事实数据,即不包含任何描述所代表行的真实信息。因为不包含事实数据的标识符不会更改,所以使用这些标识符是一种好做法。因为真实信息本身经常会发生变化,所以包含有关某一行的事实数据的主键(如电话号码或客户名称)也极可能会更改。
在某些情况下,您可能想使用两个或多个字段一起作为表的主键。例如,存储订单行项目的“订单细节”表将在其主键中使用两个列:“订单 ID”和“产品 ID”。当一个主键使用多个列时,它又被称为复合键。
添加“自动编号”主键
在数据表视图中创建新表时,Access 自动为您创建主键,并且为它指定“自动编号”数据类型。但是,如果您有一个现有表,并且要向其中添加主键字段,则必须在设计视图中打开该表。
- 单击“Microsoft Office 按钮”,然后单击“打开”。
- 在“打开”对话框中,选择并打开数据库。
- 在导航窗格中,右键单击要向其添加主键的表,然后在快捷菜单上,单击“设计视图”。
- 在表设计网格中找到第一个可用的空行。
- 在“字段名称”列中键入名称,如 CustomerID。
- 在“数据类型”列中,单击下拉箭头并单击“自动编号”。
- 在“常规”中的“新值”中,单击“递增”对主键使用递增数值,或者单击“随机”使用随机数。
设置主键
如果您有一个表,其中每条记录都有一个唯一的标识号(如 ID 号、序列号或编码),则该字段可以作为一个不错的主键。要使主键正常工作,该字段必须唯一标识每一行,决不包含空值或 Null 值,并且很少(理想情况下永不)改变。
要显式设置主键,必须使用设计视图。
- 单击“Microsoft Office 按钮”,然后单击“打开”。
- 在“打开”对话框中,选择并打开数据库。
- 在导航窗格中,右键单击要设置主键的表,然后在快捷菜单上,单击“设计视图”。
- 选择要用作主键的一个或多个字段。
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- Access对子窗体数据进行批...(10.30)
- 最精简的组合框行来源数据快速输...(10.25)
- Access仿平台的多值选择器...(10.24)
- 【Access日期区间段查询】...(10.22)
- 【Access源码示例】VBA...(10.12)
- Access累乘示例,Acce...(10.09)
- 数值8.88,把整数8去掉,转...(10.08)
- 【Access自定义函数】一个...(09.30)
- 【Access选项卡示例】Ac...(09.09)
学习心得
最新文章
- Access判断多条明细的配方或订...(11.30)
- 如何让后台数据库在局域网共享时,且...(11.29)
- 【Access月初月末日期设置方法...(11.29)
- 【Access IIF函数嵌套示例...(11.26)
- Access快速开发平台--使用组...(11.25)
- Access快速开发平台--对上传...(11.22)
- Access快速开发平台企业版--...(11.18)
- 不会用多表联合查询,多表查询没结果...(11.16)
- 【案例分享】主键字段值含有不间断空...(11.16)
- Access快速开发平台--后台D...(11.14)