• Saltar a la navegación principal
  • Saltar al contenido principal

DBA dixit

Recursos en línea para el administrador y el desarrollador de bases de datos

  • Lo básico
  • SQL
  • Administración
  • Herramientas
  • Buenas prácticas
  • Performance & Tuning
Usted está aquí: Inicio / Lo básico / Llaves candidatas o Claves candidatas

Llaves candidatas o Claves candidatas

16/11/2020 by DBA

Cuando se modela una tabla en una base de datos es importante asegurarse que todos sus registros cumplan con la propiedad de unicidad, ya que es signo de calidad de la tabla y de que cumple con ciertas reglas del buen diseño de bases de datos.

Para poder determinar la unicidad de registros es necesario detectar las llaves candidatas o claves candidatas, que no son más que campos -solos- o combinaciones de campo que pueden darle unicidad a los registros.

Las claves candidatas son ese atributo o atributos que podrían servir como llaves primarias. Una llave candidata debe cumplir dos condiciones primordialmente:

  • Unicidad: no pueden existir dos registros con el mismo valor en los atributos que forman la llave candidata.
  • Irreductibilidad o Minimalidad: no existe ningún otro subconjunto de la llave que cumpla la regla de unicidad. En el caso de una llave candidata a la cual todavía se le puedan quitar campos y siga dándole unicidad al registro se deberá de hacer; es decir, si existe un conjunto de 4 campos que le dan unicidad al registro pero que se se le quita uno de esos campos (quedando en 3) aún sigue proporcionando la unicidad, entonces se debe optar por la llave de 3, y no la de 4 campos.

Vemos algunos ejemplos de determinación de llaves candidatas en una tabla.

Ejemplo de alumno en Control o gestión escolar de un colegio de nivel básico

Pensemos en una tabla que contendrá los datos generales de todos los alumnos inscritos en una escuela de nivel básico. Si bien no es el mejor diseño, pongamos los siguientes campos en nuestro ejemplo:

  1. Nombre
  2. Primer apellido
  3. Segundo apellido
  4. Domicilio completo (desde ciudad hasta casa)
  5. Fecha de nacimiento
  6. Nivel que cursa actualmente
  7. Número de boleta
  8. Sexo
  9. Nombre completo del padre o tutor
  10. Tipo de sangre
  11. Nombre completo del profesor titular

En este caso, y siguiendo las reglas que se vieron cuando se revisó el tema de la unicidad de registros podemos encontrar varias llaves candidatas:

  • Número de boleta
  • Nombre + Primer apellido + Segundo apellido

No existe otro campo o combinación de campos que le den unicidad al registro y que además sean irreductibles. Ambas son llaves candidatas y ambas deberán ser consideradas al hacer el análisis de las formas normales. La tabla de alumnos tiene, por lo tanto, 2 llaves candidatas.

Ejemplo de empleado en una base de datos de Personal.

Suponiendo que la tabla de empleados contenga los campos

  1. RFC
  2. CURP
  3. Nombre
  4. Apellido paterno
  5. Apellido materno
  6. Fecha de ingreso
  7. Fecha de nacimiento
  8. Puesto ocupado
  9. Sueldo mensual
  10. Área de adscripción
  11. Número de empleado

Las llaves candidatas serían

  • RFC
  • CURP
  • Nombre + Apellido paterno + Apellido materno
  • Número de empleado

Ninguna otra combinación da unicidad y es irreductible (se podría considerar cualquier clave candidata que contenga CURP más otros campos, pero siempre se puede reducir a CURP unicamente, por ejemplo). Por tanto esta tabla tiene 4 llaves candidatas.

¿Qué hacer una vez detectadas las llaves candidatas?

Una vez que se han detectadas las claves candidatas es necesario implementar o configurar la tabla en la base de datos para que sea útil lo encontrado. Esto se verá cuando se revisen los comandos DDL para creación y mantenimiento de tablas.

Nota: Es importante comentar que los modelos de las tablas hasta ahora ocupados tienen fallas en su diseño, que serán afinados cuando se revisen las formas normales, pero han sido ocupados de esa manera para fines didácticos del tema de llaves o claves candidatas.

Publicado en: Buenas prácticas, Lo básico

  • Lo básico
  • SQL
  • Administración
  • Herramientas
  • Buenas prácticas
  • Performance & Tuning

Copyright © 2023 · Wellness Pro on Genesis Framework · WordPress · Acceder