第8章 数据完整性 本章内容 8.1 使用规则实施数据完整性 8.2 使用默认值实施数据完整性 8.3 使用约束实施数据完整性 数据完整性概述 数据完整性防止数据库中存在不符合语义规定的数据和防止因错误信息的输入输出造成无效操作或错误信息而提出的。 数据完整性有4种类型: 实体完整性(Entity Integrity)、 域完整性(Domain Integrity)、 参照完整性(Referential Integrity)、 用户定义的完整性(User-defined Integrity)。 在SQL Server中可以通过各种规则(Rule)、默认(Default)、约束(Constraint)和触发器(Trigger)等数据库对象来保证数据的完整性。 8.1 使用规则实施数据完整性 8.1.1 创建规则 8.1.2 查看规则 8.1.3 规则的绑定与松绑 8.1.4 删除规则 8.1.1 创建规则 规则(Rule)就是数据库中对存储在表的列或用户定义数据类型中的值的规定和限制。 规则是单独存储的独立的数据库对象。 规则和约束可以同时使用,表的列可以有一个规则及多个约束。规则与检查约束在功能上相似,但在使用上有所区别。 检查约束是在CREATE TABLE或ALTER TABLE语句中定义的,嵌入了被定义的表结构,即删除表的时候检查约束也就随之被删除。 而规则需要用CREATE RULE语句定义后才能使用,是独立于表之外的数据库对象,删除表并不能删除规则,需要用DROP RULE语句才能删除。 相比之下,使用在CREATE TABLE或ALTER TABLE语句中定义的检查约束是更标准的限制列值的方法,但检查约束不能直接作用于用户定义数据类型。 2.用CREATE RULE语句创建规则 CREATE RULE语句用于在当前数据库中创建规则,其语法格式如下: CREATE RULE rule_name AS condition_expression 例8-1 创建雇佣日期规则 hire_date_rule。 CREATE RULE hire_date_rule AS @hire_date=1980-01-01 and @hire_date=getdate() 例8-2 创建性别规则sex_rule。 CREATE RULE sex_rule AS @sex in (男,女) 例8-3 创建评分规则grade_rule。 CREATE RULE grade_rule AS @value between 1 and 100 例8-4 创建字符规则my_character_rule。 Create rule my_character_rule As @value like [a-f]%[0-9] 使用sp_helptext 系统存储过程可以查看规则的文本信息。 例8-5 查看规则hire_date_rule的文本信息 EXECUTE sp_helptext hire_date_rule 运行结果如图所示 8.1.3 规则的绑定与松绑 需要将规则与数据库表或用户定义对象联系起来,才能发生作用。联系的方法称为绑定,所谓绑定就是指定规则作用于哪个表的哪一列或哪个用户定义数据类型。 表的一列或一个用户定义数据类型只能与一个规则相绑定,而一个规则可以绑定多对象,这正是规则的魅力所在。 解除规则与对象的绑定称为松绑。 1.用系统存储过程sp_bindrule绑定规则 系统存储过程sp_bindrule 可以绑定一个规则到表的一个列或一个用户定义数据类型上。其语法格式如下: sp_bindrule [@rulename =] rule, [@objname =] object_name [ , [ @futureonly=] futureonly ] 例8-6 将例8-1创建的规则hire_date_rule绑定到employee表的hire_date列上。 EXEC sp_bindrule hire_date_rule, employee.hire_date 运行结果为: 已将规则绑定到表的列上。 例8-7 定义用户定义数据类型pat_char,将例8-4创建的规则my_character_rule绑定到pat_var上。 EXEC sp_addtype pat_char,varchar(10),NOT NULL GO EXEC sp_bindrule my_character_rule, pat_char, futureonly‘ 运行结果如下: 已将规则绑定到数据类型。 例8-8 绑定例8-2创建的规则sex_rule 到employee 表的字段sex。 EXEC sp_bindru
您可能关注的文档
- 办公室5S整理整顿标准资料.ppt
- 办公室健身法资料.ppt
- 第8章 Internet技术及应用试卷.ppt
- 第8章 Web站点的安全试卷.ppt
- 常用塑料给水管道安装及维修资料.ppt
- 第8章 WINDOWS注册表及其维护试卷.ppt
- 常用铜材钢材牌号及性能资料.ppt
- 机械设备管理制度教案.doc
- 第8章 标准件与常用件试卷.ppt
- 机械设备点巡检方案教案.doc
- 25-26学年政治(部编版)选择性必修第二册课件:第1单元 周清1 民法中的人身权及财产权.pptx
- 25-26学年政治(部编版)选择性必修第二册课件:1.4.1 权利保障 于法有据.pptx
- 2025北京丰台区高二(上)期中地理(A卷)含答案.docx
- 2025北京三帆中学初三(上)开学考英语试题含答案.docx
- 2025北京一零一中初三9月月考语文试题含答案.docx
- 2025北京海淀区初三(上)期中道法试题含答案.docx
- 2025北京丰台区高一(上)期中政治(A卷)含答案.docx
- 25-26学年政治统编版必修4课件:3.3 唯物辩证法的实质与核心.pptx
- 25-26学年政治统编版必修4课件:7.2 正确认识中华传统文化.pptx
- 湖北省部分高中2026届高三上学期二模联考 历史试卷.docx
最近下载
- 青岛版五四制一年级上册数学期末试题.pdf VIP
- 城市公园管理与维护规范.docx VIP
- 精品解析:2022-2023学年山东省青岛市城阳区青岛版四年级上册期末质量抽测数学试卷(原卷版).docx VIP
- 浙江省杭州市拱墅区2024-2025学年四年级上学期期末考试数学试题.docx VIP
- 5《和大家在一起》第二课时 (教学设计) 一年级道德与法治下册(统编版2025).pdf VIP
- 农业社会化服务体系.ppt VIP
- 5《和大家在一起》第一课时 (教学设计) 一年级道德与法治下册(统编版2025).docx VIP
- 2023年四川高级政工师题库 .pdf VIP
- 中国地理《中国的河流-长江》.ppt VIP
- 上海市闵行区2024-2025学年高一上学期期末考试生物试卷含答案.docx VIP
原创力文档

文档评论(0)