logo

Diferencia entre clave primaria y clave única

Las claves en MySQL son la columna o conjunto de columnas que se utilizan para construir una relación entre una o más de dos tablas. También se utilizan para acceder a registros de la tabla. Ambas claves proporcionan una unicidad garantizada para una columna o un conjunto de columnas en una tabla o relación. La principal diferencia entre ellas es que la clave principal identifica cada registro de la tabla y la clave única evita entradas duplicadas en una columna, excepto un valor NULL. . En este artículo, vamos a comparar las diferencias esenciales entre las claves primarias y únicas en función de varios parámetros. Antes de hacer una comparación, comentaremos brevemente estas claves.

pitón // operador
Clave principal versus clave única

¿Qué es la clave principal?

La clave principal es una único o no nulo clave que identifica de forma única cada registro en esa tabla o relación. La columna de clave principal no puede almacenar valores duplicados, lo que significa que los valores de la columna de clave principal son siempre únicos. También se le llama un súper clave mínima ; por lo tanto, no podemos especificar más de una clave principal en ninguna relación. Una columna de clave externa de otra tabla puede hacer referencia a una columna de clave principal de una tabla.

Por ejemplo , tenemos una tabla llamada estudiantes con atributos como Stud_ID, Roll_No, Nombre, Móvil y Correo electrónico.

Clave principal versus clave única

Aquí sólo el Rollo_No La columna nunca puede contener un valor idéntico y NULL. Sabemos que cada estudiante tiene un número de lista único. Por lo tanto dos estudiantes nunca podrán tener el mismo número de lista. Esta característica ayuda a identificar cada registro en la base de datos de forma única. Por lo tanto, podemos convertir el atributo Roll_No en una clave principal.

Características de la clave primaria

Las siguientes son las características clave principales esenciales:

  • La columna de clave principal no puede contener valores duplicados.
  • La clave principal implementa la integridad de la entidad de la tabla.
  • Una tabla no puede tener más de una columna de clave principal.
  • Podemos crear la clave principal a partir de uno o más campos de la tabla.
  • La columna de clave principal debe tener restricciones NOT NULL.

¿Qué es una clave única?

El llave unica es una sola columna o combinación de columnas en una tabla para identificar de forma única los registros de la base de datos. Una clave única previene de almacenar valores duplicados en la columna. Una tabla puede contener varias columnas de clave única, a diferencia de una columna de clave principal. Esta clave es similar a la clave principal, excepto que se puede almacenar un valor NULL en la columna de clave única. La clave única también se llama restricciones únicas y puede ser referenciado por la clave externa de otra tabla.

actor zeenat aman

Por ejemplo , consideremos la misma tabla llamada estudiantes con atributos como Stud_ID, Roll_No, Nombre, Móvil y Correo electrónico.

Clave principal versus clave única

Aquí Stud_ID se puede asignar como una restricción única porque cada estudiante debe tener un número de identificación único. Si un estudiante cambia de universidad, entonces no tendrá ninguna identificación de estudiante. En ese caso, la entrada puede contener una NULO valor porque una restricción de clave única permite almacenar NULL, pero debería ser solo uno.

Características de la clave única

Las siguientes son las características clave únicas esenciales:

  • Podemos construir la clave única a partir de uno o más campos de la tabla.
  • Una tabla puede definir varias columnas de claves únicas.
  • De forma predeterminada, una clave única se encuentra en índices únicos no agrupados.
  • La columna de restricción única puede almacenar un valor NULL, pero solo se permite un valor NULL por columna.
  • La clave externa puede hacer referencia a la restricción única para preservar la unicidad de una tabla.

Diferencias clave entre clave primaria y única

Los siguientes puntos explican las diferencias clave entre las claves primaria y candidata:

  • Una clave principal puede constituir uno o más campos de una tabla para identificar registros en una tabla de forma única. Por otro lado, una clave única evita que dos filas tengan entradas duplicadas en una columna.
  • Una tabla no puede tener más de una clave principal en una base de datos relacional, mientras que puede haber varias claves únicas por tabla.
  • Una columna de clave principal no puede contener valores NULL, mientras que una clave única puede tener valores NULL, pero solo se permite un NULL en una tabla.
  • Una clave principal debe ser única, pero una clave única no puede ser necesariamente la clave principal.
  • La clave principal de forma predeterminada es un índice agrupado donde los datos se organizan físicamente en el índice secuencial. Por el contrario, la clave única es un índice único no agrupado.
  • La clave principal implementa la integridad de la entidad, mientras que la clave única impone datos únicos.

Cuadro comparativo de clave primaria y clave única

El siguiente cuadro comparativo explica sus principales diferencias de forma rápida:

Base de comparación Clave primaria Llave unica
Básico La clave principal se utiliza como identificador único para cada registro de la tabla. La clave única también es un identificador único para registros cuando la clave principal no está presente en la tabla.
NULO No podemos almacenar valores NULL en la columna de clave principal. Podemos almacenar el valor NULL en la columna de clave única, pero solo se permite un NULL.
Objetivo Hace cumplir la integridad de la entidad. Hace cumplir datos únicos.
Índice La clave principal, de forma predeterminada, crea un índice agrupado. La clave única, de forma predeterminada, crea un índice no agrupado.
Número de clave Cada tabla admite solo una clave principal. Una tabla puede tener más de una clave única.
Modificación de valor No podemos cambiar ni eliminar los valores de la clave principal. Podemos modificar los valores de la columna de clave única.
Usos Se utiliza para identificar cada registro de la tabla. Evita almacenar entradas duplicadas en una columna, excepto un valor NULL.
Sintaxis Podemos crear una columna de clave principal en la tabla usando la siguiente sintaxis:
CREATE TABLE Employee ( Id INT PRIMARY KEY, name VARCHAR(150), address VARCHAR(250) )
Podemos crear una columna de clave única en la tabla usando la siguiente sintaxis:
CREATE TABLE Person ( Id INT UNIQUE, name VARCHAR(150), address VARCHAR(250) )

Conclusión

En este artículo, hemos realizado una comparación entre las restricciones de clave primaria y de clave única. Aquí hemos concluido que una clave única es útil cuando queremos que las columnas no contengan valores duplicados. Y la clave principal es útil cuando no queremos mantener el valor NULL en la tabla. También puede ser ideal cuando tenemos una clave foránea en otra tabla para crear una relación entre tablas.

¿Puede una clase extender varias clases?