如何创建唯一索引 (Visual Database Tools)

在 Microsoft SQL Server 中,可以对唯一列(如 employee id)或一起唯一标识每条记录的一组列(如 author + title)创建唯一索引。

例如,如果计划频繁查询 employee 表中(其中主键为 emp_id)的身份证号码 (ssn) 列,并希望确保身份证号码是唯一的,则可以在 ssn 上创建唯一索引。如果用户为一个以上的雇员输入相同的身份证号码,则数据库将显示错误而且无法保存该表。

在创建或修改唯一索引时,可以可设置一个忽略重复键的选项。如果此选项已设置为**“是”,当您试图通过添加影响多行的数据来创建重复键(使用 INSERT 语句)时,则不会添加包含重复项的行;如果此选项设置为“否”**,则整个插入操作将失败,并且将回滚所有数据。

创建唯一索引

  1. 在对象资源管理器中,右键单击表,再单击**“设计”**。

    此时,将在表设计器中打开该表。

  2. 表设计器菜单上,单击**“索引/键”**。

  3. 单击**“添加”“选定的主/唯一键或索引”**列表将显示新索引的系统分配名称。

  4. 在网格中,单击**“类型”**。

  5. 从属性右侧的下拉列表中选择**“索引”**。

  6. 在**“列”**下,选择要编制索引的列。最多可选择 16 列。为获得最佳的性能,请只为每个索引选择一列或两列。对于所选的每一列,指定索引是以升序还是以降序来排列此列的值。

  7. 在网格中,单击**“是唯一的”**。

  8. 从属性右侧的下拉列表中选择**“是”**。

  9. 如果希望忽略会在唯一索引中创建重复键(用 INSERT 语句)的数据,请选择**“忽略重复键”选项并选择“是”**。

在保存表或关系图时将在数据库中创建该索引。

注意注意

如果单个列在多行中包含 NULL,则无法对该列创建唯一索引。同样,如果列的组合在多行中包含 NULL,则无法对多个列创建唯一索引。在进行索引时,它们都被视为重复值。