Supponiamo che tu abbia una tabella Ordini con una chiave esterna per un ID cliente. Ora, supponi di voler aggiungere un ordine senza un ID cliente, (se ciò dovrebbe essere possibile è un'altra domanda) dovresti rendere la chiave esterna NULL ... È una cattiva pratica o preferiresti lavorare con una tabella di collegamento tra Ordini e clienti? Sebbene la relazione sia da 1 a n, una tabella di collegamento lo renderebbe da n a n. D'altra parte, con una tabella di collegamento, non ho più quei NULL ...
In realtà non ci saranno molti NULL nel database, perché un record con una chiave esterna a NULL è solo temporaneamente fino a quando non viene aggiunto un cliente per l'ordine.
(Nel mio caso non è un ordine e un cliente).
EDIT: Che dire di un cliente non assegnato a cui collegarsi?