唯一索引 && 主键索引
2016-04-16 11:11
309 查看
唯一索引
唯一索引不允许两行具有相同的索引值。
如果现有数据中存在重复的键值,则大多数数据库都不允许将新创建的唯一索引与表一起保存。
当新数据将使表中的键值重复时,数据库也拒绝接受此数据。例如,如果在 employee 表中的职员姓氏(lname) 列上创建了唯一索引,则所有职员不能同姓。
主键索引
主键索引是唯一索引的特殊类型。
数据库表通常有一列或列组合,其值用来唯一标识表中的每一行。该列称为表的主键。
在数据库关系图中为表定义一个主键将自动创建主键索引。主键索引要求主键中的每个值是唯一的。当在查询中使用主键索引时,它还允许快速访问数据。
它们的一些比较:
(1)对于主健/unique constraint , oracle/sql server/mysql等都会自动建立唯一索引;
(2)主键不一定只包含一个字段,所以如果你在主键的其中一个字段建唯一索引还是必要的;???
(3)主键可作外健,唯一索引不可;
(4)主键不可为空,唯一索引可;
(5)主键也可是多个字段的组合;
(6)主键每个表只能有一个。
唯一索引不允许两行具有相同的索引值。
如果现有数据中存在重复的键值,则大多数数据库都不允许将新创建的唯一索引与表一起保存。
当新数据将使表中的键值重复时,数据库也拒绝接受此数据。例如,如果在 employee 表中的职员姓氏(lname) 列上创建了唯一索引,则所有职员不能同姓。
主键索引
主键索引是唯一索引的特殊类型。
数据库表通常有一列或列组合,其值用来唯一标识表中的每一行。该列称为表的主键。
在数据库关系图中为表定义一个主键将自动创建主键索引。主键索引要求主键中的每个值是唯一的。当在查询中使用主键索引时,它还允许快速访问数据。
它们的一些比较:
(1)对于主健/unique constraint , oracle/sql server/mysql等都会自动建立唯一索引;
(2)主键不一定只包含一个字段,所以如果你在主键的其中一个字段建唯一索引还是必要的;???
(3)主键可作外健,唯一索引不可;
(4)主键不可为空,唯一索引可;
(5)主键也可是多个字段的组合;
(6)主键每个表只能有一个。
相关文章推荐
- PHP常量和运算符
- 在Yii2.0版本中中,如何从控制器里面传递变量到布局文件layouts里的模板中
- java一个方法形参有两个,如何在调用的时候只传入一个参数
- iOS开发数据库篇—SQLite简单介绍
- 存储管理
- ios互斥锁,线程同步
- MRC(手动内存管理)
- ti processor sdk linux am335x evm /bin/setup-targetfs-nfs.sh hacking
- cell里面的回调,最后不要通过indexPath的属性来进行回调识别
- SAM/BAM ALIGNMENT FORMAT 格式说明
- 个人学习-java-.isEmpty()
- Android之解决用webView控件展示快递100查询物流出现错误的问题
- IOS开发-读取xib文件
- Code Forces 26C Dijkstra?
- USACO Training Section 3.2 & 洛谷P2730
- 正则表达式(括号)、[中括号]、{大括号}的区别小结
- LeetCode 295. Find Median from Data Stream(数据流中位数)
- 如何高效的学习。
- Code Forces 26C Dijkstra?
- NYOJ 451