¿Alguien puede decirme cuál es la diferencia entre una clave principal y clave de índice. Y cuando el uso que?

InformationsquelleAutor pavan | 2011-03-21

4 Comentarios

  1. 41

    Una clave principal es un tipo especial de índice en el que:

    • sólo puede haber uno;
    • no se puede aceptar valores null; y
    • debe ser único.

    Usted tiende a usar la clave principal como la más natural de las identificador único para una fila (tales como el número de seguro social, IDENTIFICACIÓN del empleado y así sucesivamente, aunque hay una escuela de pensamiento que usted siempre debe usar un sustituto artificial de la clave para esto).

    Índices, por otro lado, puede ser utilizado para una rápida recuperación de la base de otras columnas. Por ejemplo, un empleado de la base de datos puede tener su número de empleado, como los de clave principal, pero también puede tener un índice de su apellido o su departamento.

    Ambos de estos índices (apellido y departamento) sería no permitir valores Nulos (probablemente) y permitir duplicados (casi seguro), y que sería útil para acelerar las consultas buscando cualquier persona con (por ejemplo) el apellido ‘Corleone’ o trabajar en los ‘HitMan’ departamento.

    • Se debe mencionar que una clave primaria siempre es indexado, lo que significa que una clave primaria es también siempre una clave de índice.
    • Yo creo que está cubierto, sólo se indica que la clave principal es una especie de índice. Indica que un índice sea indexado parece un poco superfluo para mí, pero si usted puede venir para arriba con un viable el cambio (yo no pero eso sólo puede ser una limitación de la mía), me voy a la bienvenida a la entrada.
    • Una llave no es un tipo de índice. Una clave (mínimo súper tecla) es un conjunto de atributos, los valores de los que son únicos para cada tupla. Un índice es una optimización del rendimiento, característica que permite el acceso a los datos más rápido.
    • OK, tal vez «Una clave primaria siempre es indexado, pero es especial, en comparación con un índice clave en que:»?
    • No hay ninguna razón fundamental por la que una clave principal siempre DEBE ser indexado, aunque normalmente es una buena idea. Índices y claves son fundamentalmente diferentes y no relacionadas cosas – no confundirlos.
    • no-único …?
    • se podría escribir una muestra de dos consultas sobre él?

  2. 17

    Una clave (mínimo súper tecla) es un conjunto de atributos, los valores de los que son únicos para cada tupla (cada fila de la tabla en algún momento en el tiempo).

    Un índice es una optimización del rendimiento, característica que permite el acceso a los datos más rápido.

    Claves con frecuencia son buenos candidatos para la indización y algunos Dbms de crear automáticamente los índices para las llaves, pero eso no tiene que ser así.

    La frase «índice de la clave de» mezclas de estas dos palabras diferentes y puede ser mejor evitar si usted quiere evitar cualquier confusión. El índice de «clave» se utiliza a veces para referirse al «conjunto de atributos en un índice». Sin embargo, el conjunto de atributos en cuestión, no son necesariamente una clave, porque puede no ser único.

    • En otras palabras, ‘clave’ y ‘clave principal» son términos equivalentes?
    • Cierto que una llave «primaria» no es diferente de una clave que no es la principal.
  3. 3

    De Oracle de Base de datos exige una clave ÚNICA o CLAVE PRINCIPAL restricción de integridad en una tabla mediante la creación de un índice único en la clave única o clave principal. Este índice se crea automáticamente por la base de datos cuando la restricción es habilitado.

    Puede crear índices explícitamente (fuera de restricciones de integridad) el uso de la instrucción SQL CREATE INDEX .

    Los índices pueden ser exclusivas o no exclusivas. Los índices únicos garantizar que no hay dos filas de una tabla de valores duplicados en la columna (o columnas). Que no es único de los índices de no imponer esta restricción en los valores de la columna.

    Utilizar el CREATE UNIQUE INDEX instrucción para crear un índice único.

    Especificando el Índice Asociado a una Restricción

    Si necesita más control explícito sobre los índices asociados con UNIQUE and PRIMARY KEY restricciones, la base de datos permite:

    1. Specify an existing index that the database is to use 
       to enforce the constraint
    2. Specify a CREATE INDEX statement that the database is to use to create 
       the index and enforce the constraint
    

    Estas opciones se especifican mediante la USING INDEX cláusula.

    Ejemplo:

     CREATE TABLE a (
     a1 INT PRIMARY KEY USING INDEX (create index ai on a (a1)));
    

    http://docs.oracle.com/cd/B28359_01/server.111/b28310/indexes003.htm

  4. 0

    Otras respuestas son la definición de la Clave Primaria, pero no el Índice Primario.

    Un Índice Principal no es un índice de la Clave Principal.

    Un Índice Principal es la tabla de la estructura de datos, pero sólo si su estructura de datos es ordenó por la Clave Primaria, por lo tanto, mejorando la eficacia de las búsquedas sin que requieren una independiente de la estructura de datos para buscar los registros por parte de la Clave Primaria.

    Todas las bases de datos (que yo sepa) tienen una Clave Principal.

    No todas las bases de datos tienen un Índice Principal. La mayoría de los que no crear un índice secundario en la Clave Principal de forma predeterminada.

Dejar respuesta

Please enter your comment!
Please enter your name here