第3章  建表基础 检查约束的作用类似于外键约束,它们都能限制列的取值范围。但是两种
约束确定列值是否有效的方法却不同:检查约束通过指定的逻辑表达式来限制
列的取值范围,外键约束则通过其他表来限制列的取值范围。
【任务3.2】 在Sales 订货信息表中定义订货数量字段数据有效,客户信息表性别字段取值范围为“男”和“女”。 步骤实施如下。
(1)在Sales 订货信息表中定义订货数量字段检查约束>0。
(2)在Buyers 客户信息表性别字段检查约束取值为“男”和“女”。
3.4.5  默认值约束(DEFAULT)
在数据库中建立一个默认值并把该默认值绑定到表中某字段或用户定义数据类型时,如果用户在插入记录
时没有明确地提供该字段数值,系统便自动将默认值赋予该字段,这种对字段数值的限制被称为默认值约束。在用户定义数据类型的情况下,如果使用默认值约束,则默认值被插入使用这个自定义数据的所有字段中。默认值可以是常量、内置函数或表达式。使用默认值使数据的输入更加方便。
注意:一个列只能定义一个默认约束,并不是所有列都支持默认约束,不
能对标识列、ROWGUIDCOL 列或数据类型为TIMESTAMP 的列定义默认约束。
默认值用来实现域完整性。
【任务3.3】 定义订货信息表中订货时间字段默认值为系统当前时间,客户信息表性别字段默认值为“男”。 步骤实施如下。
(1)在Sales 表中字段默认值为系统当前时间。
(2)在Buyers 表中字段默认值为“男”。
3.4.6  空值约束(NULL)
空值约束是指尚不知道或不确定的数据值,它不等同于0或空格。创建表时,如果未对列指定默认值,则SQL Server 系统为该列提供NULL 默认值,可以通过为该列定义非空约束改变这种默认的空值。
注意:主键列或标识列自动具有非空约束。
非空约束用来实现域完整性。
在已创建的Manager 数据库中,客户信息表(Buygers )中含有表3.8所示的字段,货品信息表(Wares )中含有表3.9所示的字段,订货情况信息表(Sales )中含有表3.10所示的字段,为所有的字段确定数据类型,并指定字段是否允许为空值。
表3.8  客户信息表(Buygers )字段信息 字段名 字段描述 数据类型 长度 是否允许空值
BuyerID 客户编号
BuyerName 客户姓名
BuyerSex 性别
微课:检查约束
微课:默认约束
>sqlserver2012数据库还原