FundamentalsI-13 维护数据的完整性.ppt

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
FundamentalsI-13 维护数据的完整性

12 目标 数据完整性 约束的类型 约束的状态 约束检查 定义即时约束和延迟约束 外部关键字的考虑 在创建表时定义约束 定义约束的指导原则 允许约束 允许约束 使用EXCEPTIONS 表 获取约束信息 小结 Copyright ? Oracle Corporation, 2001. All rights reserved. 13-* 1 Copyright ? Oracle Corporation, 2001. All rights reserved. 13 维护数据的完整性 在完成本节课的学习后,你应该能够: 实施数据完整性约束 维护数据完整性约束 从数据字典中获取约束信息 应用程序 代码 完整性 约束 数据库 触发器 Table 数据 约束 NOT NULL UNIQUE PRIMARY KEY FOREIGN KEY CHECK 描述 表示字段不能包含空值 表示某个字段或某几个字段的联合,不能是唯一的。 表示某个字段或者几个字段的联合,是表的主关键字。 表示某个字段或者某些字段的联合是引用完整性约束中的外部关键字。 指定一个条件,表中每行的数据都应该遵守 Enabled novalidate Enabled validate Existing data New data Disabled novalidate Disabled validate = = DML 语句 检查非延迟约束 COMMIT 检查延迟约束 使用SET CONSTRAINTS命令将约束设置成 DEFERRED或者IMMEDIATE ALTER SESSION命令也有SET CONSTRAINTS为 DEFERRED或IMMEDIATE的子句 预期的行为 删除父表 截断父表 删除包含父表的表空间 在父表中执行DML 操作时,避免锁定子表 对子表执行DML 解决方法 Cascade 约束 禁止或者删除外部关键字 使用Use CASCADE CONSTRAINTS 子句 在外部关键字上创建索引 保证包含父表索引的表空间联机 CREATE TABLE hr.employee( id NUMBER(7) CONSTRAINT employee_id_pk PRIMARY KEY DEFERRABLE USING INDEX STORAGE(INITIAL 100K NEXT 100K) TABLESPACE indx, last_name VARCHAR2(25) CONSTRAINT employee_last_name_nn NOT NULL, dept_id NUMBER(7)) TABLESPACE users; 主键和唯一键约束: 把索引存放在分离的表空间中 如果经常执行大量装入,使用非唯一索引 引用外键: 在初始装载后定义或者允许外键 延迟约束检查 Enable NOVALIDATE ALTER TABLE hr.departments ENABLE NOVALIDATE CONSTRAINT dept_pk; 不会对表加锁 主键和唯一键必须使用 Enable VALIDATE ALTER TABLE hr.employees ENABLE VALIDATE CONSTRAINT emp_dept_fk; 锁定表 可以使用唯一或非唯一 索引 表数据应该有效 运行utlexcpt.sql脚本创建EXCEPTIONS表 执行ALTER TABLE时使用EXCEPTIONS 子句 对EXCEPTIONS 使用子查询,定位无效数据所在 的行 改正错误 重新执行ALTER TABLE允许约束 数据字典视图: DBA_CONSTRAINTS DBA_CONS_COLUMNS

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档