oracle系统一共提供了以下5种与约束:
1、非空(not null)约束:所定义的列不能为空。
2、唯一(unique)约束:在表中每一行中所定义的这个列或这些列的值不能为空。
3、主键(primary key)约束:指定一列或几列的组合为该表的主键,主键唯一标识表中的一行(当然oracle数据库中的表中隐含一个rowid的列,它也唯一标识表中一行),并且主键不能为空值。
4、外键(foreign key)约束:指明一列或几列的组合为外键以维护从表与主表之间的引用完整。
5、条件(check)约束:表中每一行都要满足该约束的条件。
约束是加在表上的,因为表中存有数据。既可以在创建表(create table)时定义约束,也可以在已经存在的表(alter table)上定义约束。
约束可以定义在列一级也可以定义在表一级,查看约束要在oracle的数据字典里浏览,
在建立约束时,可以给出约束名称也可以不给出,oracle系统将为约束自动生成一个名称,格式为SYS_Cn,其中n为大于零的自然数。
当一张表中的约束过多时会影响到oracle数据库的效率(这结论容易推出)。
约束存在4种状态,并且任何一个约束都处于4种中的一种状态!
1、disable novalidate 禁止而无效:表示表中的已有数据没有作约束检查,并且新加入的数据也不会作约束检查。
2、disable validate 禁止而有效:表示表中已有数据作了约束检查,但新加入数据不会检查。
3、enable novalidate 激活而无效:表示表中数据没有约束检查,但新加入的数据会约束检查。
4、enable validate 激活而有效:表示表中数据作了约束检查并且新加入数据也会约束检查。
oracle完整性约束的各种状态之间的变化遵循以下原则:
1、如果在激活约束时没有说明novalidate,就意味着enable validate。
2、如果在禁止约束时没有说明validate,就意味着disable novalidate。
3、如果唯一约束或主键约束从禁止状态变为激活状态时没有索引,oracle系统会自动地为之建立一个唯一索引。相反地会删除这个唯一索引。
4、当任何一个约束从无效变为有效时,oracle系统会检查所有数据。相反则不会。
5、将一个约束从激活无效状态变为激活有效状态时,oracle系统并不阻塞任何读、写操作及其它DDL语句。
分享到:
相关推荐
Oracle 数据完整性约束机制 Oracle 数据库的完整性约束机制是防止无效的数据进入数据库的基表的重要手段。如果任何 DML 执行结果破坏完整性约束,该语句被回滚并返回一上个错误。Oracle 实现的完整性约束完全遵守 ...
Oracle数据完整性实验的控制方法 Oracle 数据库是基于客户/服务器结构的大型关系数据库管理系统,数据完整性是保证其数据正确性、准确性和合法性的重要措施。本文按照数据完整性控制机制,阐述了Oracle系统实现数据...
在确认数据完整无误后,你可以在新环境中开始正常使用Oracle数据库。 总的来说,直接拷贝数据文件的迁移方式适用于特定条件下的Oracle数据迁移,它简化了传统备份恢复过程,但仍然需要谨慎操作,以避免数据丢失或不...
国产化改造,如何将Oracle数据完整迁移到DM数据库。 本文将详细介绍将Oracle数据完整迁移到DM数据库的过程,包括分析待移植系统、数据迁移、PL/SQL移植、移植结果校验、应用系统移植、测试和优化等几个方面的工作。...
Oracle是业界广泛使用的...通过分析数据块的头部信息,可以检查数据的完整性,监控事务日志的使用情况,以及对损坏数据块进行修复。因此,对数据块结构的深入了解对于确保数据库的稳定运行和数据的安全具有重要意义。
Oracle数据迁移工具确保了在迁移过程中数据的完整性和一致性。 2. **.NET Framework**:这是一个由Microsoft开发的全面的开发平台,用于构建各类应用程序,包括桌面应用、Web应用以及云服务。使用.NET来开发数据...
内容概要:本文详细介绍了Oracle数据库中数据完整性的重要性和常见的数据约束类型,如非空约束、主键约束、外键约束、唯一约束和检查约束。同时,还介绍了Oracle中的常用系统函数,包括字符串函数、数字函数、日期...
为了确保数据完整性,可能需要在迁移前对源数据库进行快照或锁定。 2. **数据转换**:由于Oracle和MySQL在数据类型、语法等方面存在差异,工具需要将Oracle的数据格式转换为MySQL兼容的格式。例如,Oracle的DATE...
该系统设计的主要目标是实现定期、自动地在后台检查入库数据的准确性和完整性,检查结果存储在数据库中供技术人员查阅和处理。系统设计包括以下几个关键组成部分: 1. **数据源上传**:原始数据通过网络上传到中央...
数据完整性分为三类:实体完整性、参照完整性和用户定义完整性。实体完整性要求表中的主键字段必须唯一且非空,确保每个记录的唯一标识。参照完整性确保引用关系表中的外键与主键之间存在有效的关联,防止引用不存在...
- 检查数据完整性。 #### 结论 通过使用Oracle数据泵技术,即使是在复杂的环境中也能顺利地完成数据迁移任务。本文档提供的步骤不仅详细而且易于理解,即便是初学者也能轻松掌握。在实际操作过程中,根据具体的...
数据备份是数据库管理的重要组成部分,检查备份策略的完整性和有效性,包括定期备份的执行、备份文件的存储位置、恢复测试的结果等,确保在发生故障时能够快速恢复数据。 6. **问题分类和性质**: A类问题是最...
### Oracle数据仓库解决方案知识点概述 #### 一、数据仓库概览 **1.1 定义与作用** 数据仓库(Data Warehouse, DW)被定义为一个面向主题的、集成的、随时间变化的、但信息本身相对稳定的数据集合,主要用于支持...
Oracle 数据泵是Oracle数据库系统中一个强大的数据迁移工具,它提供了高效、灵活的数据导入和导出功能。在Oracle环境中,数据泵(Data Pump)...在实际工作中,应根据具体需求调整脚本内容,确保数据的安全性和完整性。
10. **验证数据完整性**: - 登录到恢复后的数据库,检查数据的完整性和一致性。 - 运行必要的查询来验证关键数据是否正确恢复。 #### 四、注意事项 - 在整个恢复过程中,需要特别小心地处理每一步骤,确保不会...
- 可能包括数据校验、索引检查、表空间完整性检查等。 - **应用验证**: - 测试数据库上的应用程序是否能够正常运行。 - 包括但不限于功能测试、性能测试等。 #### 总结 本文档详细介绍了Oracle数据库数据迁移的...
5. **完整性检查**:导入后,需要进行数据完整性检查,确保所有对象和数据都已正确恢复。 6. **日志应用**:如果可能,还需应用归档日志或redo日志,以确保恢复到故障发生后的最新状态。 值得注意的是,虽然AUL ...
Oracle数据迁移方法主要涉及将数据从其他数据库系统,如SQLServer,迁移到Oracle数据库中。在这个过程中,有多种工具和技术可以使用,但针对SQLServer2008到Oracle10g的迁移,有两个主要的步骤和工具:SQLServer自带...
Data Guard通过日志文件边界验证和断点日志文件检查,确保了日志传输的完整性。此外,Data Guard的网络传输负载远低于磁盘镜像,因为只传输必要的重做日志,而不像磁盘镜像需要传输所有变化的数据文件和日志。 在...
【存储快照与Oracle数据一致性】\n\nOracle数据库作为一款广泛应用的关系型数据库管理系统,对数据的一致性有着严格的要求。存储快照是现代存储系统中的一个重要特性,它能够提供某一时间点的数据副本,用于备份、...