oracle基础知识第十二讲

oracle基础知识第十二讲

ID:36316364

大小:804.50 KB

页数:27页

时间:2019-05-09

oracle基础知识第十二讲_第1页
oracle基础知识第十二讲_第2页
oracle基础知识第十二讲_第3页
oracle基础知识第十二讲_第4页
oracle基础知识第十二讲_第5页
资源描述:

《oracle基础知识第十二讲》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第十二讲数据完整性二零一零年六月目标学习此章,需要掌握以下知识:了解数据完整性的概念和作用了解完整性约束的类型了解完整性约束的工作机制知道如何管理和维护数据的完整性知道如何查看完整性约束的相关信息概述数据完整性是指数据库内的数据必须遵从的一套预定义规则。此规则是由数据库管理员或应用程序开发者确定的。Oracle使用完整性约束防止用户向数据库的基表中插入无效数据。完整性约束的作用是确保数据库内存储的信息遵从一定的业务规则。完整性规则的类型空规则:定义在某一列上的规则,其作用是允许或禁止将要被插入或更新的数据行此列的值为空值(null),即没有值唯一列值:其作用是确保

2、将要被插入或更新的数据行此列(或列集)的值是唯一的主键值规则:其作用是确保表内的每一数据行都可以由某一个键值唯一地确定。完整性规则的类型(续)引用完整性规则:其作用是确保任意键值都能与相关表的某一键值(即引用值)相匹配。复杂完整性检查其作用是依据数据行的列值来允许或禁止插入,更新,或删除此数据行如何强制实现数据完整性使用完整性约束的好处声明即用规则集中化应用程序开发效率最大化即时向用户反馈性能优势数据加载时的灵活性对违反完整性的数据的识别使用完整性约束的影响将带来一定的性能损失一般来说,完整性约束造成的性能损失与进行约束检查所需执行的SQL语句大体相当非空约束默认

3、情况下,表的所有列都允许为空值空值的含义是未输入值。约束要求表列内只能包含非空值。UNIQUEkey完整性约束要求列或列集的值唯一,数据表任意两行某列或某个列集的值不重复。Oracle使用索引来强制实现唯一完整性约束。唯一性约束包含于PRIMARYKEY完整性约束定义内的列被称为主键。表内的每行数据可以被唯一确定表内不存在重复的数据行主键约束Oracle使用索引来强制实现PRIMARYKEY约束。例如:deptno列上定义了主键约束,Oracle的实现方式是隐式地创建索引在此列上创建唯一索引(uniqueindex)在此列上定义NOTNULLconstraint(

4、约束)隐式创建的索引名称与主键约束名称相同。主键约束(续)在关系型数据库中,不同的表可以依据其共同的列产生关联关系,数据库需要确保数据遵从列关系的规则。引用完整性规则,就是用于确保列关系的规则。引用完整性约束引用完整性约束(续)引用完整性约束的规则限制:不允许对引用值进行更新与删除置空:当引用值被更新或删除后,所有受影响的依赖值都将被赋予一个默认值。置默认值:当引用值被更新或删除后,所有受影响的依赖值都将被赋予一个默认值。串联操作:当引用值被更新后,所有受影响的依赖值也将被更新为相同的值。当引用数据行(referencedrow)被删除后,所有受影响的依赖数据行(

5、dependentrow)也将被删除。引用完整性约束的规则(续)要求数据行满足用户定义的检查条件检查条件布尔表达式子查询,序列,SYSDATE,UID,USER,USERENV等SQL函数LEVEL或ROWNUM虚列多重CHECK约束多个,不受限制不冲突check完整性约束约束条件的状态DISABLENOVALIDATE:不检查新数据和现有数据,因此这些数据可能不符合约束条件。DISABLEVALIDATE:如果约束条件处于此状态,则不允许对有约束条件的列进行任何修改。ENABLENOVALIDATE:新数据符合约束条件,但现有数据处于未知状态。ENABLEVAL

6、IDATE:新数据与现有数据均符合约束条件。这是约束条件的典型状态和默认状态。约束条件的状态(续)约束条件检查的设置可延迟的(deferrable)与不可延迟的(notdeferrable)可延迟的,指的是提交事务处理时才检查约束条件。如果在提交时检测到任何违反约束条件的情况,则会回退整个事务处理不可延迟的,又称为即时约束,是在每个DML语句结束时强制执行的。违反约束条件会导致语句的回滚定义为“非延迟”的约束条件不能更改为延迟的约束条件约束条件检查的设置(续)延迟开始(initiallydeferred)与立即开始(initiallyimmediate)延迟开始,

7、指的是在默认情况下,只在事务处理结束时强制使用的约束条件立即开始,指的是在默认情况下,约束条件必须用作即时约束,除非另外显示进行了设置使用setconstraints…语句可以对约束条件的检查进行设置约束条件的检查exceptions表表EXCEPTIONS记录着任何违反已启用约束的行的信息使用EXCEPTIONS表检测违反约束的数据:a.如果尚未创建EXCEPTIONS,则通过运行utlexcpt.sql脚本来创建例外表。SQL>@?/rdbms/admin/utlexcpt.sqlb.执行带有EXCEPTIONS选项的ALTERTABLE语句。ALTERTAB

8、LEtab

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。