主键与唯一索引
2010-07-09 01:00
134 查看
1.主键一定是唯一性索引,唯一性索引并不一定就是主键;
2.一个表中可以有多个唯一性索引,但只能有一个主键;
3.主键列不允许空值,而唯一性索引列允许空值。
唯一索引
唯一索引不允许两行具有相同的索引值。
如果现有数据中存在重复的键值,则大多数数据库都不允许将新创建的唯一索引与表一起保存。当新数据将使表中的键值重复时,数据库也拒绝接受此数据。例如,如果在 employee 表中的职员姓氏(lname) 列上创建了唯一索引,则所有职员不能同姓。
唯一索引使用create unique index命令完成,能标识数据库中一行的关键字.
在数据字典中建立了唯一索引.
主键索引
主键索引是唯一索引的特殊类型。
数据库表通常有一列或列组合,其值用来唯一标识表中的每一行。该列称为表的主键。
在数据库关系图中为表定义一个主键将自动创建主键索引,主键索引是唯一索引的特殊类型。主键索引要求主键中的每个值是唯一的。当在查询中使用主键索引时,它还允许快速访问数据。
它们的一些比较:
(1)对于主健/unique constraint , oracle/sql server/mysql等都会自动建立唯一索引;
(2)主键不一定只包含一个字段,所以如果你在主键的其中一个字段建唯一索引还是必要的;
(3)主健可作外健,唯一索引不可;
(4)主健不可为空,唯一索引可;
(5)主健也可是多个字段的组合;
(6)主键与唯一索引不同的是:
a.有not null属性;
b.每个表只能有一个。
主键使用primary key来指定,能标识数据库表中一行的关键字.
在数据字典中也建立了唯一索引名字.
2.一个表中可以有多个唯一性索引,但只能有一个主键;
3.主键列不允许空值,而唯一性索引列允许空值。
唯一索引
唯一索引不允许两行具有相同的索引值。
如果现有数据中存在重复的键值,则大多数数据库都不允许将新创建的唯一索引与表一起保存。当新数据将使表中的键值重复时,数据库也拒绝接受此数据。例如,如果在 employee 表中的职员姓氏(lname) 列上创建了唯一索引,则所有职员不能同姓。
唯一索引使用create unique index命令完成,能标识数据库中一行的关键字.
在数据字典中建立了唯一索引.
主键索引
主键索引是唯一索引的特殊类型。
数据库表通常有一列或列组合,其值用来唯一标识表中的每一行。该列称为表的主键。
在数据库关系图中为表定义一个主键将自动创建主键索引,主键索引是唯一索引的特殊类型。主键索引要求主键中的每个值是唯一的。当在查询中使用主键索引时,它还允许快速访问数据。
它们的一些比较:
(1)对于主健/unique constraint , oracle/sql server/mysql等都会自动建立唯一索引;
(2)主键不一定只包含一个字段,所以如果你在主键的其中一个字段建唯一索引还是必要的;
(3)主健可作外健,唯一索引不可;
(4)主健不可为空,唯一索引可;
(5)主健也可是多个字段的组合;
(6)主键与唯一索引不同的是:
a.有not null属性;
b.每个表只能有一个。
主键使用primary key来指定,能标识数据库表中一行的关键字.
在数据字典中也建立了唯一索引名字.
相关文章推荐
- 唯一索引与主键索引的比较
- 主键索引和唯一索引的区别
- 主键、自增主键、主键索引、唯一索引概念区别与性能区别
- MySQL的几个概念:主键,外键,索引,唯一索引
- mysql中,索引,主键,唯一索引,联合索引的区别
- ORACLE中主键约束跟唯一索引的区别
- 唯一索引与主键索引的比较
- Oracle主键约束、唯一键约束、唯一索引的区别
- 学生登录SQL语句,包括check约束,唯一索引,主键
- MySQL添加/删除主键、外键、唯一键、索引、自增
- Day54、约束(主键约束、唯一约束、检查约束、非空约束)、数据库对象(序列、索引、视图、分页)
- 主键和唯一索引的区别
- oracle 删除表空间错误 提示:ora-02429:无法删除用于强制唯一/主键的索引。
- oracle 删除表空间错误 提示:ora-02429:无法删除用于强制唯一/主键的索引。
- 主键与唯一索引
- MySQL 普通索引、唯一索引、主键索引、全文索引
- 主键与唯一索引(unique index)
- 主键和唯一索引的区别
- 主键和唯一索引的区别
- 图解SQL Server:聚集索引、唯一索引、主键