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