Oracle基础知识第十二讲.pptVIP

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Oracle基础知识第十二讲

* 如果一个 DML 语句使 CHECK 完整性约束的检查结果为假(false),则此语句将被回滚 。 CHECK 约束的检查顺序是不确定的。Oracle 也不会检查各个 CHECK 约束是否为互斥的(mutually exclusive)。 ENABLE(启用)确保所有输入的数据都遵从约束(constraint) DISABLE(禁用)总是允许输入数据,无论数据是否遵从约束 VALIDATE(验证)确保已存在的数据遵从约束 NOVALIDATE(无验证)允许已存在的数据不遵从约束 此外: ? ENABLE VALIDATE 与 ENABLE 相同。Oracle 将检查约束,并保证所有数据均遵从约束。 ? ENABLE NOVALIDATE 表示 Oracle 将检查约束,但不保证所有数据均遵从约束。 * * ENABLE VALIDATE 与 ENABLE 相同。Oracle 将检查约束,并保证所有数据均遵从约束。 ? ENABLE NOVALIDATE 表示 Oracle 将检查约束,但不保证所有数据均遵从约束。这确保了所有新插入或被修改的数据遵从约束,但允许已存在的数据不遵从约束。 在 ALTER TABLE 语句中,使用 ENABLE NOVALIDATE 子句将恢复约束检查,但不会验证表中已存在的数据。 ? DISABLE NOVALIDATE 与 DISABLE 相同。Oracle 不会检查约束,也不保证所有数据均遵从约束。 ? DISABLE VALIDATE 将禁用约束,移除约束使用的索引,并禁止修改约束键的数据。 用户在使用 ALTER TABLE 语句的 EXCHANGE PARTITION 子句将非分区表(nonpartitioned table)数据加载到分区表(partitioned table)时,如果存在 UNIQUE 约束,用户可以使用 DISABLE VALIDATE 来提高数据加载的效率。 在上述状态间进行转换时存在以下规则: ? ENABLE 即隐含着 VALIDATE,除非设定了 NOVALIDATE。 ? DISABLE 即隐含着 NOVALIDATE,除非设定了 VALIDATE。 ? VALIDATE 与 NOVALIDATE 默认不隐含 ENABLE 与 DISABLE。 当一个唯一键约束(unique key)或主键约束(primary key)从 DISABLE 转换为 ENABLE 状态时,如果没有索引存在,Oracle 将自动地创建一个唯一索引(unique index)。类似地,当一个唯一键约束或主键约束从 ENABLE 转换为 DISABLE 状态时,如果约束是通过唯一索引实现的,那么此索引将被移除。 如果 Oracle 在事务提交(commit)时才对约束执行检查,则称此约束是延迟的(deferred)。如果数据违反了延迟约束,提交操作将导致事务被回滚(undo)。 如果约束是即时的(immediate)(非延迟的),则此约束将在语句执行结束后进行检查。如果数据违反了延迟约束,语句将被立即回滚。 如果在约束中定义了操作(action)(例如,串联删除(delete cascade)),这些操作将被视为导致此操作的语句的一部分,无论约束是延迟的或即时的。 * a. 执行此语句后,需要对countries表执行任何插入或更新操作,以生成唯一的country_name值。但是,有可能在发出此语句后,表中已存在非唯一的country_name值。novalidate关键字指示应忽略这些值,仅新插入或修改的行会受到约束条件的影响。 b. 使用此语句可向employees表添加主键。约束条件的名称为pk,主键为employee_id列 c. 次语句用于在创建表时定义约束条件,而不是以后使用alter table语句进行定义。ri约束条件强制使fk列中的值必须存在于t1表的主键列中。ck1约束条件强制使pk和c1列大于零 * * * 二零一零年六月 目标 学习此章,需要掌握以下知识: 了解数据完整性的概念和作用 了解完整性约束的类型 了解完整性约束的工作机制 知道如何管理和维护数据的完整性 知道如何查看完整性约束的相关信息 概述 数据完整性是指数据库内的数据必须遵从的一套预定义规则。 此规则是由数据库管理员或应用程序开发者确定的。 Oracle 使用完整性约束防止用户向数据库的基表中插入无效数据。 完整性约束的作用是确保数据库内存储的信息遵从一定的业务规则。 完整性规则的类型 空规则:定义在某一列上的规则,其作用是允许或禁止将要被插入或更新的数据行此列的值为空值(null),即没有值 唯一列值:其作用是确保将要被插入或更新的数据行此列(或列集)的值是唯

文档评论(0)

shaoye348 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档