读书频道 > 网站 > 网页设计 > SQL Server数据库管理与开发实用教程
3.5.2 唯一性约束
15-11-06    下载编辑
收藏    我要投稿   
本书通过实例循序渐进地讲解了SQL Server 2014的理论知识和基本操作。主要内容包括:数据库的基本原理、SQL Server 2014概述、数据库和表的创建与管理、表中数据的查询、Transact_SQL、索引、视图、游标、事立即去当当网订购

唯一性(UNIQUE)约束用来限制不受主键约束的列上数据的唯一性,即表中任意两行在指定列上都不允许有相同的值。一个表上可以放置多个UNIQUE约束。

唯一性约束和主键约束的区别如下:

唯一性约束允许在该列上存在NULL值,而主键约束限制更为严格,不但不允许有重复,而且不允许有空值。

在创建唯一性约束和主键约束时,可以创建聚集索引和非聚集索引,但在缺省情况下,主键约束产生聚集索引,唯一性约束产生非聚集索引。

1.使用Transact-SQL语句创建唯一约束

创建唯一性约束的语法格式为:

[ CONSTRAINT constraint_name ] UNIQUE [ CLUSTERED | NONCLUSTERED ]
( col_name [,…n])

【例3.32】 在sales数据库中创建表Department,包含dep_id、dep_name和dep_head三个字段,并在dep_name字段上创建唯一性约束。

CREATE TABLE Department
(
    dep_id int PRIMARY KEY,
    dep_name char(20) CONSTRAINT unq_depname UNIQUE,
    dep_head char(5)
)

也可以在定义完所有列之后指定唯一性约束。例3.32中的CREATE TABLE语句也可以写成如下形式:

CREATE TABLE Department
(
    dep_id int PRIMARY KEY,
    dep_name char(20),
    dep_head char(5),
    CONSTRAINT unq_depname UNIQUE (dep_name)
)

【例3.33】 在Seller表的Telephone字段建立唯一性约束。

ALTER TABLE Seller
ADD CONSTRAINT unq_telephone UNIQUE (Telephone)

注意 sales数据库的Seller表已有多行记录,这时在Seller表上创建唯一性约束,系统会检查表中已有数据,若现有数据在该Telephone字段上出现重复值,SQL Server会提示错误信息,并拒绝执行创建唯一性约束操作。

2.使用SQL Server Management Studio创建唯一性约束

【例3.34】 sales数据库中有Product表,在ProductName字段上创建唯一性约束。

在SQL Server Management Studio下创建唯一性约束的操作步骤为:

1)在SQL Server Management Studio的“对象资源管理器”中,选中需要添加唯一性约束的表Product,单击鼠标右键,在弹出的快捷菜单中选择“设计”命令,打开“表设计器”窗口。

2)在该窗口中,在需要在其上创建唯一性约束的字段上单击鼠标右键,在弹出的快捷菜单中选择“索引/键”命令,弹出“索引/键”对话框,如图3-43所示。

3)单击“添加”按钮添加新的主/唯一键或索引,如图3-44所示。

在(常规)选项中可以选择要创建的类型(唯一键、索引或列存储索引)、在哪一列上创建以及是否唯一等。例如,选择“唯一键”类型,在“列”的右边单击省略号按钮“...”,弹出“索引列”对话框,如图3-45所示。选择列名“ProductName”和排序规律ASC(升序)或DESC(降序),单击“确定”按钮,返回“索引/键”对话框。

在“索引/键”对话框的“标识”选项下的“(名称)”处可以为创建的唯一性约束指定名称,如输入unq_productname,如图3-46所示。

4)单击“关闭”按钮即可完成唯一性约束的创建。


 


 

5)如果要取消唯一性约束,则在该对话框的“选定的主/唯一键或索引”列表中选择对应的唯一键名称,单击“删除”按钮即可。


 

点击复制链接 与好友分享!回本站首页
分享到: 更多
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:1.3 功能
下一篇:1.5 小结
相关文章
图文推荐
JavaScript网页动画设
1.9 响应式
1.8 登陆页式
1.7 主题式
排行
热门
文章
下载
读书

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做最好的IT技术学习网站