un conto è la rindondanza di dati un'altro è avere campi nulli, in una tabella non ci sono grossi problemi se si inseriscono campi che poi rimangono nulli a seconda della situazione, visto che il valore nullo non appesantisce la struttura.....quindi insomma a mio parere tutte e due le soluzioni in linea di massima andrebbero bene poi dipende da come vengono implementate.