SQL Server 2008 如何查看与创建约束
原创地址: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 如何查看与创建约束相关推荐
- SQL Server 2008 - 第2章 创建、管理 数据库
第2章 创建数据库 数据库是用来存储数据的空间,它作为存储结构的最高层次是其他一切数据库操作的基础.用户可以通过创建数据库来存储不同类别或者形式的数据. 因此,在本章用户将详细地学习针对数据库的基本 ...
- 如何解决SQL Server 2008 R2中“阻止保存要求重新创建表的更改”的问题!
今天在讲解SQL Server 2008 R2课程中,有学生遇到一个问题,在SQL Server 2008 R2管理控制台中创建一个新表后,如果再次打开该表进行修改保存时,发现对每个表的修改都不成 ...
- 《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 ...
- 基于Sql Server 2008的分布式数据库的实践
配置Sql Server 2008(Win7) 1.打开SQL server2012,使用windows身份登录 2.登录后,右键选择"属性".左侧选择"安全性" ...
- SQL Server 2008创建数据库
创建数据库就是为数据库确定名称.大小.存放位置.文件名和所在文件组的过程.在一个SQL Server 2008实例中,最多可以创建32767个数据库,数据库的名称必须满足系统的标识符规则.在命名数据库 ...
- SQL Server 2008如何创建定期自动备份任务
日常工作中利用SQL SQLSERVER 2008的维护计划对数据库进行定期自动备份,这样一方面可以对数据库进行备份保证数据安全,另一方面也可以减轻对维护人员的负担.本文我们就介绍SQL Server ...
- SQL Server 2008从基础开始学习的历程(1)------创建表与查询
[by:yy] 无论我们学什么呢,都要讲究一个Why,一个How.那么我们为什么要学SQL呢?无非就那么几点. 1.为了适应其他技术,和其他技术配对而学. 我个人的理解呢,只要在IT行业,无论你学什么 ...
- 创建集成含有SQL Server 2008 RTM + Service Pack 1 的安装 (翻译)
原文链接http://blogs.msdn.com/petersad/archive/2009/02/25/sql-server-2008-creating-a-merged-slisptream-d ...
- sql server 2008 您所做的更改要求删除并重新创建以下表
启动SQL Server 2008 Management Studio 工具菜单----选项----Designers(设计器)----阻止保存要求重新创建表的更改 取消勾选即可. 转载于:https ...
- SQL Server 2008 阻止保存要求重新创建表的更改问题的设置方法
不是很理解为什么在2008中会加入阻止保存要求重新创建表的更改这个选项.症状表现为修改表结构的时候会"阻止"你.而且我遇到的情况是居然有的时候阻止你,有的时候不阻止你,摸不到头脑. ...
最新文章
- cpu封装技术 cpu知识 zol术语
- Aix5.3安装Bash环境
- idea创建Package时出现包名累加,而不是树形结构解决方法
- 抖音去水印解析网址入口_抖音去水印 视频去水印 小工具
- nginx 与php版本,nginx-php不同版本问题
- Qt4_创建菜单和工具栏
- 前端框架——Jquery——基础篇7__工具函数(Utils)
- HBase常用过滤器
- c语言满屏爱心,微信聊天可以发满屏动态爱心了 个性又浪漫!
- Outlook 2013 重新联姻Hotmail ,Exchange ActiveSync牵线搭桥
- 从隔壁兄弟那爬点网页数据,整理成word文档
- 又写无关IT的东西:经济学术语
- Wordpress 的删除和重新安装
- Secure CRT 7.0 通过 SSH服务登录 Vmware 下的Ubuntu 12.04服务器
- linux 格式工厂,在Deepin 20系统下安装格式工厂deb包后字体很小的解决方案
- Worthful Films
- 欧姆龙CP1H与三菱E740变频器 485通讯 串口网关与变频器进行modbus RTU通讯。 功能:触摸屏进行参数设置监控,变频器采用三菱E740
- 因为没有网关,我的服务器被 DDoS 了
- 作为一名开发者,这个七夕你(打算)怎么过?
- Python编程快速上手——让繁琐工作自动化