Recomendado, 2023

La Elección Del Editor

Diferencia entre clave principal y clave única

Ya hemos estudiado los diferentes tipos de claves utilizadas en la base de datos y el esquema en los artículos anteriores, a saber, la diferencia entre la clave principal y la clave externa. En este artículo, estamos distinguiendo clave principal y clave única. Tanto la clave principal como la clave única se utilizan para identificar una tupla de forma única y aplica la singularidad en una columna o combinación de una columna.

La diferencia esencial entre la clave principal y la clave única es que la clave principal no acepta valores NULL, mientras que los valores NULL están permitidos dentro de las restricciones de clave única.

Gráfica comparativa

Bases para la comparaciónClave primariaLlave unica
BASICSe utiliza para servir como un identificador único para cada fila en una tabla.También determina de forma única una fila, que no se define como una clave principal.
Aceptación de valor nuloLa clave principal no aceptará valores NULL.Único aceptará un valor NULO.
Número de claves que se pueden definir en la tabla.Sólo una clave primariaMás de uno
ÍndiceCrea índice agrupadoCrea un índice no agrupado

Definición de clave primaria

Se puede llamar a una columna como clave principal de su tabla si identifica de forma única cada tupla (fila) en esa tabla. Aplica restricciones de integridad a la tabla. Sólo se permite una clave principal en una tabla. La clave principal no acepta los valores duplicados y NULL. La clave principal se elige con cuidado, ya que los cambios pueden ocurrir de manera poco frecuente, lo que significa que una clave principal en una tabla cambia muy raramente.

Entendamos la noción de clave primaria con la ayuda de una tabla. Aquí estamos creando una tabla llamada Tabla de alumnos, que tiene atributos como Roll_number, Name, Batch, Phone_number, Citizen_ID.

En el ejemplo dado, el número de rol del atributo nunca puede tener un valor NULL y idéntico, porque cada estudiante inscrito en una universidad con un número de rol exclusivo. No hay dos estudiantes que puedan tener el mismo número de rollo, y cada fila en una tabla está identificada de forma única con el número de rollo de los estudiantes. Por lo tanto, podemos hacer que el atributo Roll_number sea una clave principal en este caso particular.

Una clave principal puede ser referenciada por una clave externa. Crea un índice agrupado único en la tabla. En un índice agrupado, las filas de datos se ordenan y almacenan en una tabla o vistas sobre la base de sus valores clave. Solo puede haber un índice agrupado en una tabla, la razón detrás de esto es que las filas de datos en una tabla se pueden ordenar en un solo orden.

Definición de clave única

Similar a una clave primaria, las restricciones de clave única también identifican una tupla individual de forma única en una relación. Pero, hay ciertas diferencias entre ellos. Una tabla puede tener más de una clave única. Las restricciones de clave únicas solo pueden aceptar un valor NULL para una columna.

Entendamos esto con el ejemplo similar, donde tuvimos una tabla de Estudiante con los atributos Número de rollo, Nombre, Lote, Número de teléfono y Ciudadano_ID. El atributo de número de rollo se asigna con la clave principal.

Aquí Citizen_ID puede asignarse con restricciones únicas donde cada entrada en una columna Citizen_ID debe ser única, no duplicada porque cada ciudadano de un país debe tener su número de identificación Único. Pero, si un estudiante migra de otro país, en ese caso, él o ella no tendría el Citizen_ID y la entrada podría tener un valor NULL, ya que se permite un NULL en la restricción única.

Las restricciones únicas también son referenciadas por la clave externa. Se puede usar cuando alguien quiere imponer restricciones en una columna y en un grupo de columnas que no es una clave principal. A diferencia de la clave principal, genera el índice no agrupado . Los índices no agrupados tienen una estructura distinta de las filas de datos. Cada entrada clave-valor en ella apunta a la fila de datos que contiene el valor clave, por lo tanto, utiliza punteros.

Diferencias clave entre clave principal y clave única

  1. Cuando un atributo se declara como clave principal, no aceptará valores NULL. Por otro lado, cuando un atributo declarado como Único puede aceptar un valor NULO.
  2. Una tabla solo puede tener una clave principal, mientras que puede haber varias restricciones únicas en una tabla.
  3. Un índice agrupado se crea automáticamente cuando se define una clave primaria. En contraste, la clave Única genera el índice no agrupado.

Conclusión

La clave principal y la clave única sirven para el propósito de un identificador único para las filas de una tabla con los valores únicos en una columna o grupo de columnas. Estas restricciones de clave se diferencian significativamente cuando cada tabla puede tener como máximo una clave principal, mientras que una tabla puede tener varias claves únicas que no son primarias.

Top