SQL Server 中几种常见的约束关系
1.创建唯一约束
当表中已创建主键,但又要保证其他数据列的值唯一时,可以使用唯一约束,并且唯一约束允许NULL值(只有一个)
(1)展开指定的数据库;
(2)右击要创建唯一约束的表,在弹出的快捷菜单中选择“设计”命令;
(3)右击该表的某一列,在弹出的快捷菜单中选择“索引/键”命令,如图1;
(4)在该对话框中选择“列”选项,并单击后面的“...”按钮,选择要设置唯一约束的列;
(5)在“是唯一的”下拉列表中选择“是”选项,就可以将选择的列设置为i唯一的约束;
(6)在“(名称)”文本框中输入该约束的名称,设置完成后单击“关闭”按钮即可。

2.检查约束
约束条件不依赖于其他列,可以根据自己的逻辑表达式设定数值范围
(1)右键要创建约束的表,在弹出的快捷菜单中选择“设计”命令;
(2)右击该表中的某一列,在弹出的快捷菜单中选择“CHECK约束”命令。在弹出的对话框中设置约束的表达式,如输入“成绩>0 and 成绩<100”;
(3)设置约束的名称,设置后的效果如图4

3.默认约束
默认约束使用户能够定义一个值,每当用户没有在某一列输入值时,则将所定义的值提供给这一个列。如果用户没有对此列的特定要求,可以使用默认约束来为此列输入默认值。
(1)右击要创建约束的表,在弹出的快捷菜单中选择“设计”命令;
(2)选择该表中的某一列,在下面的“列属性”中选择“默认值或绑定”选项,在其后面的文本框中输入要设置约束的值,如输入“男”,表示默认性别为男。

4.外键约束
外键(FK)是用于建立两个数据表之间连接的一列或多列。通过将保存表中主键值的一列或多列添加到另一个表中,可创建两个表之间的连接,这个列就成为第二个表的外键。
(1)右击要创建约束的表,在弹出的快捷菜单中选择“设计”命令;
(2)右击该表中的某一列,在弹出的快捷菜单中选择“关系”命令,弹出“外键关系”对话框,单击“添加”按钮,添加要选中的关系;
(3)在“外键关系”对话框中,单击“表和列规范”文本框中的“...”按钮,选择要创建外键约束的主键表和外键表;
(4)在“表和列”对话框中,设置关系的名称,然后选择外键要参照的主键表及使用的字段。最后单击“确定”按钮,返回“外键关系”对话框中。
SQL Server 中几种常见的约束关系的更多相关文章
- jdbc至sql server的两种常见方法
Statement和prepareStatement sql server中已建立BookPhone数据库,包含bookPhone表,eclipse中有BookPhone类,三个string类型的值 ...
- Sql Server中三种字符串合并方法的性能比较
文章来自:博客园-DotNet菜园 最近正在处理一个合并字符吕的存储过程,在一个测试系统的开发中,要使用到字符串合并功能,直接在Sql中做.示例:有表內容﹕名称 內容1 abc1 ...
- SQL Server中几种遍历方式比较
SQL遍历解析 在SQL的存储过程,函数中,经常需要使用遍历(遍历table),其中游标.临时表等遍历方法很常用.面对小数据量,这几种遍历方法均可行,但是面临大数据量时,就需要择优选择,不同的遍历方法 ...
- SQL Server中一些不常见的查询
把一些不常见但又会用到的SQL查询整理备份一下 --筛选出某个字段中包含中文的记录 SELECT * FROM temp WHERE W1 LIKE '%[吖-座]%' --筛选出某个字段在哪些表中存 ...
- SQL SERVER中的两种常见死锁及解决思路
在sql server中,死锁都与一种锁有关,那就是排它锁(x锁).由于在同一时间对同一个数据库资源只能有一个数据库进程可以拥有排它锁.因此,一旦多个进程都需要获取某个或者同一个数据库资源的排它访问权 ...
- 浅谈SQL Server中的三种物理连接操作
简介 在SQL Server中,我们所常见的表与表之间的Inner Join,Outer Join都会被执行引擎根据所选的列,数据上是否有索引,所选数据的选择性转化为Loop Join,Merge J ...
- SQL Server中的三种物理连接操作
来源:https://msdn.microsoft.com/zh-cn/library/dn144699.aspx 简介 在SQL Server中,我们所常见的表与表之间的Inner Join,Out ...
- 浅谈SQL Server中的三种物理连接操作(HASH JOIN MERGE JOIN NESTED LOOP)
简介 在SQL Server中,我们所常见的表与表之间的Inner Join,Outer Join都会被执行引擎根据所选的列,数据上是否有索引,所选数据的选择性转化为Loop Join,Merge J ...
- 浅谈SQL Server中的三种物理连接操作(Nested Loop Join、Merge Join、Hash Join)
简介 在SQL Server中,我们所常见的表与表之间的Inner Join,Outer Join都会被执行引擎根据所选的列,数据上是否有索引,所选数据的选择性转化为Loop Join,Merge J ...
随机推荐
- 【转】SPDY协议
SPDY协议 - v3 原文:SPDY Protocol - Draft 3 翻译:邱鹏滔(QQ: 95350530,主页:www.fireflysource.com) 1 概述 HTTP协议的瓶颈在 ...
- Flex入门笔记
Test_01.mxml <?xml version="1.0" encoding="utf-8"?> <viewer:BaseWidget ...
- TeX — Beauty and Fun
我是初学者,你推荐使用什么发行的 TeX? 我应该用 LaTeX 吗? 我认为最好的发行是 TeXLive CD,它不但包含了所有操作系统需要的程序,而且有许许多多宏包,如果你不是特别特殊的用户,有了 ...
- 一个简单的html5页面在线速成工具!(当然本文主要说下他的成果的结构)
分享一个好玩的web app页面速成工具 当然主要是让大家看下他的原理 看着他的结构大家就该猜到这个了.这个是利用换页之后给当前div加了一个active,然后利用css控制效果 这个毫无疑问是采用最 ...
- [译]git add
git add git add命令把工作目录下面的有修改的文件添加的index(staging)里面去. git add告诉Git你想在下次commit的时候把什么文件包含进去. 但是, git ad ...
- AngularJS API之toJson 对象转为JSON
toJson()能把对象序列化为json 方法讲解 这个方法最多支持2个参数: angular.toJson(obj, pretty); obj 是想要转换的对象, pretty 可以调节格式化的样式 ...
- 新年新技术:MongoDB 3.0
前一篇介绍了HTTP/2,这一篇简单介绍下3月3号发布的MongoDB 3.0. What’s new in MongoDB 3.0? 新的存储引擎WiredTiger MongoDB 3.0的存储引 ...
- 新年新技术:HTTP/2
新的一年,项目也要带着发展的眼光往前走,得跟上潮流,当然前提是自己真的用的上. 用的上用不上都得先简单了解下. 2月下旬Google发布了首个基于HTTP/2的RPC框架GRPC,它是基于HTTP/2 ...
- PHP魔术方法以及关于独立实例与相连实例的讲解
<?php //魔术方法 //当包含多个类 //1.自动装载类的魔术方法__autoload() function __autoload($classname){ if (isset($clas ...
- 在使用开源library的PullToRefreshView中
下拉刷新几乎是每个应用都会有的功能,且大部分用的都是开源项目,下载地址:下拉刷新.如何在页面刚打开的时候自动触发下拉刷新的呢? 只需要一句代码,在PullToRefreshAdapterView Ba ...