Una clave natural (también conocida como clave de negocio [1] o clave de dominio [2] ) es un tipo de clave única en una base de datos formada por atributos que existen y se utilizan en el mundo externo fuera de la base de datos (es decir, en el dominio de negocio o dominio del discurso ). [3] En el modelo relacional de datos, una clave natural es una superclave y, por lo tanto, es un determinante funcional para todos los atributos en una relación.
Una clave natural cumple dos propósitos complementarios:
La restricción de unicidad asegura la unicidad de los datos dentro de un contexto técnico determinado (por ejemplo, un conjunto de valores en una tabla, archivo o variable de relación) al rechazar la entrada de cualquier dato que de otro modo violaría la restricción. Esto significa que el usuario puede confiar en una correspondencia garantizada entre los hechos identificados por valores clave registrados en un sistema y el dominio externo del discurso (una única versión de la verdad según Kimball ).
Una clave natural se diferencia de una clave sustituta , que no tiene ningún significado fuera de la base de datos en sí y no se basa en observaciones del mundo real ni pretende ser una declaración sobre la realidad que se está modelando. Por lo tanto, una clave natural proporciona una cierta garantía de calidad de los datos, mientras que una sustituta no. Es común que los elementos de los datos tengan varias claves, cualquier número de las cuales puede ser natural o sustituta.
Las ventajas de utilizar una clave natural para identificar de forma única los registros en una relación incluyen un menor uso de espacio en disco, la clave natural es un atributo relacionado con el negocio o el mundo real, por lo que en la mayoría de los casos, ya se está almacenando en la relación, lo que ahorra espacio en disco en comparación con la creación de una nueva columna para almacenar la clave sustituta .
Otra ventaja de utilizar claves naturales es que simplifica la aplicación de la calidad de los datos y es más fácil relacionarlas con la vida real al diseñar el sistema de base de datos. Simplifican la calidad de los datos, ya que el uso de una clave natural que sea única en el mundo real garantiza que no pueda haber varios registros con la misma clave principal . Comparar el esquema de la base de datos con un escenario del mundo real es una parte importante del diseño de un esquema de base de datos y, cuando se utiliza una clave natural en las tablas de la base de datos, le resulta más fácil al ingeniero de la base de datos diseñar el sistema de base de datos.
El uso de claves naturales como identificadores únicos en una tabla tiene una desventaja principal, que es el cambio de las reglas de negocio o el cambio de las reglas del atributo en el mundo real. La definición de la estructura del atributo de clave natural podría cambiar en el futuro.
Por ejemplo, si hay una tabla que almacena la información sobre los ciudadanos estadounidenses, el número de seguro social actuaría como la clave natural, el número de seguro social al ser la clave natural podría plantear un problema en el futuro si el gobierno de los EE. UU. cambia la estructura del número de seguro social y aumenta el número de dígitos en el SSN debido a alguna razón. En ese caso, el administrador de la base de datos tendrá que cambiar el esquema de la tabla y quizás también actualizar los registros de la tabla. En otros casos, esto puede evitar mejoras del sistema por completo debido a un esfuerzo demasiado extenso requerido para el cambio, por ejemplo, la incapacidad del software de gestión del conocimiento Confluence para representar múltiples páginas con el mismo título. [4]