原创地址:http://www.cnblogs.com/jfzhu/archive/2012/11/23/2785269.html

转载请注明出处

SQL Server中有五种约束类型,分别是 PRIMARY KEY约束、FOREIGN KEY约束、UNIQUE约束、DEFAULT约束、和CHECK约束。查看或者创建约束都要使用到 Microsoft SQL Server Managment Studio。

1. PRIMARY KEY约束

在表中常有一列或多列的组合,其值能唯一标识表中的每一行。这样的一列或多列成为表的主键(Primary Key)。一个表只能有一个主键,而且主键约束中的列不能为空值。

查看PRIMARY KEY约束可以在object explorer中依次展开Databases –> 选择你要查看的数据库(在我的例子中是testdatabase) –> Tables –> 你要查看的表(在我的例子中是company)-> Columns

如上图所示,Primary Key 有一把金色的小钥匙。companyid 即为company表的primary key。

创建PRIMARY KEY约束可以右键点击表,然后选择Design,打开表设计器

选中column,点击上面的金色小钥匙,来创建Primary Key。

也可以右键点击column,然后选择Set Primary Key。

2. FOREIGN KEY约束

外键(Foreign Key)是用于建立和加强两个表(主表与从表)的一列或多列数据之间的连接的。创建约束的顺序是先定义主表的主键,再对从表定义外键约束。

查看FOREIGN KEY约束,展开Columns,可以看到灰色的小钥匙为Foreign Key;展开Keys,可以看到Foreign Key约束的名字为FK_contact_company。

在表设计器中,也可以点击上面的Relationships按钮,这样就可以查看到所有的Foreign Key约束

上面的例子可以看到contact 表的companyid为外键,company 表的companyid为主键。

下面来演示一下如何创建的该Foreign Key约束。

同样是点击完Relationships按钮之后,在弹出的对话框中选择Add

然后点击下面的红色圆圈内的按钮:

按下图中那样设置主表、主键和从表、外键

然后点击 OK,不要忘记保存你的设计。

3. UNIQUE约束

UNIQUE约束用于确保表中的两个数据行在非主键中没有相同的列值。与PRIMARY KEY约束类似,UNIQUE约束也强制唯一性,但UNIQUE约束用于非主键的一列或多列组合,且一个表可以定义多个UNIQUE约束,另外UNIQUE约束可以用于定义多列组合。

还以company table为例,假设我们要约束company name为唯一的,点击Manage Indexes and Keys

然后点击Add来添加Unique约束

选择column为companyname, Is Unique为Yes。

关闭并保存你的设计,这样一个Unique约束就创建好了。

4. DEFAULT约束

若在表中某列定义了DEFAULT约束,用户在插入新的数据行时,如果该列没有指定数据,那么系统将默认值赋给该列,当然该默认值也可以是空值(NULL)。

以contact表为例,在表设计器中,为性别(sex)列填写属性默认值 (‘M’)。

5. CHECK约束

CHECK约束用于限制输入一列或多列的值的范围,通过逻辑表达式来判断数据的有效性。一个列的输入内容必须满足CHECK约束的条件,否则数据无法正常输入。

还以contact表为例, 我们要限制sex列的值只能为 ´M´ 或者 ´F´。在表设计器中点击Manage Check Constraints

点击Add添加新的constraint

点击红圈内的按钮,填写表达式。我们例子中用的表达式是 SEX='M' OR SEX='F'

关闭并保存设计。向contact表中插入一行数据,如果sex列的值不为´M´ 或 ´F´, 插入就会报错。

转载于:https://www.cnblogs.com/SpringSmallGrass/archive/2013/04/07/3005945.html

