规则:作用和CHECK约束相同:用于限制数据的合法性.约束必须依赖于表的某一列才能创建.但是规则不用,规则作为一个对象单独存在.但是必须要绑定到列上才能起作用.而且可以同时绑定到多个表的多个列上SQLServer中约束的介绍http://www.frontfree.net/view/article_794.html摘要对于SQLServer中的约束,想必大家并不是很陌生。但是约束中真正的内涵是什么,并不是很多人都很清楚的。本文以详细的文字来介绍了什么是约束,以及如何在数据库编程中应用和使用这些约束,来达到更好的编程效果。(本文部分内容参考了SQLServer联机手册)内容数据完整性分类实体完整性域完整性引用完整性用户定义完整性PRIMARYKEY约束DEFAULT约束CHECK约束UNIQUE约束FOREIGNKEY约束正文在数据库管理系统中,保证数据库中的数据完整性是非常重要的。所谓数据完整性,就是指存储在数据库中数据的一致性和正确性。约束定义关于列中允许值的规则,是强制完整性的标准机制。使用约束优先于使用触发器、规则和默认值。查询优化器也使用约束定义生成高性能的查询执行计划。SQLServer联机丛书中,将数据完整性解释如下:“存储在数据库中的所有数据值均正确的状态。如果数据库中存储有不正确的数据值,则该数据库称为已丧失数据完整性。”强制数据完整性可确保数据库中的数据质量。例如,如果输入了employee_id值为123的职员,那么该数据库不应允许其他职员使用同一ID值。如果计划将employee_rating列的值范围设定为从1到5,则数据库不应接受6。如果表有一dept_id列,该列存储职员的部门编号,则数据库应只允许接受公司中的有效部门编号。数据完整性分类在SQLServer中,根据数据完整新措施所作用的数据库对象和范围不同,可以将数据完整性分为以下几种。实体完整性域完整性引用完整性用户定义完整性SQLServer联机丛书中指明:“对表进行计划有两个重要步骤:标识列的有效值和确定如何强制列中的数据完整性。”实体完整性实体完整性简单的说,就是将表中的每一行看作一个实体。实体完整性要求表的标示符列或主键的完整性。可以通过建立唯一索引、PRIMARYKEY约束、UNIQUE约束,以及列的IDENTITY属性来实施实体完整性。域完整性域完整性是指给定列的输入有效性。要求表中指定列的数据具有正确的数据类型、格式和有效的数据范围。强制域有效性的方法有:限制类型(通过数据类型)、格式(通过CHECK约束和规则)或可能值的范围。域完整性通过FOREIGNKEY约束、CHECK约束、DEFAULT定义、NOTNU...