`
dxiao2
  • 浏览: 26506 次
  • 性别: Icon_minigender_1
  • 来自: 太原
社区版块
存档分类
最新评论

主键和索引区别

阅读更多
主键和索引是两个概念  
  但当你建主键的时候,数据库会自动帮你建上索引  
  取消主键的时候,索引也会自动删除

在数据操作上,主健等效于唯一索引。  
  主健不能有重复值,索引可以有重复值。  
  另外,主健不能为空值。

从数据库的应用来说,   每个表只可以有最多一个主键,   而表中其他的字段皆可以  
  用这个键为代表,   例如学生的注册纪录中,   每个人只有一个学号,   学号便是可以  
  用作该表的主键.      
   
  但是各个学生会是从不同的地方来的.     好似从不同的省份.     於是你可以设定  
  省份为其中一个的索引.     方便日後寻找用.  

索引表                                   对应数据表  
  pk 纪录号  
        980101 1 980101       ... …  
        980102 2 980102 ... …  
        980201 3 980201 ... …  
  建立索引后,数据库自动建立索引表,在索引表中只保存了主键和记录号(表中各记录的指针),因此它是独立于数据库的一个表,可以随时创建和删除而不影响主表的结构。  

主键就是主索引,一个表中只能有一个,要求对应字段不能有重复值,它不是唯一索引。  
  索引有很多种,普通索引、唯一索引可以允许字段值重复,候选索引、主索引则不允许字段值重复。
分享到:
评论
2 楼 huangxin5257 2010-01-28  
huangxin5257 写道
“从数据库的应用来说,   每个表只可以有最多一个主键”

这句话对吗?


可能我理解有问题, 有一个主键是对, 一个主键可以对应多个字段。呵呵
1 楼 huangxin5257 2010-01-28  
“从数据库的应用来说,   每个表只可以有最多一个主键”

这句话对吗?

相关推荐

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

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

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

    一、 创建主键(主键=主键索引=聚集索引) 主键是什么? 答:拿主键可以唯一确定一条数据,它和物理存储排序一致,不能为空,一个表只能有一个。 原本没有创建的主键的表在磁盘上存储为: Id=0;username=username0;sex...

    行业-67 基于主键的索引是如何设计的,以及如何根据主键索引查询?l.rar

    在数据库系统中,主键(Primary Key)是一种特殊的数据结构,用于唯一标识表中的每一行记录。基于主键的索引是数据库优化...在实际开发中,我们需要根据业务需求和数据特性,慎重选择合适的主键和构建主键索引策略。

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

    1. 添加主键或唯一索引:在源表和目标表中添加主键或唯一索引,以便 GoldenGate 正确地识别和处理数据的变化。 2. 使用 supplemental logging:使用 supplemental logging 功能, GoldenGate 可以记录所有列的变化,...

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

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

    67 基于主键的索引是如何设计的,以及如何根据主键索引查询?l.pdf

    主键索引是一种特殊类型的索引,它能够确保表中每条记录都有一个唯一标识,并且主键索引可以快速定位数据行。 主键索引的设计,通常采用一种称为索引目录的数据结构,其目的是为数据库中的数据页建立一种快速查找的...

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

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

    MySQL索引之主键索引

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

    数据库,索引,主键,约束,sql

    在数据库中,索引、主键和约束是至关重要的概念,而SQL(Structured Query Language)则是与数据库交互的语言。 首先,索引是提高数据库查询速度的关键工具。它们类似于书籍的目录,使得数据库能够快速定位到特定的...

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

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

    oracle表主键和外键的区别

    3. 索引:系统通常会为基于主键的字段自动创建索引,以加快查询速度。 4. 指针角色:主键用于与其他表的数据关联,作为不同表间记录的链接。 例如,如果有一个学生表,学号可以被定义为主键,因为它能唯一地标识每...

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

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

    oracle删除表空间出现”无法删除用于强制唯一主键的索引“解决方法[参照].pdf

    Oracle 删除表空间出现“无法删除...删除表空间时出现“无法删除用于强制唯一主键的索引”的错误是由于索引和约束依赖于表空间中的对象所致。为了解决这个问题,需要分步骤地删除相关的索引和约束,最后删除表空间。

    主键与聚集索引

    主键和聚集索引是数据库管理系统中两个至关重要的概念,它们在确保数据的完整性和高效检索方面发挥着关键作用。 主键(Primary Key)是一种特殊的约束类型,它用于唯一标识数据库表中的每一条记录。主键列的值必须...

    ARTools.Oracle抽取指定库的主键、外键、索引

    另附以下功能 * 生成目录树 * 生成迁移脚本 * 查找所有System.out,.err * 批量替换多关键字 详情见 http://blog.csdn.net/amosryan/article/details/6684465

    主键和外键.doc

    #### 二、主键、外键和索引的区别 - **主键**:唯一标识一条记录,不允许有重复,不允许为空。 - **外键**:表的外键是另一表的主键,外键可以有重复,可以是空值。 - **索引**:索引字段没有重复值,但可以有一个...

    SQLSERVER聚集索引和主键(Primary Key)的误区认识

    在SQL Server中,主键(Primary Key)和聚集索引(Clustered Index)是两个不同的概念,虽然它们之间存在一定的关联。理解这两者的区别对于优化数据库性能和设计至关重要。 首先,主键是一种约束,用于确保数据的...

    70 针对主键之外的字段建立的二级索引,又是如何运作的?l.pdf

    一个表中可以有多个索引,但主键索引是特别的,因为它是唯一的且不允许为空。除了主键索引之外,我们还可以创建二级索引,也就是所谓的辅助索引,来加速基于非主键字段的查询。 在InnoDB存储引擎中,默认创建了基于...

Global site tag (gtag.js) - Google Analytics