唯一约束属于实体完整性。
唯一约束又称为UNIQUE约束,具有UNIQUE约束的字段的值不能重复。在使用PRIMARY KEY对表中的主键进行了唯一值约束之后,若还要保证表中的其他字段的数据也具有唯一特征,UNIQUE约束会很有用。UNIQUE约束可以作为列级约束或标记约束,其主要的特征如下:
√ 一个表可以有多个UNIQUE约束;
√ 在一个表中不允许任意两处在被约束的字段上有相同的NULL值,最好把被定义UNIQUE的字段定义为NOT NULL。
小贴士
主键约束与唯一约束的区别如下:
1.PRIMARY KEY(主键)约束
主键约束用来强制数据的实体完整性,它是在表中定义一个主键来唯一标识表中的每行记录。主键约束有如下特点:
(1)每个表中只能有一个主键;
(2)主键可以是一列,也可以是多列的组合;
(3)主键值必须唯一并且不能为空(即,用作主键的列如果是多列,每一个列都不能有空值出现);
(4)对于多列组合的主键,某列值可以重复,但列的组合值必须唯一。
2.UE(唯一)约束
唯一约束用来强制数据的实体完整性,它主要用来限制表的非主键列中不允许输入重复值。唯一约束有如下特点:
(1)一个表中可以定义多个唯一约束;
(2)每个唯一约束可以定义到一列上,也可以定义到多列上;
(3)空值可以出现在某列中一次。
UNIQUE约束的语法规则如示例代码3-7所示。(www.xing528.com)
列名表中列出需要进行唯一约束列的列组合中的每一个列,当作为列级约束的时候,列名表可以省略。
1.使用T-SQL语句在定义表时创建唯一约束
以创建customer表为例,在创建表的时候指定CusName(客户名称)字段为唯一约束字段,如示例代码3-8所示。
2.使用Microsoft SQL Server Management Studio工具创建唯一约束
我们使用Microsoft SQL Server Management Studio工具在创建数据库表或对数据库表作修改的时候,选中我们需要定义为唯一约束的列,然后点击鼠标右键,从弹出菜单中选中点击“索引/键”命令,如图3-2所示。
如图3-2所示,已经选择了“CusName”(客户名称)列作为唯一约束的列,并且点击右键弹出菜单,菜单中有“索引/键盘”命令,鼠标点击该命令进入“索引/键”界面,如图3-3所示。
从图3-3中我们看到可以“添加”或“删除”主/唯一键或索引等,在界面的右半部分可以在“常规”下的各属性进行设置,“类型”设置为“唯一键”,“列”可选择“CusName”,“是唯一的”设置为“是”,“标识”栏中的“名称”可以自己定义索引或唯一的名称。设置的结果如图3-4所示。
如图3-4所示,设置了名称为“IX_customer”的唯一约束。
图3-2 设置唯一约束的弹出菜单
图3-3 索引/键
图3-4 设置唯一约束
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。