欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    Oracle基础知识第十二讲.ppt

    • 资源ID:6513464       资源大小:804.50KB        全文页数:27页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Oracle基础知识第十二讲.ppt

    第十二讲数据完整性,二零一零年六月,目标,学习此章,需要掌握以下知识:了解数据完整性的概念和作用了解完整性约束的类型了解完整性约束的工作机制知道如何管理和维护数据的完整性知道如何查看完整性约束的相关信息,概述,数据完整性是指数据库内的数据必须遵从的一套预定义规则。此规则是由数据库管理员或应用程序开发者确定的。Oracle 使用完整性约束防止用户向数据库的基表中插入无效数据。完整性约束的作用是确保数据库内存储的信息遵从一定的业务规则。,完整性规则的类型,空规则:定义在某一列上的规则,其作用是允许或禁止将要被插入或更新的数据行此列的值为空值(null),即没有值 唯一列值:其作用是确保将要被插入或更新的数据行此列(或列集)的值是唯一的主键值规则:其作用是确保表内的每一数据行都可以由某一个键值唯一地确定。,完整性规则的类型(续),引用完整性规则:其作用是确保任意键值都能与相关表的某一键值(即引用值)相匹配。复杂完整性检查其作用是依据数据行的列值来允许或禁止插入,更新,或删除此数据行,如何强制实现数据完整性,使用完整性约束的好处,声明即用规则集中化 应用程序开发效率最大化即时向用户反馈 性能优势 数据加载时的灵活性对违反完整性的数据的识别,使用完整性约束的影响,将带来一定的性能损失一般来说,完整性约束造成的性能损失与进行约束检查所需执行的 SQL 语句大体相当,非空约束,默认情况下,表的所有列都允许为空值空值的含义是未输入值。约束要求表列内只能包含非空值。,UNIQUE key完整性约束要求列或列集的值唯一,数据表任意两行某列或某个列集的值不重复。Oracle 使用索引来强制实现唯一完整性约束。,唯一性约束,包含于 PRIMARY KEY 完整性约束定义内的列被称为主键。表内的每行数据可以被唯一确定表内不存在重复的数据行,主键约束,Oracle 使用索引来强制实现 PRIMARY KEY 约束。例如:deptno 列上定义了主键约束,Oracle 的实现方式是隐式地创建索引 在此列上创建唯一索引(unique index)在此列上定义 NOT NULL constraint(约束)隐式创建的索引名称与主键约束名称相同。,主键约束(续),在关系型数据库中,不同的表可以依据其共同的列产生关联关系,数据库需要确保数据遵从列关系的规则。引用完整性规则,就是用于确保列关系的规则。,引用完整性约束,引用完整性约束(续),引用完整性约束的规则,限制:不允许对引用值进行更新与删除置空:当引用值被更新或删除后,所有受影响的依赖值都将被赋予一个默认值。置默认值:当引用值被更新或删除后,所有受影响的依赖值都将被赋予一个默认值。串联操作:当引用值被更新后,所有受影响的依赖值也将被更新为相同的值。当引用数据行(referenced row)被删除后,所有受影响的依赖数据行(dependent row)也将被删除。,引用完整性约束的规则(续),要求数据行满足用户定义的检查条件 检查条件布尔表达式子查询,序列,SYSDATE,UID,USER,USERENV 等 SQL 函数LEVEL 或 ROWNUM 虚列多重 CHECK 约束多个,不受限制不冲突,check完整性约束,约束条件的状态,DISABLE NOVALIDATE:不检查新数据和现有数据,因此这些数据可能不符合约束条件。DISABLE VALIDATE:如果约束条件处于此状态,则不允许对有约束条件的列进行任何修改。ENABLE NOVALIDATE:新数据符合约束条件,但现有数据处于未知状态。ENABLE VALIDATE:新数据与现有数据均符合约束条件。这是约束条件的典型状态和默认状态。,约束条件的状态(续),约束条件检查的设置,可延迟的(deferrable)与不可延迟的(not deferrable)可延迟的,指的是提交事务处理时才检查约束条件。如果在提交时检测到任何违反约束条件的情况,则会回退整个事务处理不可延迟的,又称为即时约束,是在每个DML语句结束时强制执行的。违反约束条件会导致语句的回滚定义为“非延迟”的约束条件不能更改为延迟的约束条件,约束条件检查的设置(续),延迟开始(initially deferred)与立即开始(initially immediate)延迟开始,指的是在默认情况下,只在事务处理结束时强制使用的约束条件立即开始,指的是在默认情况下,约束条件必须用作即时约束,除非另外显示进行了设置使用set constraints 语句可以对约束条件的检查进行设置,约束条件的检查,exceptions表,表EXCEPTIONS 记录着任何违反已启用约束的行的信息使用EXCEPTIONS表检测违反约束的数据:a.如果尚未创建EXCEPTIONS,则通过运行utlexcpt.sql 脚本来创建例外表。SQL?/rdbms/admin/utlexcpt.sql b.执行带有EXCEPTIONS 选项的ALTER TABLE 语句。ALTER TABLE table_nameENABLE VALIDATE CONSTRAINT const_nameEXCEPTIONS INTO system.exceptions;,Exceptions表(续),使用EXCEPTIONS表检测违反约束的数据:c.使用EXCEPTIONS 上的子查询定位包含无效数据的行SELECT rowid,FROM table_nameWHERE ROWID in(SELECT row_id FROM system.exceptions)FOR UPDATE;d.纠正错误。UPDATE table_name SET WHERE rowid=.e.截断EXCEPTIONS 表,并重新执行ALTER TABLE 以启用约束。TRUNCATE TABLE system.exceptions;ALTER TABLE table_name ENABLE VALIDATE CONSTRAINT const_name EXCEPTIONS INTO system.exceptions;,创建约束,可以在创建表或修改表的时候创建约束,查看约束的信息,总结,通过本章的学习,应达到:了解数据完整性的概念了解完整性约束的类型了解完整性约束的工作机制知道如何管理和维护数据的完整性知道如何查看完整性约束的相关信息,

    注意事项

    本文(Oracle基础知识第十二讲.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开