sql数据库完整性约束.ppt
文本预览下载声明
2.绑定默认对象 默认对象创建后不能使用,必须首先将其绑定到某列或者用户自定义的数据类型上。其使用语法格式如下: sp_bindefault [@defname = ] default, [@objname = ] object_name [, [@futureonly = ] futureonly_flag] 5.7 默认值对象 sp_bindefault ‘people_sex‘, ’student.ssex 3.重命名默认对象 重命名默认对象也是使用sp_rename存储过程来完成的。 5.7 默认值对象 4. 解除默认对象的绑定 解除绑定可以使用sp_unbindefault存储过程。其语法格式如下: sp_unbindefault [@objname = ] object_name 5.7 默认值对象 sp_unbindefault ’student.ssex 5. 删除默认对象 在删除默认对象之前,首先要确认默认对象已经解除绑定。删除默认对象使用DROP DEFAULT语句。其语法格式如下: DROP DEFAULT {default} [,…n] 5.7 默认值对象 DROP DEFAULT people_sex; 5.8 规则对象 规则用以限制存储在表中或用户自定义数据类型的值,是独立的数据库对象。 将规则绑定到列或用户自定义数据类型时,规则才起作用。 表中的每列或每个用户定义数据类型只能和一个规则绑定。但每列可应用多个CHECK约束。 如果要删除规则,应确定规则已经解除绑定。 创建规则使用CREATE RULE语句,其语法格式如下: CREATE RULE rule AS condition_expression 其中各参数含义如下: rule 是新规则的名称。 condition_expression 是定义规则的条件。 1 创建规则 5.8 规则对象 CREATE RULE rule_degree AS @value between 0 and 100; 使用SQL Server管理控制器绑定规则 使用sp_bindrule存储过程绑定规则的语法格式为: sp_bindrule [@rulename = ] rule, [@objname = ] ‘object_name’ 2 绑定规则 5.8 规则对象 sp_bindrule rule_degree, ‘score.degree 注意: 规则不能绑定到text、image或timestamp列。 如果规则与绑定的列不兼容,SQL Server将在插入值时返回错误信息。 未解除绑定的规则,如果再次将一个新的规则绑定到列,旧的规则将自动被解除,只有最近一次绑定的规则有效 如果列中包含CHECK约束,则CHECK约束优先。 2 绑定规则 5.8 规则对象 3.重命名规则对象 重命名规则对象也是使用sp_rename存储过程来完成的。 5.8 规则对象 解除规则的绑定可以使用sp_unbindrule存储过程。语法格式如下: sp_unbindrule [@objname = ] object name [,[@futureonly = ] futureonly_ lag] 4 解除规则绑定 5.8 规则对象 sp_unbindrule ‘score.degree 5. 删除规则对象 在删除规则对象之前,首先要确认规则对象已经解除绑定。 删除规则对象使用DROP RULE语句。其语法格式如下: DROP RULE {default} [,…n] 5.8 规则对象 DROP RULE score.grade; USE Company IF OBJECT_ID(employee_sex) IS NOT NULL BEGIN EXEC sp_unbindefault employee_sex DROP DEFAULT employee_sex END GO * 第 5 章数据库完整性 场景: 学校在进行每学期的奖学金评选的时候,要求学生通过校内网站提交奖学金申请表,这个表中数据将会加入到学生数据库中,作为评选依据。 学校的学籍管理办公室数据库管理员抱怨,每次都有学生输入了错误的数据,如:错误的专业名称、和学籍档案不一致的姓名、错误的导师名称等等,有时也会因网络超时,相同的信息重复的输入多次,这样会增加了更多的管理工作。 若你是学校的数据库管理人员认为可由什么方法解决这个问题,提高效率呢? 通过实现约束来解决这个问题。 约束是SQL
显示全部