`
bestxiaok
  • 浏览: 455774 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

主键和唯一索引

阅读更多

主键和唯一索引的一些总结
 

唯一索引

唯一索引不允许两行具有相同的索引值。如果现有数据中存在重复的键值,则大多数数据库都不允许将新创建的唯一索引与表一起保存。当新数据

将使表中的键值重复时,数据库也拒绝接受此数据。例如,如果在 employee 表中的职员姓氏 (lname) 列上,创建了唯一索引,则所有职员不能同姓。

主键索引

主键索引是唯一索引的特殊类型,数据库表通常有一列或列组合,其值用来唯一标识表中的每一行。该列称为表的主键。在数据库关系图中为表定义一个主键将自动创建主键索引,主键索引是唯一索引的特殊类型。主键索引要求主键中的每个值是唯一的。当在查询中使用主键索引时,它还允许快速访问数据。

它们的一些比较:
(1)对于主健/unique constraint oracle/sql server/mysql等都会自动建立唯一索引
(2)主键不一定只包含一个字段,所以如果你在主键的其中一个字段建唯一索引还是必要的
(3)主健可作外健,唯一索引不可, 
(4)主健不可为空,唯一索引可,
(5)主健也可是多个字段的组合.
(6)主键不同的是 
a.有not null属性 
b.每个表只能有一个

分享到:
评论

相关推荐

    mysql主键和唯一索引的区别(csdn)————程序.pdf

    MySQL数据库中的主键和唯一索引是两种不同的概念,它们在数据表的组织和查询优化中扮演着重要的角色。下面将详细阐述它们的区别和特点。 首先,主键是一种约束,它不仅是一个索引,更是对数据完整性的严格规定。...

    INFA技术超群_中文KB_00009_PWX_如何实现无主键和唯一索引目标表的数据同步

    INFA技术超群_中文KB_00009_PWX_如何实现无主键和唯一索引目标表的数据同步

    goldengate同步无主键无唯一索引表的问题以及解决方案.docx

    GoldenGate 同步无主键无唯一索引表的问题及解决方案 在数据同步中,无主键无唯一索引表的同步问题是常见的困扰, GoldenGate 作为一款优秀的数据同步工具,也遇到了这个问题。因此,本文将讨论 GoldenGate 同步无...

    OracleGoldenGate针对表没有主键或唯一索引的解决方案[归类].pdf

    Oracle GoldenGate 针对表没有主键或唯一索引的解决方案 Oracle GoldenGate 是一种 数据复制和集成工具,用于...在总体上,本文档提供了一种最佳实践方法来处理没有主键或唯一索引的表,确保了数据的一致性和完整性。

    MySQL的主键与唯一索引约束

    MySQL中的主键与唯一索引约束是数据库设计中至关重要的概念,它们确保数据的唯一性和完整性。主键是一种特殊的唯一索引,它定义了一个表的唯一标识,不允许有重复值且不能为空。唯一索引则允许有空值,但索引中的每...

    主键索引与唯一索引的区别

    1、 主键是一种约束,唯一索引是一种索引,两者在本质上是不同的。 2、 主键创建后一定包含一个唯一性索引,唯一性索引并不一定就是主键。 3、 唯一性索引列允许空值,而主键列不允许为空值。 4、 主键列在创建时...

    MySQL 主键与索引的联系与区别分析

    下面是主键和索引的一些区别与联系。 1. 主键一定是唯一性索引,唯一性索引并不一定就是主键。 所谓主键就是能够唯一标识表中某一行的属性或属性组,一个表只能有一个主键,但可以有多个候选索引。因为主键可以唯一...

    MySQL索引之主键索引

    在MyISAM引擎中,唯一索引和主键索引的区别不大,除非唯一索引包含NULL值。而在InnoDB中,主键作为聚集索引,而其他唯一索引和辅助索引仅作为非聚集索引。这导致了查询性能上的差异,辅助索引查询可能需要额外的步骤...

    INFA技术超群_中文KB_00021_PWC_如何调用存储过程

    INFA技术超群_中文KB_00021_PWC_如何调用存储过程

    索引介绍

    2. 支持约束:主键和唯一索引可以确保数据的完整性。 缺点: 1. 空间占用:创建索引会占用额外的存储空间。 2. 插入更新成本:每次插入、删除或更新数据时,可能需要维护索引,这会增加操作的复杂性和时间。 3. ...

    如何在oracle中查询所有用户表的表名、主键名称、索引、外键等

    根据提供的标题、描述以及部分代码内容,我们可以了解到这篇文章主要探讨的是如何在Oracle数据库中查询所有用户表的相关信息,包括表名、主键名称、索引、外键等元数据信息。接下来,我们将对这些知识点进行详细的...

    mysql索引(一篇就够).pdf

    MySQL索引是数据库管理系统中用于加速数据检索的关键技术。...在InnoDB存储引擎中,尤其要注意主键和唯一索引的设计,以及组合索引的最左前缀原则。通过这些知识,开发者可以更好地管理数据库,提高数据处理的效率。

    mysql性能优化之索引优化

    除了主键和唯一索引,还可以创建普通索引(非唯一)和全文索引,后者用于全文搜索。 在设计索引时,还需要考虑以下因素: 1. 索引的选择性:索引的选择性越高,查询性能通常越好,因为不同值的数量越多,索引能更好...

    goldengate同步无主键无唯一索引表的问题以及解决方案-更新关于附加日志.docx

    ### Goldengate同步无主键无唯一索引表的问题及解决方案——更新关于附加日志 #### 一、环境描述 1. **Goldengate版本**: - 版本:11.2.1.0.4_0215864821OGGCORE_11.2.1.0.5_PLATFORMS_121214.0600_FBO - 平台...

    简单例子理解主键,索引,聚集索引,复合索引,非聚合索引

    答:拿主键可以唯一确定一条数据,它和物理存储排序一致,不能为空,一个表只能有一个。 原本没有创建的主键的表在磁盘上存储为: Id=0;username=username0;sex=男;address=浙江; Id=1;username=username1;sex=女;...

    mysql索引共2页.pdf.zip

    - **B-Tree索引**:最常见的索引类型,适用于等值查询,包括主键和唯一索引。 - **哈希索引**:提供快速的等值匹配,但不支持范围查询和排序。 - **全文索引**:用于全文搜索,通过分词技术找到含有特定词汇的...

    oracle创建表创建唯一索引

    以下将详细介绍如何创建学员信息表,创建唯一索引,以及如何修改表来添加主键和检查约束。 首先,我们来理解"创建学员信息表"。在Oracle中,我们可以使用`CREATE TABLE`语句来创建新的表。一个典型的学员信息表可能...

    数据库索引 设计和优化

    1. B-Tree索引:最常见的索引类型,适用于等值查询,包括主键和唯一索引。 2. Bitmap索引:适合于进行多字段组合查询和低基数(非唯一值少)的列,空间占用小,但更新操作成本高。 3. Hash索引:基于哈希表实现,...

    MySQL中主键索引与聚焦索引之概念的学习教程

    **辅助索引(Secondary Key)** 或称为非聚集索引,包括唯一索引和非唯一索引。它们不决定数据行的物理存储顺序,而是指向主键索引的引用。在InnoDB中,辅助索引的叶子节点存储的是主键值,而非完整的数据行。这可能...

    Mysql的索引详解学习笔记.zip

    1. B-Tree索引:最常见的索引类型,适用于等值查询,包括主键和唯一索引。 2. Hash索引:适用于等值查询,但不支持范围查询和排序,主要用于内存中的InnoDB存储引擎。 3. Full-text索引:用于全文搜索,适用于大文本...

Global site tag (gtag.js) - Google Analytics