La tua domanda può essere compresa in due modi:
- Devo fidarmi del database se impone la restrizione non nulla?
- Dovrei fidarmi che l'altro codice convalidato non inserisca un valore nullo (nessuna app di database o il database accetta null ma in qualche modo vogliamo applicarlo da soli)
Nel caso 1.
Fidati del database. Sia per la restrizione nulla che per l'integrità referenziale. Se si intende verificare null quando il database è progettato per non accettare null in quella colonna, si potrebbe anche concludere la convalida dell'integrità referenziale prima di inserire una riga. Lascia che il database funzioni per te.
Nel caso 2.
Se consentire il null in quella parte di dati è assolutamente fuori questione, lasciare che il programma fallisca durante i test. Questo ti dirà la parte del programma che inserisce la riga deve essere riparata. Se alcuni altri fattori fuori dal tuo controllo, come la latenza della rete che causa fallimenti nelle chiamate API esterne, potrebbero far sì che il valore recuperato sia nullo, quindi passare al controllo Null.
Dopotutto " un programmatore è qualcuno che guarda in entrambe le direzioni prima di attraversare una strada a senso unico " ... così dicono.