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 ...
随机推荐
- centos 7.0 查看内存使用情况 和 查看硬盘使用情况
在系统平时使用中 ,最重要的三个方面 内存使用 硬盘使用 CPU负载 这些 自己觉得 比较重要 1.内存使用情况 首先就是内存查看 命令free -m -m 表示单位是M 主要看第一行Mem ...
- 年轻人,你活着不是为了观察K线做布朗运动
谈股票市场的赚钱陷阱 年轻人,你活着不是为了观察K线做布朗运动 作者:李晓鹏(2015-01-10) 这篇文章本来是该两年前写的,奉劝大家不要去玩股票.因为那个时候我的<中国崛起的经济学分析&g ...
- clearfix--清除浮动
.clearfix { zoom: ; display: table; width: %; } .clearfix:after { content: " "; display: b ...
- array_fill 用给定的值填充数组
转自:http://www.phpstudy.net/php/165.html PHP array_fill 用给定的值填充数组 array_fill (PHP 4 >= 4.2.0, PHP ...
- R入门-第一次写了一个完整的时间序列分析代码
纪念一下,在心心念念想从会计本科转为数据分析师快两年后,近期终于迈出了使用R的第一步,在参考他人的例子前提下,成功写了几行代码.用成本的角度来说,省去了部门去买昂贵的数据分析软件的金钱和时间,而对自己 ...
- SQL获取日期格式
) + ' ' + CONVERT(VARCHAR, DATEPART(hh, GetDate())) + ':' + ) AS Date ),) ),) ),) as DateTime) as [D ...
- 输入三个数a,b,c,要示按由小到大的顺序输出
#include<stdio.h>int main(){ double a,b,c,t; scanf("%lf %lf %lf",&a, ...
- Ubuntu 12 安装 MySQL 5.6.26 及 问题汇总
参考先前的文章:Ubuntu 14 编译安装 PHP 5.4.45 + Nginx 1.4.7 + MySQL 5.6.26 笔记 安装过程: #安装依赖库 sudo apt-get install ...
- Ubuntu 12 升级 SVN 1.6 到 1.8 版本
在 Ubuntu 12 中使用 PhpStorm 10.x,CheckOut项目后,Event Log 提示: Subversion command line client version is to ...
- ios 客户端定位的3种方法
1.客户端通过IP地址定位 http://int.dpool.sina.com.cn/iplookup/iplookup.php 输出:城市 1 -1 -1 中国 广东 深圳 2.客户端获取经纬度,调 ...