Clave principal frente a clave única
Una columna o un conjunto de columnas que se puede 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 forma única una fila en una tabla en el contexto de las bases de datos relacionales. Una clave única se compone de una sola columna o un conjunto de columnas. Una clave principal también es una combinación de columnas en una tabla que identifican de forma única una fila. Pero se considera que es un caso especial de clave única.
¿Qué es la clave única?
Como se mencionó anteriormente, la clave única es una sola columna o un conjunto de columnas que pueden identificar de manera única una fila en una tabla. Por lo tanto, una clave única está restringida de tal manera que no hay dos valores iguales. Una propiedad importante es que las claves únicas no imponen la restricción NOT NULL. Dado que NULL representa la f alta de un valor, si dos filas tienen NULL en una columna, no significa que los valores sean iguales. La columna definida como clave única permite solo un único valor NULL en esa columna. Entonces eso se puede usar para identificar esa fila en 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 dos estudiantes no 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. Según el 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 forma única una fila en una tabla de una base de datos relacional. Una tabla puede tener como máximo una clave principal. La clave principal impone la restricción implícita NOT NULL. Por lo tanto, una columna que se define como la clave principal no puede tener valores NULL. La clave principal puede ser un atributo normal en la tabla que se garantiza que es único, como el número de seguro social, o podría ser un valor único generado por el sistema de administración de la base de datos, como un identificador único global (GUID) en Microsoft SQL Server. Las claves primarias se definen a través de la restricción PRIMARY KEY en ANSI SQL Standard. La clave principal también se puede definir al crear la tabla. SQL permite que la clave principal se componga de una o más columnas y cada columna que se incluye en la clave principal se define implícitamente como NOT NULL. Pero algunos sistemas de administración de bases de datos requieren que las columnas de clave primaria sean explícitamente NO NULA.
Diferencia entre clave principal y clave única
Aunque tanto la clave principal como la clave única son una o más columnas que pueden identificar de forma única una fila en una tabla, tienen algunas diferencias importantes. Lo que es más importante, una tabla solo puede tener una única clave principal, mientras que puede tener más de una clave única. La clave principal se puede considerar como un caso especial de la clave única. Otra diferencia es que las claves primarias tienen una restricción NOT NULL implícita, mientras que la clave única no tiene esa restricción. Por lo tanto, las columnas de clave única pueden o no contener valores NULOS, pero las columnas de clave principal no pueden contener valores NULOS.