1.PRIMARY KEY(主键)约束
2.FOREIGN KEY(外键)约束
3.UNIQUE(唯一性)约束
4.CHECK(检查)约束
5.DEFAULT(缺省值)定义
6.是否可以为空

解决方案 »

  1.   

    CHECK和DEFAULTCHECK 约束
    CHECK 约束通过限制输入到列中的值来强制域的完整性。这与 FOREIGN KEY 约束控制列中数值相似。区别在于它们如何判断哪些值有效:FOREIGN KEY 约束从另一个表中获得有效数值列表,CHECK 约束从逻辑表达式判断而非基于其它列的数据。例如,通过创建 CHECK 约束可将 salary 列的取值范围限制在 $15,000 至 $100,000 之间,从而防止输入的薪金值超出正常的薪金范围。可以通过任何基于逻辑运算符返回结果 TRUE 或 FALSE 的逻辑(布尔)表达式来创建 CHECK 约束。对上例,逻辑表达式为:salary >= 15000 AND salary <= 100000对单独一列可使用多个 CHECK 约束。按约束创建的顺序对其取值。通过在表一级上创建 CHECK 约束,可以将该约束应用到多列上。例如,多列 CHECK 约束可以用来判明 country 列值为 USA 且 state 列值为两个字母值所对应的行。这样就允许在一处同时检查多个条件。DEFAULT 定义
    记录中的每一列均必须有值,即使它是 NULL。可能会有这种情况,当向表中装载新行时可能不知道某一列的值,或该值尚不存在。如果该列允许空值,就可以将该行赋予空值。由于有时不希望有可为空的列,因此如果合适,更好的解决办法可能是为该列定义 DEFAULT 定义。例如,通常将数字型列的默认值指定为零,将字符串列的默认值指定为暂缺。当将某行装载到为行定义了 DEFAULT 的表中时,若没有指定列值,则是隐性要求 Microsoft&reg; SQL Server&#8482; 2000 将默认值装载到该列中。说明  也可以使用 INSERT STATEMENT 语句 DEFAULT VALUES 子句显式要求 SQL Server 将默认值插入列中。
    如果列不允许空值且没有 DEFAULT 定义,就必须明确地指定列值,否则 SQL Server 会返回错误信息,指出该列不允许空值。将 DEFAULT 定义、为空性和对列值的插入归纳如下:
    列定义 无输入,
    无 DEFAULT 定义 无输入,
    DEFAULT 定义 输入空值 
    允许空值 NULL 默认值 NULL 
    不允许空值 错误 默认值 错误 
    DEFAULT 对象
    DEFAULT 对象是为特定数据库定义的。通过将其绑定到默认值要应用的每个列上,它可为不同表的列所共享。例如,如果多个表中均有 quantity 列,则可以在数据库中定义 DEFAULT 对象,当用户在任何表的 quantity 列中未输入值时在该列中插入数值 1。如果 DEFAULT 对象绑定到某列上,可在特定的表中为该列指定不同的默认值。这样在向列绑定新的默认值之前从该列中释放已有的 DEFAULT 对象。