Clave principal vs clave única
Una columna o un conjunto de columnas, que se pueden usar para identificar o acceder a una fila o un conjunto de filas en una base de datos se denomina clave. Una clave única es una clave que puede identificar de manera única una fila en una tabla en el contexto de bases de datos relacionales. Una clave única está compuesta por una sola columna o un conjunto de columnas. Una clave principal también es una combinación de columnas en una tabla que identifica de manera única una fila. Pero se considera un caso especial de la clave única.
¿Qué es la clave única??
Como se mencionó anteriormente, la clave única es una sola columna o conjunto de columnas que pueden identificar de manera única una fila en una tabla. Entonces, una clave única está limitada de tal manera que no hay dos valores iguales. Una propiedad importante es que las claves únicas no hacen cumplir la restricción no nula. Dado que NULL representa la falta de un valor, si dos filas tienen nulas en una columna, entonces no significa que los valores sean iguales. La columna definida como una clave única permite solo un valor nulo en esa columna. Entonces eso se puede usar para identificar esa fila particular de manera única. Por ejemplo, en una tabla que contiene información del estudiante, la identificación del estudiante se puede definir como una clave única. Dado que no dos estudiantes pueden tener la misma identificación, identifica de manera única a un solo estudiante. Entonces, la columna de identificación del estudiante satisface todas las propiedades de una clave única. Dependiendo del diseño de una base de datos, una tabla puede tener más de una clave única.
¿Qué es la clave principal??
La clave primaria también es una columna o una combinación de columnas que define de manera única una fila en una tabla de una base de datos relacional. Una tabla puede tener como máximo una clave principal. La clave primaria aplica la restricción implícita no nula. Entonces, una columna que se define como la clave principal no puede tener valores nulos en ella. La clave primaria puede ser un atributo normal en la tabla que se garantiza que es única, como el número de seguro social o podría ser un valor único generado por el sistema de gestión de bases de datos, como un identificador (GUID) único globalmente en Microsoft SQL Server. Las claves primarias se definen a través de la restricción de clave principal en el estándar ANSI SQL. La clave principal también se puede definir al crear la tabla. SQL permite que la clave principal esté compuesta por una o más columnas y cada columna que se incluye en la clave primaria se define implícitamente para no ser nula. Pero algunos sistemas de gestión de bases de datos requieren hacer que las columnas clave principales no estén explícitamente.
Diferencia entre la clave primaria y la clave única
Aunque tanto la clave principal como la clave única son una o más columnas que pueden identificar de manera única una fila en una tabla, tienen algunas diferencias importantes. Lo más importante, una tabla puede tener solo una clave primaria, mientras que puede tener más de una clave única. La clave principal puede considerarse como un caso especial de la clave única. Otra diferencia es que las claves primarias tienen una restricción implícita, no nula, mientras que la clave única no tiene esa restricción. Por lo tanto, las columnas clave únicas pueden o no contener valores nulos, pero las columnas de clave primaria no pueden contener valores nulos.