Access 2003完整教程:创建唯一索引 (ADP)

背景信息

在 SQL Server 中,当唯一性是数据本身的特性,但是索引列的组合与表的主键不一样时,就需要创建唯一索引。例如,如果要频繁地对“employee”表(主键是emp_id)的“社会安全号 (ssn)”列进行查询,且希望保证社会安全号是唯一的,可对ssn列创建唯一索引。如果用户为多个雇员输入了相同的“社会安全号”,则数据库就显示一条错误消息,并且不保存该表。

当创建或修改唯一索引时,应该设置一个选项,以忽略重复的键。如果设置了这个选项,并且通过添加或更新影响多个行的数据(使用 INSERT 或 UPDATE 语句)来试图创建重复的键,那么,就不能添加(更新时丢弃)造成重复的行。

例如,如果想在表中将“Smith”更新为“Jones”,而“Jones”已经存在,那么最后在表中会只有一个“Jones”而没有“Smith”。原来的“Smith”行就丢失了,因为 UPDATE 语句实际是一个 DELETE 语句,后面跟随一个 INSERT 语句。已删除了“Smith”,而试图插入一个“Jones”失败了。不能回滚整个事务处理,其原因是这个选项的目的是允许一个事务处理,而不考虑重复值的出现。

创建唯一索引

  1. 在“数据库”窗口中,单击“对象”下的“数据库图表”,单击要打开的数据库图表,再单击“数据库”窗口工具栏上的“设计”。
  2. 在数据库图表中,选择要创建索引的表,用右键单击该表,再从快捷菜单中选择“属性”。
  3. 选择“索引/键”。“选定的索引”列表显示了系统为新索引指定的名称。
  4. 在“列名”中,选择要创建索引的列。最多可以选择 16 列。为得到最优性能,每个索引只选择一列或两列。对所选的每个列,指出索引是按升序还是降序排列该列的值。
  5. 选中“创建 UNIQUE”复选框。
  6. 选择“索引”选项。
  7. 如果要忽略在索引中会造成重复键的新数据或已更新的数据(使用 INSERT 或 UPDATE 语句),可选择“忽略重复键”选项。

当保存数据库图表时,就会在数据库中创建该索引。

注释如果某一列的多个行中包含 NULL 值,则不能根据该列创建唯一索引。同样,如果组合列的多个行中包含 NULL 值,也不能根据这些列创建唯一索引。这些值在创建索引时将作为重复值处理。

上页:Access 2003完整教程:创建唯一约束 (ADP) 下页:Access 2003完整教程:创建更新查询 (ADP)

Access 2003完整教程:创建唯一索引 (ADP)

Access 2003完整教程:创建更新查询 (ADP)Access 2003完整教程:关于检查约束表达式 (ADP)
Access 2003完整教程:定义主键约束 (ADP)Access 2003完整教程:删除检查约束 (ADP)
Access 2003完整教程:从表中删除列 (ADP)Access 2003完整教程:删除索引 (ADP)
Access 2003完整教程:删除关系 (ADP)Access 2003完整教程:从数据库中删除表 (ADP)
Access 2003完整教程:删除触发器 (ADP)Access 2003完整教程:绘制反身关系 (ADP)
Access 2003完整教程:复制表 (ADP)Access 2003完整教程:实施表之间的参照完整性 (ADP)
Access 2003完整教程:在查询中排除重复的行 (ADP)Access 2003完整教程:在“查询设计器”中执行查询 (ADP)
Access 2003完整教程:在查询结果中对行进行分组 (ADP)Access 2003完整教程:将列插入到表中 (ADP)
Access 2003完整教程:在查询中手动创建表、视图或函数之间的联接 (ADP)Access 2003完整教程:将多对多关系映射到数据库图表中 (ADP)
Access 2003完整教程:将子图表合并到主数据库图表中 (ADP)Access 2003完整教程:重命名检查约束 (ADP)
版权所有 © 中山市飞娥软件工作室 证书:粤ICP备09170368号