SQL Server 2008 如何查看与创建约束相关推荐

  1. SQL Server 2008 - 第2章 创建、管理 数据库

    第2章  创建数据库 数据库是用来存储数据的空间,它作为存储结构的最高层次是其他一切数据库操作的基础.用户可以通过创建数据库来存储不同类别或者形式的数据. 因此,在本章用户将详细地学习针对数据库的基本 ...

  2. 如何解决SQL Server 2008 R2中“阻止保存要求重新创建表的更改”的问题!

    今天在讲解SQL Server 2008  R2课程中,有学生遇到一个问题,在SQL Server 2008  R2管理控制台中创建一个新表后,如果再次打开该表进行修改保存时,发现对每个表的修改都不成 ...

  3. 《SQL Server 2008从入门到精通》--20180717

    1.触发器 1.1.DDL触发器 1.2.DML触发器 1.3.创建触发器 1.3.1.创建DML触发器 1.3.1.1.INSERT触发器 1.3.1.2.DELETE触发器 1.3.1.3.UPD ...

  4. 基于Sql Server 2008的分布式数据库的实践

    配置Sql Server 2008(Win7) 1.打开SQL server2012,使用windows身份登录 2.登录后,右键选择"属性".左侧选择"安全性" ...

  5. SQL Server 2008创建数据库

    创建数据库就是为数据库确定名称.大小.存放位置.文件名和所在文件组的过程.在一个SQL Server 2008实例中,最多可以创建32767个数据库,数据库的名称必须满足系统的标识符规则.在命名数据库 ...

  6. SQL Server 2008如何创建定期自动备份任务

    日常工作中利用SQL SQLSERVER 2008的维护计划对数据库进行定期自动备份,这样一方面可以对数据库进行备份保证数据安全,另一方面也可以减轻对维护人员的负担.本文我们就介绍SQL Server ...

  7. SQL Server 2008从基础开始学习的历程(1)------创建表与查询

    [by:yy] 无论我们学什么呢,都要讲究一个Why,一个How.那么我们为什么要学SQL呢?无非就那么几点. 1.为了适应其他技术,和其他技术配对而学. 我个人的理解呢,只要在IT行业,无论你学什么 ...

  8. 创建集成含有SQL Server 2008 RTM + Service Pack 1 的安装 (翻译)

    原文链接http://blogs.msdn.com/petersad/archive/2009/02/25/sql-server-2008-creating-a-merged-slisptream-d ...

  9. sql server 2008 您所做的更改要求删除并重新创建以下表

    启动SQL Server 2008 Management Studio 工具菜单----选项----Designers(设计器)----阻止保存要求重新创建表的更改 取消勾选即可. 转载于:https ...

  10. SQL Server 2008 阻止保存要求重新创建表的更改问题的设置方法

    不是很理解为什么在2008中会加入阻止保存要求重新创建表的更改这个选项.症状表现为修改表结构的时候会"阻止"你.而且我遇到的情况是居然有的时候阻止你,有的时候不阻止你,摸不到头脑. ...

最新文章

  1. cpu封装技术 cpu知识 zol术语
  2. Aix5.3安装Bash环境
  3. idea创建Package时出现包名累加,而不是树形结构解决方法
  4. 抖音去水印解析网址入口_抖音去水印 视频去水印 小工具
  5. nginx 与php版本,nginx-php不同版本问题
  6. Qt4_创建菜单和工具栏
  7. 前端框架——Jquery——基础篇7__工具函数(Utils)
  8. HBase常用过滤器
  9. c语言满屏爱心,微信聊天可以发满屏动态爱心了 个性又浪漫!
  10. Outlook 2013 重新联姻Hotmail ,Exchange ActiveSync牵线搭桥
  11. 从隔壁兄弟那爬点网页数据,整理成word文档
  12. 又写无关IT的东西:经济学术语
  13. Wordpress 的删除和重新安装
  14. Secure CRT 7.0 通过 SSH服务登录 Vmware 下的Ubuntu 12.04服务器
  15. linux 格式工厂,在Deepin 20系统下安装格式工厂deb包后字体很小的解决方案
  16. Worthful Films
  17. 欧姆龙CP1H与三菱E740变频器 485通讯 串口网关与变频器进行modbus RTU通讯。 功能:触摸屏进行参数设置监控,变频器采用三菱E740
  18. 因为没有网关,我的服务器被 DDoS 了
  19. 作为一名开发者,这个七夕你(打算)怎么过?
  20. Python编程快速上手——让繁琐工作自动化

热门文章

  1. mac下载站,这个可以收藏看看
  2. Karabiner Elements使用技巧分享,帮您简单修改使用键位
  3. keepalived 非抢占模式
  4. 大数据(7) - zookeeper的安装与使用
  5. Linux中关于httpd仓库安装的简要步骤
  6. 终端会话和孤儿进程组(POSIX-2.2.2.52)--解释问题
  7. 8086汇编语言入门-HelloWorld
  8. Android ScrollView 使用总结
  9. ubuntu14.04下svn版本管理系统的安装及常用命令的使用整理
  10. Grails枚举一例