zoukankan      html  css  js  c++  java
  • Primary Key & Index

    主键,Primarykey。索引,Index。主键一般跟唯一键,相应。Primary Key跟Unique 相应。本质上没有什么意义。仅仅是一种约束。
    可是在建立Primary key 跟Unique key时候都会建立相应的Index索引,才是有存在实质意义的。


     在某种程度上,主键=Unique+not null。主键相应主键索引,类似唯一键相应唯一索引。而主键跟唯一索引存在本质的不同。主键是一种约束,而唯一索引是一种索引。

    另外较重要的差别。主键可以被其它表的当做外键关联起来。

    而索引则不行。


      主键索引跟唯一索引。

    主键索引其值唯一标识表中的每一行 。唯一索引。其索引的值不能存在同样值。主键索引是唯一索引的特定类型。该索引要求主键中的每一个值都唯一。

     
      相比之下。联合主键就跟联合唯一索引相应。类比于主键跟索引的差别。联合主键,由多column组成一个义主键将自己主动创建主键索引,
     主键,可以更加的避免数据的反复性。从而更加保障可以相应数据的唯一性,成为数据的唯一识别的标示。联合唯一索引,相应于唯一索引。


      建立索引的目的就是为了加快查找数据的速度。

    可是会占用物理空间。同一时候减慢数据库的增删改的效率。
    适合建立索引的情况:
    1 常常须要搜索的列上,能够加快搜索的速度。2在常常常使用在连接的列上,这些列主要是一些外键,能够加快连接的速度 
    Duplicate entry是一种Key的冲突。这个Key能够使主键,也能够是唯一键。由于主键跟唯一键都不能反复,一旦反复就会报这个冲突错误。 仅仅有这两种情况下,有主键或者唯一键-即联合主键或联合唯一索引,一旦数据反复,就会提示Duplicate entry这个错误。




        唯一索引
    唯一索引不同意两行具有同样的索引值。
    假设现有数据中存在反复的键值,则大多数数据库都不同意将新创建的唯一索引与表一起保存。

    当新数据将使表中的键值反复时。数据库也拒绝接受此数据。

    比如,假设在 employee 表中的职员姓氏(lname) 列上创建了唯一索引,则全部职员不能同姓。


    主键索引
    主键索引是唯一索引的特殊类型。


    数据库表通常有一列或列组合。其值用来唯一标识表中的每一行。该列称为表的主键。


    在数据库关系图中为表定义一个主键将自己主动创建主键索引,主键索引是唯一索引的特殊类型。

    主键索引要求主键中的每一个值是唯一的。当在查询中使用主键索引时。它还同意高速訪问数据。


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

  • 相关阅读:
    一步步学习SPD2010--第十三章节--管理SP Server环境的Web内容(2)--理解SP Server2010的Web内容管理
    一步步学习SPD2010--第十三章节--管理SP Server环境的Web内容(1)--创建一个发布网站
    一步步学习SPD2010--第十三章节--管理SP Server环境的Web内容
    一步步学习SPD2010--第十二章节--理解可用性和可接入性(8)--关键点
    亚马逊推自家云备份产品,第三方云备份厂商压力山大 中国存储网
    几何概率模型是什么
    宋浩《概率论与数理统计》笔记---1..1.1-1.1.3、概率论基本概念
    机器学习疑难---1、什么是多元线性回归
    最大似然估计线性回归实例
    Hopfield神经网络 简介
  • 原文地址:https://www.cnblogs.com/wgwyanfs/p/7065789.html
Copyright © 2011-2022 走看看