jueves, 26 de enero de 2023

Claves únicas y valores null

Siguiendo con la historia del post anterior, me encontré con esta situación:

Tenemos una tabla que contiene plantillas para mensajes a ser enviados a los clientes, llamémosle PLANTILLAS, con una clave primaria subrogada en el campo PLANTILLA_ID.

A modo de facilitar la identificación desde una aplicación externa necesitamos ponerles nombres únicos a estas plantillas, pero no necesariamente a todas. A raíz de esto agregamos a la tabla PLANTILLAS el campo NOMBRE_PLANTILLA.

Para asegurar la unicidad de los nombres pensé en agregar una clave única con el nuevo campo NOMBRE_PLANTILLA, pero el problema era: ¿Qué pasaría con los registros de las plantillas que todavía no iban a tener nombre? ¿Al crear la clave única iba a obligar a que todos los registros tengan nombre (lo cual no queríamos)?

Encontré la respuesta en AskTOM (Chris Saxon te quiero 😃) que me aclaró las dudas:

Un valor null nunca es igual a otro null, por lo tanto los registros con valor null en el campo de la clave única siempre satisfacen la unicidad.

En resumen, nos va a obligar a tener valores únicos en los registros con valores distintos a null, pero vamos a poder tener tantos registros con valores null como queramos, wohooo!!

No hay comentarios.:

Publicar un comentario

Claves únicas y valores null

Siguiendo con la historia del post anterior, me encontré con esta situación: Tenemos una tabla que contiene plantillas para mensajes a ser e...