2009-11-07 14 views

Respuesta

20

clave principal y clave única son las restricciones de integridad de entidad

Clave primaria permite que cada fila de una tabla a ser identificada y asegura que no existen filas duplicadas y no se introducen valores nulos.

La restricción de clave única se utiliza para evitar la duplicación de valores de clave dentro de las filas de una tabla y permite valores nulos. (En el oráculo, un nulo no es igual a otro nulo).

  • KEY o INDICE hace referencia a un índice normal no exclusivo. Se permiten valores no distintivos para el índice, por lo que el índice puede contener filas con valores idénticos en todas las columnas del índice. Estos índices no imponen ninguna estructura en sus datos, por lo que se usan solo para acelerar las consultas.
  • UNIQUE se refiere a un índice donde todas las filas del índice deben ser únicas. Es decir, la misma fila puede no tener valores no NULL idénticos para todas las columnas en este índice como otra fila. Además de utilizarse para acelerar las consultas, los índices ÚNICOS se pueden usar para imponer la estructura en los datos, ya que el sistema de base de datos no permite que esta regla de valores distintos se rompa al insertar o actualizar datos. Su sistema de base de datos puede permitir un índice ÚNICO en columnas que permiten valores NULOS, en cuyo caso dos filas pueden ser idénticas si ambas contienen un valor NULO (NULL no se considera igual a sí mismo), aunque esto probablemente sea indeseable dependiendo de su solicitud.
  • PRIMARY actúa exactamente igual que un índice UNIQUE, excepto que siempre se denomina 'PRIMARY', y puede haber solo uno en una tabla (y siempre debe haber uno, aunque algunos sistemas de bases de datos no hacen cumplir esto). Un índice PRIMARIO está diseñado como una forma de identificar de manera única cualquier fila en la tabla, por lo que no debe usarse en ninguna columna que permita valores NULOS. Su índice PRIMARIO siempre debe estar en el menor número de columnas que sean suficientes para identificar de manera única una fila. A menudo, esta es solo una columna que contiene un número único autoincrementado, pero si hay algo más que pueda identificar de manera única una fila, como "countrycode" en una lista de países, puede usarla en su lugar.
  • Los índices FULLTEXT son diferentes a todos los anteriores, y su comportamiento difiere más entre los sistemas de bases de datos. A diferencia de los tres anteriores, que son típicamente b-tree (que permiten seleccionar, clasificar o rangos comenzando desde la columna más a la izquierda) o hash (permitiendo la selección comenzando desde la izquierda), los índices FULLTEXT solo son útiles para búsquedas de texto completo con el PARTIDA()/AGAINST() cláusula.

ver Differences between INDEX, PRIMARY, UNIQUE, FULLTEXT in MySQL?

+0

NOTA: SQL Server limitaciones y los índices únicos tratan los valores nulos como si fueran iguales, de modo que "en cuyo caso dos filas pueden ser idénticas si ambas contienen un valor NULL ". no es cierto para SQL Server. –

4

Éstos son algunos referencia para usted:

Primary & foreign key Constraint.

Clave primaria: Una clave principal es un campo o combinación de campos que se únicamente identifique un registro en una tabla, de modo que un registro individual se encuentre sin confusión.

Clave externa: una clave externa (a veces llamada clave de referencia) es una clave utilizada para vincular dos tablas. Normalmente toma el campo de clave principal de una tabla e insertalo en la otra tabla donde se convierte en una clave externa (sigue siendo una clave primaria en la tabla original).

Index, por otro lado, es un atributo que puede aplicar en algunas columnas para que la recuperación de datos en esas columnas pueda acelerarse.

2

Key/index: Una clave es un aspecto de un diseño de base de datos lógica, un índice es un aspecto de un diseño de base de datos física. Una clave corresponde a una restricción de integridad, un índice es una técnica de grabación física de valores que se puede aplicar de forma útil al aplicar esas restricciones.

Primario/extraño: una clave "primaria" es un conjunto de atributos cuyos valores deben formar una combinación que es única en toda la tabla. Puede haber más de un conjunto (> 1 clave) y la palabra "primaria" es un remanente de los primeros días cuando el diseñador se vio obligado a elegir una de esas claves múltiples como "la más importante/relevante" . La razón de esto fue principalmente en combinación con claves externas:

Al igual que una clave "primaria", una clave "extranjera" también es un conjunto de atributos. Los valores de estos atributos deben formar una combinación que sea un valor de clave principal existente en la tabla a la que se hace referencia. No sé exactamente qué tan estricta sigue siendo esta regla en SQL hoy. La terminología se ha mantenido de todos modos.

Único: palabra clave utilizada para indicar que un índice no puede aceptar entradas duplicadas. Los índices únicos son obviamente un medio excelente para hacer cumplir las claves principales. En la medida en que la palabra "único" se usa en contextos de diseño LÓGICO, es superfluo, descuidado, innecesario y confuso. Las claves (claves primarias, es decir) son únicas por definición.

17

Clave principal: identificar únicamente cada fila no puede ser nula. no puede ser un duplicado.

Clave externa: crear la relación entre dos tablas. puede ser nulo. puede ser un duplicado  

+0

¿Deberían todas las claves foráneas ser la clave principal de la otra relación? De lo contrario, cómo el atributo nulo se identificaría de manera única. – sidgupta234

3

1) A primary key es un conjunto de uno o más atributos que identifica de forma única tupla dentro de relación.

2) A foreign key es un conjunto de atributos a partir de un esquema de relación que se puede identificar de forma exclusiva tuplas Fron otro esquema de relación.

+2

Tuple es una colección de valores de datos que identifica las características de un objeto. –

3
  1. Una clave principal es una columna o un conjunto de columnas que identifican de manera única una fila en una tabla. Una clave principal debe ser corta, estable y simple. Una clave externa es un campo (o conjunto de campos) en una tabla cuyo valor es necesario para que coincida con el valor de la clave primaria para una segunda tabla. Por lo general, una clave externa está en una tabla que es diferente de la tabla cuya clave primaria debe coincidir. Una tabla puede tener múltiples claves foráneas.
  2. La clave principal no puede aceptar valores nulos. La clave externa puede aceptar múltiples.
  3. Podemos tener solo una clave principal en una tabla. Podemos tener más de una clave externa en una tabla.
  4. De forma predeterminada, la clave principal es el índice agrupado y los datos en la tabla de la base de datos se organizan físicamente en la secuencia del índice agrupado. La clave externa no crea automáticamente un índice, agrupado o no agrupado. Puede crear manualmente un índice en clave externa.
0

Clave primaria prevenir principalmente la duplicación y muestra la singularidad de columnas muestra Clave externa, principalmente la relación en dos tablas

Cuestiones relacionadas