SQL Server2008创建约束图解
复习一下数据库的约束

机房收费系统个人重构版开始了,但在设计数据库时遇到了写小麻烦,主要是数据库中约束的应用,以前在学习数据库时进行了总结,在刚开始学习时使用的是SQL Server2000 小操作了下,查证了几种约束的作用,但现在升级为 08 版的 SQL所以在操作方式上有了些区别。虽然是小麻烦但是也反映了我们学习的一种习惯,在对知识进行封存后就放到一边,等待下次的调用,知识是要进行反复咀嚼才能消化的。

那闲话少说进入我们今天的主题, 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 列的值只能为男或女。

关闭并保存设计。

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

SQL Server2008创建约束图解 唯一性约束相关推荐

  1. mysql主键约束和唯一性约束

    主键约束和唯一性约束都是索引,它们的区别是: 主键字段可以确保唯一性,但主键字段不能为NULL. 唯一性约束可以确保唯一性,但唯一性约束的字段可以为NULL 唯一性约束对含有NULL的记录不起作用,即 ...

  2. 约束——非空约束和唯一性约束

    1.什么是约束? 约束对应的英语单词:constraint 在创建表的时候,我们可以给表中的字段加上一些约束,来保证这个表中数据的 完整性.有效性!!!约束的作用就是为了保证:表中的数据有效!! 1. ...

  3. 【MySQL8.0学习笔记】约束:主键约束、自增长约束、非空约束、唯一性约束、默认约束与零填充约束

    本文对MySQL数据库的约束相关知识进行了归纳总结,包括主键约束.自增长约束.非空约束.唯一性约束.默认约束与零填充约束. 本专栏长期更新,敬请关注. 文章目录 1 MySQL约束简介 2 主键约束 ...

  4. SQL Serverver -- 创建财政年度表 (约束)

    -- 实例1: 创建财政年度表 (约束) -- 新建表: Create table FiscalYears ( fiscal_year INTEGER NOT NULL PRIMARY KEY, st ...

  5. 主键约束、唯一性约束、唯一索引

    1.主键约束(PRIMARY KEY) 1) 主键用于唯一地标识表中的每一条记录,可以定义一列或多列为主键. 2) 是不可能(或很难)更新. 3) 主键列上没有任何两行具有相同值(即重复值),不允许空 ...

  6. mysql中主键约束和唯一约束的区别_主键约束和唯一性约束的区别

    1.主键约束(PRIMARY KEY) 1) 主键用于唯一地标识表中的每一条记录,可以定义一列或多列为主键. 2) 是不可能(或很难)更新. 3) 主键列上没有任何两行具有相同值(即重复值),不允许空 ...

  7. mysql 唯一约束_Mysql 唯一性约束添加

    一.单列唯一约束 在一列上添加唯一约束,主要是让该列在表中只能有唯一的一行,例如注册邮箱时的邮箱名.手机号等信息,相关操作如下: 1.建表时加上唯一性约束: CREATE TABLE `t_user` ...

  8. 主键约束和唯一性约束的区别

    主键必然是唯一且不为空,但是唯一不一定是主键,而且主键只能有一个,但是唯一约束仅仅是为了保持某些列具有唯一性而已.所以可以有多列 一张表里只能有一个主键约束,可以有多个唯一约束 主键约束的字段不能为n ...

  9. 使用SQL脚本创建数据库,操作主键、外键与各种约束(MS SQL Server)

    在实际开发中,可能很少人会手写sql脚本来操作数据库的种种.特别是微软的MS SQL Server数据库,它的SQL Server Management Studio对数据库的图形化操作极致简便,从而 ...

最新文章

  1. Spring+SpringMVC+Log4J
  2. 如何在Python中附加文件?
  3. Xamarin Anroid开发教程之验证环境配置是否正确
  4. 发现一个好的索引-阳神
  5. 别人7天乐,运维还苦逼值班?
  6. FFMPEG中H.264的算法文档--整理自ffmpeg论坛等
  7. 面试官:什么是JDK什么是JRE?服务器可以只安装JRE吗?
  8. requests-get请求
  9. XRD .txt 格式转 .xrdml格式
  10. 拉曼光谱避免荧光效应的方法
  11. 第一次竞赛-A.质数的最大乘积
  12. Visio使用技巧——改变环形箭头的箭头方向
  13. brpc internal
  14. 湖人夺冠,科比MVP!
  15. 排查线上问题的9种方式
  16. 手动加密 ESP 设备量产固件并烧录的流程
  17. 读取Excel文件并用jdbc连接将内容导入MySQL数据库
  18. 访问SAE_MySql
  19. 「论文阅读」SCF-Net:Learning Spatial Contextual Features for Large-Scale Point Cloud Segmentation
  20. layerUI 父子iframe之间的操作

热门文章

  1. webdynpro 组件重用 传值问题
  2. Autodesk View and Data API二次开发学习指南
  3. WinForm下DataGridView导出Excel的实现
  4. Ucloud香港1h1g云服务器低至126元一年而且可开3年限时
  5. 容器编排技术 -- Kubernetes 为 Namespace 配置默认的内存请求与限额
  6. Spring教程 - Spring核心框架教程
  7. Hystrix面试 - 基于 timeout 机制为服务接口调用超时提供安全保护
  8. 【TencentOS tiny】深度源码分析(4)——消息队列
  9. 面试刷题29:mysql事务隔离实现原理?
  10. jrebel 远程部署 配置记录