Una clave natural (también conocida como clave comercial [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 comercial o dominio del discurso ). [3] En el modelo relacional de datos, una clave natural es una clave candidata y, por lo tanto, es un determinante funcional para todos los atributos en una relación.
Una clave natural tiene dos propósitos complementarios: proporciona un medio de identificación de los datos e impone una regla, específicamente una restricción de unicidad , para garantizar que los datos sigan siendo únicos dentro de un sistema de información. La restricción de unicidad asegura la unicidad de los datos dentro de un determinado contexto técnico (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 los valores clave registrados en un sistema y el dominio externo del discurso (una única versión de la verdad).
Los ejemplos de claves naturales podrían incluir:
- Número de orden de compra
- Número de vuelo
- Nombre de inicio de sesión
- Matrícula del vehículo
- Número de seguridad social
- Número de pasaporte
- Número de identificación de la universidad
La presencia de una clave garantiza la unicidad dentro de un sistema de información, pero no siempre es necesario que los valores clave sean únicos o inmutables dentro de una población más amplia de objetos o conceptos fuera de ese sistema. Por ejemplo, una clave en un atributo CITY significa que el conjunto de nombres de ciudades asignados a ese atributo debe ser único en cualquier momento, por lo que solo puede haber una ciudad llamada "Washington", por ejemplo. Eso no implica que todas las ciudades posibles a las que algún día se pueda hacer referencia dentro del sistema deban tener un nombre único. En términos lógicos, la proposición que está representada por el valor "Washington" es que hay una ciudad llamada Washington dentro del dominio del discurso en un momento determinado, no que solo haya una ciudad con ese nombre en todos los dominios imaginables o para todos. hora. [4]
Del mismo modo, la posible aparición de información duplicada errónea o no deseada no necesariamente descarta el uso de un atributo como clave natural. Por ejemplo, en los EE. UU. Puede haber casos de números de Seguro Social duplicados emitidos por error a personas u otros casos en los que una persona utiliza de manera fraudulenta o errónea el SSN de otra persona. En estas situaciones, el uso de SSN como clave natural tiene el propósito de verificar la integridad de los datos: detectar posibles duplicaciones o fraudes al rechazar cualquier valor duplicado con la implicación de que cualquier error debe identificarse y resolverse antes de ingresar al sistema.
Una clave natural se diferencia de una clave sustituta que no tiene significado fuera de la base de datos y no se basa en la observación del mundo real ni pretende ser una declaración sobre la realidad que se está modelando. Por 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, cualquiera de las cuales puede ser natural o sustituta.