SQL Server唯一约束
SQL Server唯一约束对于一个表中非主键列的指定列,唯一(UNIQUE 约束|:强制非主键上的实体完整性的约束。UNIQUE 约束确保未输入重复值,并创建一个索引以增强性能。)约束确保不会输入重复的值。例如,在 employee 表中 emp_id 列是主键,可以定义一个唯一约束来要求表中社会安全号码 (ssn) 列的项是唯一的。
在数据库关系图中,可以使用"索引/键"属性页创建、修改或删除唯一约束。
1、创建唯一约束
创建唯一约束来确保不参与主键的特定列的值不重复。尽管唯一约束和主键都强制唯一性,但在下列情况下,应该为表附加唯一约束以取代主键约束:
如果要对列或列的组合强制唯一性。可以为表附加多个唯一约束,而只能为表附加一个主键约束。
如果要对允许空值的列强制唯一性。可以为允许空值的列附加唯一约束,而只能将主键约束附加到不允许空值的列。当将唯一约束附加到允许空值的列时,确保在约束列中最多有一行含有空值。
I、在数据库关系图中右击将包含约束的表,然后从快捷菜单中选择"属性"命令。
-或-
为将包含约束的表打开表设计器,在表设计器中右击,然后从快捷菜单中选择"属性"命令。
II、选择"索引/键"选项卡。
III、选择"新建"命令。系统分配的名称出现在"索引名"框中。
IV、在"列名"下展开列的列表,选择要将约束附加到的列。若要将约束附加到多个列,在后续行中选择其它的列。
V、选择"创建 UNIQUE"复选框。
VI、选择"约束"选项。
当保存表或关系图时,唯一约束即创建在数据库中。
如果使用的是 SQL Server,可以控制键值的排序次序以及当存在重复键时所采取的操作。为此,应创建唯一索引取代唯一约束。
2、修改唯一约束
当要更改约束附加到的列、更改约束名称或设置附加属性时,修改唯一约束。
I、在数据库关系图中右击包含约束的表,然后从快捷菜单中选择"属性"命令。
-或-
为包含约束的表打开表设计器,在表设计器中右击,然后从快捷菜单中选择"属性"命令。
II、选择"索引/键"选项卡。
III、从"选定的索引"列表中选择要更改的约束。
IV、完成下表中的操作:
当保存表或关系图时,约束即在数据库内被更新。
3、删除唯一约束
当要删除对包含在约束表达式中的列或列组合中输入值的唯一性要求时,删除唯一约束。
I、在数据库关系图中,右击包含约束列的表,然后从快捷菜单中选择"索引/键"命令。
-或-
为包含约束的表打开表设计器,在表设计器中右击,然后从快捷菜单中选择"索引/键"命令。
II、从"选定的索引"列表中选择唯一约束。
III、选择"删除"按钮。
注意 选择"删除"按钮将导致一个无法撤消的操作,而且不保存对数据库关系图所做的所有其它更改。若要撤消该操作,不保存更改即关闭当前的数据库关系图或表设计器窗口以及所有其它打开的数据库关系图和表设计器窗口。
当保存表或关系图时,约束即从数据库中被删除。