美图齐众专注资阳网站设计 资阳网站制作 资阳网站建设
资阳网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

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

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

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

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

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

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

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

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

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

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


当前标题:Oracle数据库唯一约束和唯一索引的区别详解
文章出自:http://zsjierui.cn/article/cccochg.html

其他资讯