IMHO invita il cliente a ripensarlo prima che sia troppo tardi. Una fabbrica di veicoli potrebbe assemblare più di un modello e un modello potrebbe essere assemblato in più di un impianto. E questo non tocca nemmeno la superficie di dove le parti potrebbero essere prodotte.
Senza più contesto, l'unica opzione ragionevole a lungo termine sembra essere una relazione n-n tra i modelli e le tabelle delle piante. Lo modellerai con una specie di tabella model2plant
con una tupla ID che funge da chiave primaria, in questo caso null fondamentalmente non può essere un'opzione.
La tabella correlata n-n potrebbe anche contenere informazioni aggiuntive se pertinenti, ad es. un modello potrebbe essere prodotto in un impianto da una data di inizio a fine, e ancora una volta in seguito, o la capacità di produzione potrebbe variare nel tempo. Per quanto ne sai, potrebbe voler ricostruire le informazioni storiche a un certo punto e vorrai anticiparle nel tuo progetto. Esamina cambiando lentamente le dimensioni mentre ci sei, per ottenere informazioni su come modellare il tipo di cose che lentamente cambia nel tempo.
Se il tuo cliente insiste per avere una relazione 1-1, tieni presente che potresti anche unire le due tabelle e liberarti completamente della tua domanda correlata a nulla mentre ci sei. Ma sottolinea che questo sarà semplicistico e esploderà in faccia nel momento in cui hanno un modello o una pianta che non "si adatta".
Se si tratta di una relazione 0-1 o 1-n / 0-n, che è ciò che la tua domanda sembra implicare, quindi con tutti i mezzi consentire null per motivi pratici, anche se non lo si consente nell'interfaccia oggi: La legge di Murphy si applica qui come sempre - la domanda non è se avrai mai bisogno di inserire un modello il cui impianto di assemblaggio è sconosciuto, ma quando .