Decidiendo entre clave primaria natural y de sustitución: 10 consejos infalibles

Según la teoría de las bases de datos relacionales, una tabla correctamente normalizada debe tener una clave primaria. Sin embargo, los desarrolladores de bases de datos no están de acuerdo en si las claves primarias naturales o artificiales son las mejores. Los datos pueden incluir una clave natural, mientras que una clave falsa es un valor sin sentido, generalmente generado por el sistema. Algunos desarrolladores utilizan ambos tipos de claves, permitiendo que la aplicación y los datos guíen su decisión, mientras que otros utilizan uno u otro de manera religiosa.

Los siguientes consejos favorecen en gran medida el uso de claves artificiales (como lo hago yo), pero recomiendo que no conviertas la elección de un tipo de clave en una religión. Sé práctico, razonable y realista, y utiliza la clave en la que puedas tener más confianza. Recuerda que debes vivir con tu elección y que otros tendrán que mantenerla en el futuro.

Índice de Contenido
  1. 1: Una clave primaria debe ser única
  2. 2: La clave primaria debe ser lo más compacta posible
  3. 3: Puede haber un candidato natural de un solo campo
  4. 4: Los valores de la clave primaria deben ser estables
  5. 5: Debes conocer el valor de la clave primaria para crear el registro
  6. 6: No se permiten registros duplicados
  7. 7: A los usuarios les gusta ver la clave primaria
  8. 8: Las claves artificiales agregan un campo innecesario
  9. 9: ¿Los sistemas cometen errores?
  10. 10: Las circunstancias pueden parecer requerir una clave natural

1: Una clave primaria debe ser única

Una clave primaria identifica de manera única cada registro dentro de una tabla y relaciona los registros con datos adicionales almacenados en otras tablas. Una clave natural puede requerir varios campos para lograr una identidad única para cada registro. Una clave artificial es única en sí misma.

2: La clave primaria debe ser lo más compacta posible

En este caso, "compacta" se refiere a la cantidad de campos necesarios para identificar de manera única cada registro. Confiar en los datos puede requerir varios campos. Los desarrolladores que apoyan firmemente la superioridad de las claves naturales insisten en que trabajar con una clave primaria de varios campos no es más difícil que trabajar con una clave primaria de un solo campo. Ciertamente puede ser igual de fácil, pero también puede hacer que un hombre mayor llore.

Una clave primaria debe ser compacta y contener la menor cantidad posible de campos. Una clave natural puede requerir muchos campos, mientras que una clave artificial solo requiere un campo.

3: Puede haber un candidato natural de un solo campo

