SQLServer 中有五种约束, Primary Key 约束、 Foreign Key 约束、 Unique 约束、 Default 约束和 Check 约束,今天使用SQL Server2008 来演示下这几种约束的创建和使用的方法。

1 、 Primary Key 约束

在表中常有一列或多列的组合,其值能唯一标识表中的每一行。

这样的一列或多列成为表的主键(PrimaryKey)。一个表只能有一个主键,而且主键约束中的列不能为空值。只有主键列才能被作为其他表的外键所创建。

创建主键约束可以右键单击表,选择设计 。

选中要创建主键的列,然后单击上面的小钥匙。

也可以右键需要创建主键的列,然后单击小钥匙。

2 、 Foreign Key 约束

外键约束是用来加强两个表(主表和从表)的一列或多列数据之间的连接的。创建外键约束的顺序是先定义主表的主键,然后定义从表的外键。也就是说只有主表的主键才能被从表用来作为外键使用,被约束的从表中的列可以不是主键,主表限制了从表更新和插入的操作。

右键单击需要设置外键的列(此时的表是作为从表在外键中出现),选择关系。

接下来点击添加 --> 表和列规范。

在主键表中选择主表和主表的主键列。

设置完后保存即可。

3 、 Unique 约束

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

右键单击要设置的列选择索引 / 键。

然后单击添加按钮。

选择需要设置的列,可以是一列也可以是多列的组合。

关闭并保存设置。

4 、 Default 约束

若在表中定义了默认值约束,用户在插入新的数据行时,如果该行没有指定数据,那么系统将默认值赋给该列,如果我们不设置默认值,系统默认为 NULL 。

以学生信息表为例,在表设计器中,为性别 sex 列填写默认值男。

5 、 Check 约束

Check 约束通过逻辑表达式来判断数据的有效性,用来限制输入一列或多列的值的范围。在列中更新数据时,所要输入的内容必须满足 Check 约束的条件,否则将无法正确输入。

以学生信息表中的 sex 为例,我们要限制 sex 列的值只能为男或女。

关闭并保存设计。

致此,数据库中的五种约束情况又复习了一遍,约束确保了数据库中数据的完整性,但只有约束 是 远远不够的。

[SqlServer]SQL Server创建约束图解的更多相关文章

  1. 【转】SQL Server 创建约束图解 唯一 主键-界面操作

    SQL Server 创建约束图解 唯一 主键-界面操作 SQLServer中有五种约束,Primary Key约束.Foreign Key约束.Unique约束.Default约束和Check约束, ...

  2. SQL Server 创建约束图解 唯一 主键

    SQLServer中有五种约束,Primary Key约束.Foreign Key约束.Unique约束.Default约束和Check约束,今天使用SQL Server2008来演示下这几种约束的创 ...

  3. SQL Server2008创建约束图解

    机房收费系统个人重构版开始了,但在设计数据库时遇到了写小麻烦,主要是数据库中约束的应用,以前在学习数据库时进行了总结,在刚开始学习时使用的是SQL Server2000 小操作了下,查证了几种约束的作 ...

  4. SQL Server2008创建约束图解 转

    转自 http://www.cnblogs.com/longhs/p/3670307.html SQLServer 中有五种约束, Primary Key 约束. Foreign Key 约束. Un ...

  5. SQL Server2012创建约束图解

            SQLServer中有五种约束:Primary Key约束.Foreign Key约束.Unique约束.Default约束和Check约束  1 . Primary Key 约束 在 ...

  6. SQL Server 创建唯一约束sql语句

    SQL Server 创建唯一约束sql语句   语句示例:   在创建表是时同时创建, 创建id,name,sex三个字段的唯一索引 create table t1( id int primary ...

  7. SQL server 创建 修改表格 及表格基本增删改查 及 高级查询 及 (数学、字符串、日期时间)函数[转]

    SQL server 创建 修改表格 及表格基本增删改查 及 高级查询 及 (数学.字符串.日期时间)函数   --创建表格 create table aa ( UserName varchar(50 ...

  8. ArcSDE for Microsoft SQL Server Post Installation图解(转)

    ArcSDE for Microsoft SQL Server Post Installation图解 使用ArcSDE作为空间数据引擎时,经常遇到服务无法启动的情况(启动服务时提示:本地计算机上的a ...

  9. SQL Server创建索引

    原文:SQL Server创建索引 什么是索引 拿汉语字典的目录页(索引)打比方:正如汉语字典中的汉字按页存放一样,SQL Server中的数据记录也是按页存放的,每页容量一般为4K .为了加快查找的 ...

随机推荐

  1. bochs的bochsrc说明

    ########################################## Configuration file for bochs          ################### ...

  2. django 之 ContentType的使用

    1. ContentType 是干什么用的呢: 1. ContentType: 主要的作用就是Django orm的创建表的时候,可以方便多表查询使用,简化多表查询的过程 2.ContentType ...

  3. SpringMVC中的一些注解

    @Controller:表明该类是一个Controller: @RequestMapping(参数) :为类或者方法定义一个url @RequestParam(value = "id&quo ...

  4. ubuntu单用户修改密码

    系统版本:Ubuntu 16.04,其它版本类似. 第一步 重启 Ubuntu ,并长按shift键,进入grub菜单,上下键选择Ubuntu高级选项 第二步 上下键选择recovery mode,不 ...

  5. java表达式中运算符优先级

    运算符优先级:运算符*和/(以及%)的优先级高于+和-(优先级越高,越早运算) 在逻辑运算符中,!拥有最高优先级,之后是&&,接下来是||. 一般来说,相同优先级的运算符的运算顺序是从 ...

  6. 【CPU微架构设计】利用Verilog设计基于饱和计数器和BTB的分支预测器

    在基于流水线(pipeline)的微处理器中,分支预测单元(Branch Predictor Unit)是一个重要的功能部件,它负责收集和分析分支/跳转指令的执行结果,当处理后续分支/跳转指令时,BP ...

  7. 使用rke快速安装K8s集群

    操作系统 centos 7.5 yum update -y yum install docker -y 关闭防火墙.selinux 下载rke helm https://github.com/helm ...

  8. vim 自动添加作者、版权、修改时间等信息

    相信大家阅读代码时都见过这样的文件头: # THIS FILE IS PART OF LibreBoot PROJECT (归属) # reboot.py - The core part of the ...

  9. jemter聚合报告参数指标

    1.聚合报告指标含义 2.性能指标的名称与含义 1)并发:        所有用户在同一时刻对系统执行操作,一般指做同一件事情或操作.2)在线:        所有用户在一段时间内对系统执行操作.3) ...

  10. 100-days: twenty-nine

    Title: The promise and perils of synthetic biology promise n.希望成功的前景 peril n.巨大的危险:险情,险境 释义:the peri ...