PK 主键 Primary Key :http://baike.baidu.com/view/68467.htm FK 外键 Foreign key :http://baike.baidu.com/view/703558.htm UK 唯一 Unique Key :http://baike.baidu.com/view/1550298.htm CK 检查 Check Key :http://msdn.microsoft.com/zh-cn/library/wkya25y6(VS.80).aspx
Oracle中唯一约束和唯一索引的区别
在使用TOAD来操作Oracle数据库时,会注意到创建约束时有Primary Key、Check、Unique和Foreign Key四种类型的约束,这与SQL Server中的约束没有什么区别,这里的Check约束除了用于一般的Check约束外,在Oracle中也用于非空约束的实现。也就是说如果一个字段不允许为空,则系统将会创建一个系统的Check约束,该约束定了某字段不能为空。
除了约束,还有另外一个概念是索引,在TOAD中创建索引的界面如下:
我们可以注意到在唯一性组中有三个选项:不唯一、唯一和主键。那么创建索引时的唯一、主键与创建约束时候的唯一约束和主键约束有什么区别呢?
这里的可能容易产生误解,其实创建主键的结果是一样的,不管是在创建约束时创建还是创建索引时创建,都会创建一个主键约束和对应的一个唯一索引。
创建唯一约束与创建唯一索引有所不同:
- 创建唯一约束会在Oracle中创建一个Constraint,同时也会创建一个该约束对应的唯一索引。
- 创建唯一索引只会创建一个唯一索引,不会创建Constraint。
也就是说其实唯一约束是通过创建唯一索引来实现的。对于前端开发人员来说这两者有什么区别吗?好像没有。都是不能插入重复的值。在删除时这两者也有一定的区别,删除唯一约束时可以只删除约束而不删除对应的索引,所以对于的列还是必须唯一的,而删除了唯一索引的话就可以插入不唯一的值。
初学Oracle个人浅薄之见,若有错,还望大家见谅。
转自:http://www.cnblogs.com/studyzy/archive/2010/08/23/1806806.html
相关推荐
ORACLE的索引和约束详解.pdf
创建学员信息表--创建唯一索引--修改学员信息表添加主键和检查约束
Oracle 约束错误约束错误Oracle 约束错误约束错误
oracle的索引和约束详解,可以针对索引和约束有更详尽的了解
Oracle数据库索引优化方法探析.pdf
高效ORACLE之索引(完整).pdf
自己看视频做的笔记,以后再更新,虽然内容很少,但是一看就懂。我也是菜鸟,所以笔记都是菜鸟笔记
1.索引的创建与使用 2.创建索引的原则 3.索引的分类 4.创建索引的多种方法 5.管理索引 6.索引优化 7.查看、修改索引属性 8.修改索引名 9.删除索引
为什么有时ORACLE数据库不用索引来查找数据.doc
Oracle索引的监控.pdfOracle索引的监控.pdfOracle索引的监控.pdfOracle索引的监控.pdf
Oracle唯一约束
Oracle优化全攻略一【Oracle 索引概念】.docx
[Oracle]在亿级记录表中创建索引 [Oracle]如何在亿级记录表中创建索引 [Oracle]如何在亿级记录表中创建索引
Oracle PPT 文档\数据库索引和视图.ppt 。
Oracle索引与表优化.md
Oracle数据库中的索引管理技术.pdf
oracle-索引[定义].pdf
关于ORACLE数据库索引[文].pdf
Oracle解决索引碎片功能.txt
oracle不走索引可能原因