Valore NULL a valore vuoto? Niente più mappatura predefinita

Tradotto automaticamente da Deepl

Quando si crea un nuovo campo nel database, 4D consente di scegliere se mappare o meno il valore NULL a valori vuoti. A partire da 4D v19 R4, nei nuovi progetti, 4D non mapperà più per default il valore NULL a un valore vuoto.

Breve riepilogo della storia: le versioni precedenti di 4D (prima dell’introduzione di 4D v11) non supportavano il valore NULL. Né nel database né nel linguaggio.

A partire dalla versione 4D v11, i database supportavano il NULL, così come il linguaggio SQL di 4D, ma non il linguaggio 4D. Per questo motivo, per impostazione predefinita, l’opzione “mappa valore NULL a valori vuoti” era preselezionata per i campi appena creati. In questo modo la codifica con il linguaggio di 4D era molto più semplice.

Tornando ai giorni nostri, con ORDA, la storia è diversa. ORDA conosce perfettamente il concetto di NULL e il suo utilizzo apre molte possibilità nel codice.

NULL viene utilizzato per contrassegnare i dati assenti. Anche se la corrispondenza tra NULL e un valore vuoto può sembrare logica, in realtà non è la stessa cosa. Ad esempio, se un utente inserisce uno 0 o non ha mai inserito nulla, la differenza potrebbe essere notevole! NULL indica che non è stato inserito alcun valore.

ORDA è stato progettato per lavorare con i valori NULL. Ad esempio, la funzione .count() restituisce il numero di entità nella selezione di entità con un valore non nullo. Con ORDA è molto meglio mantenere il supporto di NULL, evitando così di mapparlo su un valore vuoto.

Ad esempio, se si deve contare quanti clienti hanno inserito un numero di cellulare nella loro descrizione, se il campo “mobile” della tabella supporta il valore Null, basta scrivere:

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

Ogni volta che è necessario mappare un valore NULL a un valore vuoto, è possibile utilizzare l’opzione Mappa valori NULL a valori vuoti nelle proprietà del campo:

Poiché ORDA è diventato il modo standard di lavorare con 4D, è giunto il momento di modificare il valore predefinito di questa opzione. All’avvio di un progetto con 4D v19 R4, questa opzione non è più impostata di default per i campi appena creati, ma naturalmente è ancora possibile attivarla se necessario!

Fabrice Mainguené
- Product Owner -Fabrice Mainguené si è unito al team di 4D Program nel novembre 2016. In qualità di Product Owner, è incaricato di scrivere le storie degli utenti e di tradurle in specifiche funzionali. Il suo ruolo è anche quello di assicurarsi che l'implementazione della funzionalità fornita soddisfi le esigenze del cliente.Dopo aver conseguito una laurea in Informatica presso il CNAM, Fabrice è entrato a far parte di una piccola società di pubblicazione di software come sviluppatore Windev. In seguito ha lavorato per diverse aziende del settore industriale e commerciale come sviluppatore Windev e web e come consulente tecnico su nuove funzionalità.