[SQl读书笔记]§7.数据完整性和事务处理(上)

§ 7. 数据完整性和事务处理
. 数据完整性的含义
1. 数据完整性 : 是指数据的一致性 (Accuracy) 和可靠性 (Reliability). 它是为防止数据库中存在不符合语义规定的数据 , 防止因错误信息的输入 , 输出而造成无效的操作或错误信息 . 它包括实体完整性 (Entity Integrity), 域完整性 (Domain Integrity), 参照完整性 (Referential Integrity), 用户定义完整性 (User-defined Integrity).
2. 实体完整性 : 表的每一行在表中是唯一的实体 .
3. 域完整性 : 也称列完整性 , 要求域中指定的列 ( 字段 ) 的数据具有正确的数据类型 , 格式和有效的数值范围 .
4. 参照完整性 : 指两个表中的主码和外码的数据应对应一致 .
5. 用户自定义完整性 : 允许用户定义不属于其它任何一完整性规则 ( 例如 : 性别只能是男或女 ).
 
. 规则 .
1. 规则 : 就是数据库中 , 对存储在数据库中表的列 ( 字段 ) 或用户自定义数据类型中的值的规定和限制 . 规则要在 insert update 语句之前给出 .
2. 创建规则 :( 右健单击规则 --[ 新建规则 ])
create rule 规则名
       as @ 变量名 条件                -- 条件可以是 where 子句中任何有效的表达式
eg:
create rule Age_rule
       as @old_scope between 17 and 28
create rule sex_rule
       as @xb_scope in ( ' ' , ' ' )
3. 绑定规则
sp_bindrule 规则名 , ' . 字段名 '
eg:
sp_bindrule enter_date_rule, ' 学生表 . 入学年份 '
4. 解除绑定
sp_unbindrule ' . 字段名 '
5. 删除规则
drop rule 规则名
6. 注意事项 :
       1) 规则只能处理常量 ,SQL Server 函数 , 不能用来查找表 , 不能比较表中的列 .
       2) 表中的每列只能与一种规则绑定 , 若多次绑定 , 则后者覆盖前者 .
       3) 若要删除规定 , 先要解除规则的绑定关系 .
       4) 在系统中大量拷贝数据时 , 规则不起作用 .
       5) 在使用规则时 , 要确保规则中的值与其绑定列的数据类型相一致 .
 
. 默认
1. 默认 : 是一种数据库对象 , 它与默认值约束的功能一样 .
2. 创建默认 :( 右健单击默认 --[ 新建默认 ])
create default 默认名 as 常量
eg:
create default age_limited as 18
3. 绑定默认和解除绑定默认 ( 同规则 )
eg:
sp_bindefault age_limited, ' 学生表 . 年龄 '
sp_unblindefault ' 学生表 . 年龄 '
4. 删除默认
drop default 默认名称

本文出自 “wnight88” 博客,转载请与作者联系!

你可能感兴趣的:(sql,数据库,职场,sqlserver,休闲)