参见《SQL Sever 2005 数据库基础及应用技术教程与实训》 周奇 SQL Server中有五种约束类型,分别是CHECK约束、DEFAULT约束、PRIMARY KEY约束、FOREIGN KEY约束和UNIQUE约束。 1. CHECK约束: CHECK约束用于限制输入一列或多列的值的范围,通过逻辑表达式来判断数据的有效性。一个列的输入内容必须满足CHECK约束的条件,否则数据无法正常输入。 下面我们要对以下的表添加CHECK约束, Name Sex Adams M Berry F Hebe f Jack M 以上的约束可以限制Sex列的取值只能为’M’或者’F’。如果你插入新行,或更改某一行不符合该约束,就会报错。 2. DEFAULT约束 若在表中某列定义了DEFAULT约束,用户在插入新的数据行时,如果该列没有指定数据,那么系统将默认值赋给该列,当然该默认值也可以是空值(NULL)。 创建DEFAULT约束需要在表设计器中,填写列属性的”默认值”. 3. PRIMARY KEY约束 在表中常有一列或多列的组合,其值能唯一标识表中的每一行。这样的一列或多列成为表的主键(Primary Key)。一个表只能有一个主键,而且主键约束中的列不能为空值。 4. FOREIGN KEY约束 外键(Foreign Key)是用于建立和加强两个表(主表与从表)的一列或多列数据之间的连接的。创建约束的顺序是先定义主表的主键,再对从表定义外键约束。 先对Country表设置主键,然后对Author表创建关系。 设置结束以后,可以发现Author表的CountryID列变为了外键。 5. UNIQUE约束 UNIQUE约束用于确保表中的两个数据行在非主键中没有相同的列值。与PRIMARY KEY约束类似,UNIQUE约束也强制唯一性,但UNIQUE约束用于非主键的一列或多列组合,且一个表可以定义多个UNIQUE约束,另外UNIQUE约束可以用于定义多列组合。 按照上图所示操作,Author表就多了一个对Name列的UNIQUE操作。这样,Author表就不会有两行具有相同Name的记录了。

评论