A veces, los datos presentan un candidato de clave primaria de un solo campo. Los códigos internos, los números de parte y los elementos estandarizados por ISO son solo algunos ejemplos. Cuando esto ocurre, agregar una clave artificial puede parecer innecesario, pero debes reflexionar al tomar tu decisión final. Aunque los datos parezcan estables ahora, solo parece ser así. Los datos y las reglas cambian (ver #4).

Descubre la exposición El Arte de los Videojuegos en el Museo Smithsonian

4: Los valores de la clave primaria deben ser estables

Una clave primaria debe ser estable. No se supone que debas cambiar el valor de una clave primaria. Desafortunadamente, para esa regla, los datos no son estables. Además, los datos naturales están sujetos a reglas comerciales y otras influencias que no puedes controlar. Los desarrolladores lo saben y aceptan esta condición.

Una clave artificial es un valor sin sentido que no tiene relación con los datos en absoluto, por lo que no hay motivo para cambiarla nunca. De hecho, si tienes que cambiar el valor de una clave artificial, has hecho algo mal.

5: Debes conocer el valor de la clave primaria para crear el registro

Los valores de la clave primaria no pueden ser nulos. En otras palabras, debes conocer el valor de la clave primaria para crear un registro. ¿Deberías crear un registro antes de conocer el valor de la clave primaria? Teóricamente, no; en la práctica, a veces debes hacerlo.

El sistema crea valores de clave artificial cuando creas el nuevo registro, por lo que el valor de la clave primaria existe tan pronto como existe el registro.

6: No se permiten registros duplicados

Una tabla normalizada no puede contener registros duplicados. Mecánicamente puede hacerlo, pero para cumplir con la teoría relacional, no debe. Una clave primaria tampoco puede contener valores duplicados, y un índice único evita duplicados. Estas dos reglas se complementan y son a menudo argumentos a favor de una clave natural. Los defensores de las claves naturales argumentan que una clave artificial permite duplicados. Si deseas utilizar una clave primaria artificial, aplica un índice en los campos adecuados para evitar registros duplicados, problema solucionado.

7: A los usuarios les gusta ver la clave primaria

Existe un malentendido sobre la necesidad de los usuarios de estar familiarizados con el valor de la clave primaria. No hay ninguna razón, teórica u otra, para que los usuarios vean el valor de la clave primaria de un registro. De hecho, los usuarios ni siquiera necesitan saber que existe tal valor. Funciona detrás de escena y no significa nada para el usuario que introduce y actualiza datos, ejecuta informes, etc. No hay necesidad de asociar el valor de la clave primaria con el propio registro. Una vez que dejes de lado la idea de que los usuarios realmente necesitan el valor de la clave primaria, puedes considerar más fácilmente una clave artificial.

10 consejos para crear políticas efectivas en tu organización

8: Las claves artificiales agregan un campo innecesario

Utilizar una clave artificial requiere un campo adicional, que algunos argumentan que es un desperdicio de espacio. Después de todo, todo lo necesario para identificar de manera única el registro y relacionarlo con datos en otras tablas ya existe dentro del registro. ¿Por qué agregar una columna adicional de datos para hacer lo que los propios datos pueden hacer?

El costo adicional de un campo de valor generado automáticamente es mínimo y no requiere mantenimiento. Por sí sola, esta razón no es suficiente para recomendar una clave natural, pero es un punto válido.

9: ¿Los sistemas cometen errores?

No todos confían en los valores generados por el sistema. Los sistemas pueden cometer errores y... espera un momento. Nunca he visto que esto suceda, pero es posible. Por otro lado, un sistema que es propenso a este tipo de corrupción también podría terminar con un valor natural problemático. No debemos mezclar los problemas. La mejor manera de proteger toda tu base de datos, no solo los valores de la clave primaria, es hacer copias de seguridad regularmente. Los datos naturales no son más confiables que un valor generado por el sistema.

10: Las circunstancias pueden parecer requerir una clave natural

La única razón que he encontrado para utilizar forzosamente una clave natural involucra registros de sistemas integrados. En otras palabras, a veces las aplicaciones que comparten tablas similares crean nuevos registros de manera independiente entre sí. A menos que planifiques, es probable que las dos bases de datos generen los mismos valores. Una clave natural, en estas circunstancias, definitivamente eliminaría cualquier posibilidad de tener valores duplicados de clave primaria.

Existen soluciones simples que permitirían utilizar una clave artificial. Puedes dar a cada sistema un valor inicial diferente, pero incluso eso puede volverse complicado. Las GUID funcionan, pero a menudo afectan el rendimiento. Un campo combinado del campo generado por el sistema del registro y un código de origen, utilizado solo cuando las bases de datos están conectadas, es otra alternativa. Hay otras soluciones, aunque una clave natural podría ser la opción más razonable en esta situación.

Cómo crear un formulario de usuario en Word para solicitar elementos de dirección

En Newsmatic nos especializamos en tecnología de vanguardia, contamos con los artículos mas novedosos sobre Ultimas Noticias, allí encontraras muchos artículos similares a Decidiendo entre clave primaria natural y de sustitución: 10 consejos infalibles , tenemos lo ultimo en tecnología 2023.

Artículos Relacionados

Subir

Utilizamos cookies para mejorar su experiencia de navegación, mostrarle anuncios o contenidos personalizados y analizar nuestro tráfico. Al hacer clic en “Aceptar todo” usted da su consentimiento a nuestro uso de las cookies.