¿Valor NULL a valor en blanco? Se acabó la asignación por defecto

Traducido automáticamente de Deepl

Cuando crea un nuevo campo en su base de datos, 4D le permite elegir si mapea el valor NULL a valores vacíos o no. A partir de 4D v19 R4, en los nuevos proyectos, 4D ya no asignará por defecto el valor NULL a un valor vacío.

Recapitulación rápida de la historia: las versiones más antiguas de 4D (antes de la introducción de 4D v11) no soportaban NULL. Ni en la base de datos ni en el lenguaje.

A partir de 4D v11, las bases de datos soportaban NULL, así como el lenguaje SQL de 4D, pero no el lenguaje 4D. Precisamente por esta razón, por defecto, la opción «mapear valor NULL a valores en blanco» estaba preseleccionada para los campos recién creados. Esto facilitaba la codificación con el lenguaje de 4D.

Volviendo a la actualidad, y con ORDA, la historia es diferente. ORDA es totalmente consciente de NULL y el uso del concepto de NULL abre un montón de posibilidades en su código.

NULLse utiliza para marcar datos ausentes. Aunque la asignación de NULL con un valor vacío puede parecer lógica, en realidad no es lo mismo. Por ejemplo, si un usuario ingresa un 0 o nunca ingresó nada, ¡podría ser una gran diferencia para usted! NULL le dice que nunca se introdujo ningún valor.

ORDA está diseñado para trabajar con valores NULL. Por ejemplo la función .count() devuelve el número de entidades en la selección de entidades con un valor no nulo. Con ORDA es una práctica mucho mejor mantener el soporte de NULL, y así evitar mapearlo a un valor vacío.

Por ejemplo, si necesita contar cuántos de sus clientes han introducido un número de teléfono móvil en su descripción, si el campo «móvil» de su tabla soporta el valor Null, simplemente escriba:

$count:=ds.Users.all().count("mobile")

Siempre que necesite asignar un valor NULL a un valor en blanco, puede utilizar la opción Asignar valores NULL a valores en blanco en las propiedades del campo:

Como ORDA se ha convertido en la forma estándar de trabajar con 4D, ha llegado el momento de cambiar el valor por defecto de esta opción. Al iniciar un proyecto con 4D v19 R4, esta opción ya no está establecida por defecto para los campos recién creados – pero por supuesto, aún puede activarla si es necesario.

Fabrice Mainguené
- Product Owner -Fabrice Mainguené se unió al equipo de 4D Program en noviembre de 2016. Como Product Owner, está a cargo de escribir las historias de usuario y luego traducirlas a especificaciones funcionales. Su papel es también asegurarse de que la implementación de la característica entregada cumple con las necesidades del cliente. Después de obtener una licenciatura en Ciencias de la Computación en el CNAM, Fabrice se unió a una pequeña empresa de publicación de software como desarrollador Windev. A continuación, trabajó para diferentes empresas del sector industrial y comercial como desarrollador de Windev y de la web, así como asesor técnico de nuevas funcionalidades.