关闭

SQL Server2008 学习之(五) :规则与约束的用法与联系

标签: 数据库SQLServer数据
617人阅读 评论(0) 收藏 举报
分类:

规则和约束都能对数据表中的数据进行限定,较常用,两者之间存在着一些共同性和差异性,易混淆,因此本文着重三点:规则和约束各自的创建、规则和约束的联系、如何解除和删除

1.规则与约束的创建

规则是单独的SQL Server对象,可以关联到表中的一列或多列。在向表的某列插入或更新数据时,用它来限制输入的新值的取值范围。

 创建规则方法:

1.在新建查询中输入下图1内容,进行规则创建

2.按照图2将规则与列进行绑定

3.在编辑数据表的时候,如果含有规则的列检测到输入数据的不规范,则会像图3那样报错。

 



 

 

 

说完了规则,接下来介绍约束,约束适用于某一具体列,对该列的取值范围进行一个限定。

新建方法:数据库(以AdventureWorks为例)——>数据表StaffInformation——>下拉菜单“约束”项——>新建约束。这里创建了与规则对应列Age不同的列Agee,因为规则和约束不能用于同一列,否则会报错。

 


 

创建完后,StaffInformation中添加数据的时候就能看到,如果Agee数据不满足约束条件,也会报错。

 

 

 

2.规则与约束的关系(以一张图表示,图中说的很清晰明了,故不赘述)

 

 

 

3.规则的解除和删除

由于约束可以直接删除,因此不过多解释。规则是有跟列进行绑定的,因此如果用“droprule age" 这类的表达式删除规则是不可行的,需要用到解除规则的方法。


代码:

sp_unbindrule 'StaffInformation.age'

 

 

之后再执行 

drop rule age   即可删除绑定

 

 

1
0
查看评论

浅谈SQL SEVER中约束和规则的异同

规则和约束是用来对想要限定的表中某些数据操作的操作法则。通俗点就是,允许什么样的数据输入不允许什么样的输入等操作,都受到规则或约束的限定。 约束:强制实行的应用规则,通过限制列中数据,行中数据和表之间数据来保证数据的完整性,独立于表结构。通常包括四种约束类型:主键约束,唯一性约束,核查性约束和外键...
  • zllaptx4869
  • zllaptx4869
  • 2012-07-22 08:33
  • 1254

SQL中的「规则」 constraint 与「约束」 rule 的区别。

前言,学校时学习的东西,好久都没有用到了。 今天看到了rule,第一眼还以为是约束了。 -------------------------------------------------------------- 举例,说明「约束」:constraint 我们在定义一个表的时候,可以定义...
  • sxzlc
  • sxzlc
  • 2012-04-09 15:52
  • 1794

需求分析——确定需求细节(规则与约束)

之前写过一篇关于需求分析描述细节需要注意的规则和约束,今天在看徐峰的软件最佳实践时,看到了更为总结的描述,下面摘录进来: 规则是在实现时应该考虑的东西,约束是对技术手段选择起到限制作用的各种条件。 规则分类:行为(或成为功能、业务)规则、结构(或数据)规则、界面规则。 行为规...
  • happymatilian
  • happymatilian
  • 2016-11-02 18:30
  • 825

SQL server 约束与规则

--1 -- 创建表的时候 create table tablename( -- 只是单列的属性 t1name [int] [NOT NULL] [(CONSTRAINT PK_ST2 )PRIMARY KEY CLUSTERED] -- 聚合主键 [(constraint ...
  • betwater
  • betwater
  • 2016-11-20 22:34
  • 765

表约束之自定义实现约束规则

表约束之自定义实现约束规则 用函数、触发器、计算列实现自定义表约束规则
  • roy_88
  • roy_88
  • 2014-12-31 21:42
  • 1646

SQL与NoSQL比较(整理)

一、SQL 遵循ACID原则 二、NoSQL 遵循CAP原则:分布式系统只能满足此三项中的两项而不可能满足全部三项 C:一致性(Consistency)(所有节点在同一时间具有相同的数据) A:可用性(Availability)(保证每个请求不管成功或者失败都有响应) P:分区容忍性...
  • tterminator
  • tterminator
  • 2015-11-30 22:12
  • 1087

sql中表达完整性约束的机制主要有哪几种?

sql中表达完整性约束的机制主要有哪几种? 实体完整性 参照完整性 用户定义完整性 删除约束 —实体完整性: 又称行完整性, 要求在表中不能存在完全相同的行, 而且每行都要具有一个非空且又不重复的主键值。 —参照完整性: ...
  • sunrainamazing
  • sunrainamazing
  • 2017-04-03 21:38
  • 743

INSERT 语句与 FOREIGN KEY 约束"XXX"冲突。

做牛腩新闻发布系统的时候遇到了这样的问题:INSERT语句与FOREIGN KEY约束“KF_news_category”冲突。该冲突发生于数据库“newsystem”,表“dbo.category”,column‘id’。        运行程序添加不...
  • hpuxiaofang
  • hpuxiaofang
  • 2016-12-18 21:04
  • 3139

表中的列与现有主键或UNIQUE约束不匹配

原因: 外键所引用的必须唯一
  • u014316433
  • u014316433
  • 2014-04-20 10:17
  • 1634

数据库与数据仓库的区别与联系

<br />数据库是面向事务的设计,数据仓库是面向主题设计的。数据库一般存储在线交易数据,数据仓库存储的一般是历史数据。<br /> <br />数据库是面向事务的设计,数据仓库是面向主题设计的。数据库一般存储在线交易数据,数据仓库存储的一般是历史数据。...
  • wenjie847
  • wenjie847
  • 2010-10-11 22:07
  • 6184
    个人资料
    • 访问:25618次
    • 积分:754
    • 等级:
    • 排名:千里之外
    • 原创:50篇
    • 转载:2篇
    • 译文:0篇
    • 评论:5条
    最新评论