Oracle数据库唯一约束和唯一索引的区别详解

数据库 Oracle
本文我们主要介绍了Oracle数据库中唯一约束和唯一索引的区别,希望能够对您有所帮助!

Oracle数据库***约束***索引的区别是本文我们主要介绍的内容,在使用TOAD来操作Oracle数据库时,会注意到创建约束时有Primary Key、Check、Unique和Foreign Key四种类型的约束,这与SQL Server中的约束没有什么区别,这里的Check约束除了用于一般的Check约束外,在Oracle中也用于非空约束的实现。也就是说如果一个字段不允许为空,则系统将会创建一个系统的Check约束,该约束定了某字段不能为空。

Oracle数据库***约束和***索引的区别详解

除了约束,还有另外一个概念是索引,在TOAD中创建索引的界面如下:

Oracle数据库***约束和***索引的区别详解

我们可以注意到在***性组中有三个选项:不***、***和主键。那么创建索引时的***、主键与创建约束时候的***约束和主键约束有什么区别呢?

这里的可能容易产生误解,其实创建主键的结果是一样的,不管是在创建约束时创建还是创建索引时创建,都会创建一个主键约束和对应的一个***索引。

创建***约束与创建***索引有所不同:

创建***约束会在Oracle中创建一个Constraint,同时也会创建一个该约束对应的***索引。

创建***索引只会创建一个***索引,不会创建Constraint。

也就是说其实***约束是通过创建***索引来实现的。对于前端开发人员来说这两者有什么区别吗?好像没有。都是不能插入重复的值。在删除时这两者也有一定的区别,删除***约束时可以只删除约束而不删除对应的索引,所以对于的列还是必须***的,而删除了***索引的话就可以插入不***的值。

关于Oracle数据库***约束和***索引的区别就介绍到这里了,希望本次的介绍能够对您有所收获!

【编辑推荐】

  1. Oracle 10g正则表达式REGEXP_LIKE简介
  2. Oracle 10g监听listener不能启动的解决方案总结
  3. Oracle 10g Shrink Table和Shrink Space使用详解
  4. Oracle 10g利用utlsampl.sql创建scott用户及样本数据
  5. Oracle 10g透明网关访问SQL Server 2000之配置监听
责任编辑:赵鹏 来源: 博客园
相关推荐

2009-03-23 10:11:59

Oracle数据库唯一约束

2010-10-19 16:26:46

SqlServer唯一

2010-11-12 14:39:36

Sql Server唯

2010-11-12 14:45:19

Sql Server唯

2010-10-19 16:34:10

SqlServer唯一

2010-09-24 17:08:03

SQL Server唯

2010-11-12 14:29:46

Sql Server创

2010-11-22 15:00:01

Mysql分区表

2018-09-14 09:12:00

数据库MySQL索引约束

2018-09-16 23:14:18

MySQL索引约束主键

2011-05-26 10:30:12

Oracle数据库约束

2011-05-20 11:33:06

ORACLE索引约束

2011-07-20 12:34:49

SQLite数据库约束

2011-03-29 10:47:49

ORACLE数据库

2012-09-26 22:18:19

IBM大数据Hadoop

2022-01-27 11:02:04

索引数据存储

2009-04-22 14:19:32

Oracle中文索引基础

2011-03-16 08:54:45

Oracle数据库索引

2022-08-04 08:22:49

MySQL索引
点赞
收藏

51CTO技术栈公众号