© Yurich/Shutterstock.com

Al utilizar bases de datos relacionales con sistemas como MySQL, las claves son una parte esencial de sus operaciones. En términos generales, las claves se utilizan para identificar filas en una base de datos y para expresar relaciones entre valores de datos. Hay muchos tipos de claves utilizadas en estas bases de datos, pero las más comunes y esenciales son las claves primarias y candidatas. Descubra qué significan estos términos y cómo se usan en este artículo.

Candidate Key vs. Clave principal: Comparación en paralelo

Clave candidata Clave principal Significado Se utilizan uno o más conjuntos de atributos para identificar registros en una tabla. Puede tener una o más claves candidatas específicas por tabla elegidas para identificar de forma única la tabla. Solo puede tener uno por tabla Estado NULL Puede tener valores NULL No puede tener un valor NULL Unicidad Único, pero muchas opciones para una clave candidata Único, pero solo se puede elegir una clave principal de las claves candidatas Uso Puede usarse como clave principal o como clave alternativa para otros columnas en la tablaEstablecer relaciones entre tablas y mantener la singularidad de cada registro

En esta base de datos, Customer_id es la clave principal de la tabla Customer.

©Joe Techapanupreeda/Shutterstock.com

Candidato vs. Clave principal: ¿Cuál es la diferencia?

Las principales diferencias se han resumido en la tabla anterior, pero echemos un vistazo más de cerca.

Significado

En términos simples , una clave candidata es un campo, o una combinación de campos, que podría usarse para identificar de forma única cada registro en la tabla. Como tal, puede tener varias claves candidatas potenciales en una tabla. Por ejemplo, consideremos una tabla con las columnas”ID”,”Nombre”,”Edad”,”Fecha de nacimiento”,”Peso”,”Altura”y”Dirección”. En este caso, podríamos identificar de forma única cada registro con el campo”ID”o potencialmente con los campos”Nombre”y”Fecha de nacimiento”, ya que estos probablemente serán únicos.

Por otro lado, solo puede haber una clave principal por tabla. Esto se debe a que es una clave específica elegida entre las claves candidatas para representar la tabla. Continuando con el ejemplo anterior, podemos ver que”ID”es una buena opción para una clave principal, ya que será única para cada persona en la tabla, mientras que cualquier otro campo podría contener valores duplicados.

Estado NULL

Esta es otra área donde las claves difieren. Las claves candidatas pueden contener potencialmente valores nulos, pero solo si cumplen los criterios para una clave candidata: los criterios de unicidad y minimalidad. Esto significa que, para que el campo sea una clave candidata potencial, debe poder identificar de forma única la tabla mediante atributos mínimos. Por mínimo, queremos decir que, si eliminamos un atributo de la clave, perdería su singularidad. Como tal, contiene el número mínimo de atributos para ser un identificador único. Si nos fijamos en el ejemplo anterior, podemos tomar los campos”Nombre”y”Fecha de nacimiento”como clave candidata, y también el campo”ID”. Esto se debe a que, incluso si se eliminan otros atributos, aún se pueden usar para identificar la tabla de manera única. Como tal, estos campos pueden contener valores nulos en teoría.

Las claves primarias, sin embargo, no pueden contener valores nulos. Esto se debe a que, si el campo contiene valores nulos, estos no serían valores únicos. Por lo tanto, la clave principal no tendría éxito en la identificación única de la tabla.

Singularidad

Ambos tipos de claves son únicos, pero existen algunas diferencias en su singularidad. Puede haber varias claves candidatas potenciales, siempre que cada una pueda usarse para identificar de forma única una tabla, por lo que, de esta manera, las claves candidatas no son estrictamente únicas en el sentido de que puede haber más de una.

En por el contrario, solo puede haber una clave principal identificada por tabla, ya sea una columna o una combinación. Por lo tanto, la clave principal también es única y se usará sola para cada tabla.

Uso

Ambos tipos de claves pueden usarse potencialmente para identificar de manera única una tabla, pero su uso no variar. Las claves candidatas se pueden utilizar para otros fines de la base de datos. Estos incluyen:

Indexación, para acelerar las operaciones de recuperación y búsqueda. Hacer cumplir las restricciones, como la restricción única. Esto significa que dos filas de la tabla no pueden tener el mismo valor para las columnas identificadas con esta clave. Optimización de consultas, para que las consultas complejas puedan hacerse más eficientes. Modelado de datos, como identificar atributos clave y optimizar el rendimiento de la base de datos.

Las claves primarias tienen algunos usos comunes, como la indexación, el modelado de datos y la aplicación de unicidad, pero también se pueden usar para la integridad referencial. En pocas palabras, esto significa que la clave principal se puede usar en otras tablas como algo llamado clave externa. Esta es una clave en otra tabla que hace referencia a la clave principal, asegurando que los valores en esta columna correspondan a los valores en la columna de clave principal. De esta forma, las claves principales se pueden usar para mantener la coherencia de la base de datos.

El diseño correcto, con claves primarias, es muy importante en la planificación de bases de datos.

©Wichy/Shutterstock.com

Clave candidata vs. Clave principal: conclusión

Para concluir, las claves candidatas son claves principales potenciales que se utilizan con fines de indexación, optimización de consultas, modelado de datos y aplicación de restricciones. Las claves primarias se usan de manera similar, pero también para la integridad referencial y para mantener la unicidad de una tabla. Si bien puede tener varias claves candidatas por tabla, solo puede tener una clave principal. También puede tener valores nulos en los campos de clave candidata, pero no en los campos de clave principal.

Clave candidata vs. Clave principal: ¿Cuándo debe usar cada una? Preguntas frecuentes (FAQ) 

¿Qué es una clave candidata?

Una clave candidata es una o más columnas en una tabla que pueden identificar la tabla de manera única filas Son claves primarias potenciales y puede haber una o más por tabla.

¿Para qué se utilizan las claves candidatas?

Se utilizan para identificar filas, así como para la indexación, la optimización de consultas, el modelado de datos y la aplicación de restricciones.

¿Qué es una clave principal?

Una clave principal es una o más columnas en una tabla que identifica de forma única las filas y se elige entre las claves candidatas. Solo puede tener una por tabla.

¿Para qué se usan las claves primarias?

Se usan para identificar de forma única una tabla y hacer cumplir la integridad referencial entre tablas, así como para los mismos propósitos que las claves candidatas.

¿Qué es una clave externa?

Una clave externa es una o más columnas en un tabla separada que hace referencia a la clave principal de la primera tabla. Esto ayuda a hacer cumplir la integridad referencial y establecer una relación entre las tablas. Cuando se actualizan los valores de la clave principal, estos cambios se reflejan en la clave externa.

By Maxwell Gaven

Ich habe 7 Jahre im IT-Bereich gearbeitet. Es macht Spaß, den stetigen Wandel im IT-Bereich zu beobachten. IT ist mein Job, Hobby und Leben.