约束是SQL Server 2008提供的自动保持数据库完整性的一种方法,它通过限制列中数据、记录中数据和表之间的数据来保证数据的完整性。
在SQL Server 2008中有6种约束:空值约束、默认约束、主键约束、唯一性约束、检查约束和外键约束。
完整性约束的基本语法格式为:
[CONSTRAINT <约束名>] <约束类型>
(1)空值约束
空值约束用来控制是否允许该列的值为NULL。当某一列的值一定要输入才有意义的时候,应设置为NOT NULL。空值(NULL)约束只能用于定义列约束。
创建空值约束常用的操作方法有如下两种:
①通过“SQL Server Management Studio”创建空值约束。
②使用T-SQL语句设置空值约束。其语法形式如下:
[CONSTRAINT <约束名> ] [NULL|NOT NULL]
(2)主键约束
PRIMARY KEY约束用于定义基本表的主键,它是唯一确定表中每一条记录的标识符,其值不能为NULL,也不能重复。
创建空值约束常用的操作方法有如下两种:
①如前所述利用菜单工具来创建
②使用T-SQL语句设置主键约束,其语法形式如下:
[CONSTRAINT <约束名> ] PRIMARY KEY [(列名[,…n])]
(3)唯一性约束
唯一性约束用于指定一个或者多个列的组合值具有唯一性,以防止在列中输入重复的值。定义了UNIQUE约束的那些列称为唯一键,系统自动为唯一键建立唯一索引,从而保证了唯一键的唯一性。
当使用唯一性约束时,需要考虑以下几个因素:
使用唯一性约束的列允许为空值;
一个表中可以允许有多个唯一性约束;
可以把唯一性约束定义在多个列上;
唯一性约束用于强制在指定列上创建一个唯一性索引。
创建唯一性约束的方法有以下两种:
① 通过“SQL Server Management Studio”创建。
② 使用T-SQL语句创建,其语法形式如下:
[CONSTRAINT <约束名>] UNIQUE [(column_name[,…n])]




