567 messaggi dal 18 marzo 2002
Ho due tabelle in relazione tra di loro; la tabella child contiene un campo id_tabella1 che è la chiave esterna di collegamento.
Nel mio caso può capitare di avere dei records in tabella 2 con id_tabella1 non valorizzato; in sql server si può settare id_tabella1 in modo che accetti anche valori null ed impostare comunque la relazione tra le tabelle.
Domanda: da un punto di vista del design del database, può essere corretto un approccio di questo tipo ? Altrimenti l'alternativa può essere quella di eliminare il campo id_tabella1 e ricorrere ad una terza tabella che faccia da ponte tra le due, però in questo modo mi trovo a dover gestire una tabella in più.

Grazie
21 messaggi dal 20 ottobre 2003
Penso che devi trovare un'altra strada per gestire la cosa. SQLserver non ti permette di poter contenere un valore null in un campo che è una FK. Quando eseguirai la query di inserimento nella tabella2 e il campo FK risulterà vuoto, verrà generato un errore.
Questa cosa la puoi fare solo se non metti in relazione le due tabelle.
Penso che la strada migliore, se hai proprio esigenza di mettere in relazione le tabelle, è quella della terza tabella.

Modificato da muby76 il 20 luglio 2004 13.01 -

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.