好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

维护数据完整性.doc

3页
  • 卖家[上传人]:ji****n
  • 文档编号:45696961
  • 上传时间:2018-06-18
  • 文档格式:DOC
  • 文档大小:46.50KB
  • / 3 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 征信软件开发部数据库小组陈陵涛第 1 页2018-06-18维护数据完整性维护数据完整性1. 维护数据完整性的三种途径维护数据完整性的三种途径应用程序 数据库触发器 通常只有在完整性约束不能够完全定义复杂的业务逻辑时才使用 定义的完整性约束 优点: 提供更高的效率 更容易定义和修改 规则管理更加集中 更灵活(disable 和 enable) 在数据字典中可以查找完整定义2. 完整性约束的种类完整性约束的种类NOT NULL UNIQUE PRIMARY KEY FOREIGN KEY CHECK (用于定义表中每列或者几列必须满足的条件)3. 约束状态约束状态DISABLE NOVALIDATE 无论是老数据还是新数据都不遵守约束 DISABLE VALIDATE 如果置于这个状态所有关于约束的列都不允许修改(modify) 另外在这个约束上 的索引被 dropped,这个约束 is disabled 注释:如果这个约束 is deferrable ,索引不会被 dropped ENABLE NOVALIDATE 这种状态下,新数据如果违反了约束,不允许插入。

      但表中可能包含某些违反约 束的数据这种情况在 OLTP 系统向数据仓库加载数据比较适用 ENABLE VALIDATE 新的违反约束的数据不允许被插入,老数据也不允许违反约束 如果一个约束由别的状态改为 ENABLE VALIDATE,数据库将花费很长的时间检 查老数据,导致其他 DML 操作(如数据加载)等待所以通常情况下,先改为征信软件开发部数据库小组陈陵涛第 2 页2018-06-18ENABLE NOVALIDATE,然后再改为 ENABLE VALIDATE 通常 ENABLE 暗示了 VALIDATE,DISABLE 暗示了 NOVALIDATE,除非特别指出如果一个唯一或者主键约束由 DISABLE 改为 ENABLE,将会自动创建唯一索引 反之,索引将被 dropped 由 NOVALIDATE 改为 VALIDATE,所有的数据将被检查一遍 将一个独立的约束改为 ENABLE NOVALIDATE 改为 ENABLE VALIDATE 不会 导致其他 DDL 语句的读写锁4. 约束检查约束检查Nondeferred or immediate Deferred (当整个事务全部提交时,才进行约束检查) 定义约束 Immediate 或者 Deferred ALTER SESSION SET CONSTRAINT[S] = {IMMEDIATE|DEFERRED|DEFAULT}5. 创建表时定义约束创建表时定义约束创建表时定义约束采用下列语法: column datatype [CONSTRAINT constraint]{[NOT] NULL|UNIQUE [USING INDEX index_clause]|PRIMARY KEY [USING INDEX index_clause]|REFERENCES [schema.]table [(column)][ON DELETE CASCADE]|CHECK (condition)}constraint_state :==[NOT DEFERRABLE|DEFERRABLE [INITIALLY {IMMEDIATE|DEFERRED}]][DISABLE|ENABLE [VALIDATE|NOVALIDATE]]6. 定义约束时的考虑定义约束时的考虑主键或者唯一约束 将索引放在单独的表空间 大量加载(bulk loads)频繁发生时,采用非唯一的索引 Self-reference 外键征信软件开发部数据库小组陈陵涛第 3 页2018-06-18在初始加载后再定义或者 enable 外键 延迟约束检查7. 使用使用 EXCEPTIONS 表表1)创建意外表 2)运用 EXCEPTIONS 子句执行 ALTER TABLE 命令 SQL> ALTER TABLE hr.employeeENABLE VALIDATE CONSTRAINT employee_dept_id_fkEXCEPTIONS INTO system.exceptions; 3)从 EXCEPTION 表中查找不合格数据 4)纠正数据错误 5)Truncate EXCEPTION 表重新激活约束。

      8. 获取约束信息获取约束信息从下列视图中获取约束信息: DBA_CONTRAINTS DBA_CONS_COLUMNS DBA_CONTRAINTS 表中字段定义如下表:NameDescriptionCONSTRAINT_TYPEThe type of constraint is P if Primary Key, U if Unique, R if foreign key, or C if Check constraint. NOT NULL constraints are stored as check constraints.SEARCH_CONDITIONShows the condition specified for a check constraintR_OWNER R_CONSTRAINT_NAMEDefines the owner and name of the referenced constraint for foreign keysGENERATEDIndicates if the constraint name is system-generated (Valid values are USERNAME and GENERATED NAME.)BADIndicates that the constraint is to be rewritten to avoid situations such as the Year 2000 problemsRELYIs used in the optimizer, if this flag is setLAST_CHANGEShows the date when the constraint was last enabled or disabled。

      点击阅读更多内容
      相关文档
      初中英语新人教版八年级上册Unit 3 Same or Different重点短语和句型汉译英练习(附参考答案).doc 初中英语新人教版八年级上册Unit 7 When Tomorrow Comes重点短语和句型汉译英练习(附参考答案).doc 语文《六国论》课件2024-2025学年统编版高一语文必修下册.pptx 语文《六国论》课件 2024-2025学年统编版高一语文必修下册.pptx 语文《祝福》课件+2024-2025学年统编版高一语文必修下册.pptx 语文《说“木叶”》说课课件+2024-2025学年统编版高一语文必修下册.pptx 语文《装在套子里的人》课件+2024-2025学年统编版高一语文必修下册.pptx 语文2024—2025学年高一文言文特殊句式初探.pptx 语文《六国论》理解性默写 2024—2025学年统编版高一语文必修下册.pptx 语文《装在套子里的人》课件++2024-2025学年统编版高一语文必修下册.pptx 语文《与妻书》课件 2024-2025学年统编版高一语文必修下册.pptx 2025年(新题型)初中数学(沪科版)七年级上册数轴与绝对值专项练习综合测试卷(含答案)【可编辑】.docx 2025年(新题型)初中数学(北师版)七年级下册'期中综合复习'专项练习综合测试卷(含答案)【可编辑】.docx 2025年(新题型)初中数学(华东师大版)八年级上册'多项式运算'专项练习综合测试卷(含答案)【可编辑】.docx 2025年(新题型)初中数学(沪科版)七年级上册立体图形展开图专项练习综合测试卷(含答案)【可编辑】.docx 2025年(新题型)初中数学(沪科版)七年级上册线段与角专项练习综合测试卷(含答案)【可编辑】.docx 2025年(新题型)初中数学(北师版)七年级下册'平行线性质'专项练习综合测试卷(含答案)【可编辑】.docx 2025年(新题型)初中数学(北师版)七年级下册'三角形性质'专项练习综合测试卷(含答案)【可编辑】.docx 2025年(新题型)初中数学(华东师大版)八年级上册'勾股定理逆定理'专项练习综合测试卷(含答案)【可编辑】.docx 2025年(新题型)初中数学(沪科版)七年级上册数据的收集与整理专项练习综合测试卷(含答案)【可编辑】.docx
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.