Sì, ci sono un sacco di motivi per cui questo potrebbe essere il design migliore.
Potresti avere una relazione di ereditarietà / estensione, ad es. potresti avere una tabella User
e quindi una tabella Administrator
con più campi. Entrambe le tabelle possono avere una chiave primaria di ID utente (e quindi hanno una relazione 1: 1) ma non tutti gli utenti avranno un record nella tabella Administrator
. Avresti bisogno di qualcosa di simile se stai supportando un flusso di lavoro, ad es. una tabella ScheduledTask
e una tabella CompletedTask
.
Potresti avere una tabella leggera per i dati di uso comune User
e quindi una tabella più grande per i dettagli che non ti servono molto spesso UserDetails
. Questo può migliorare le prestazioni perché sarai in grado di adattare più record in una singola pagina di dati.
Potresti richiedere autorizzazioni diverse alle tabelle, ad es. User
e UserCredentials
Potresti volere strategie di backup diverse e quindi inserire due tabelle in partizioni diverse, ad es. Transaction
e TransactionArchive
Potresti aver bisogno di più colonne di quante possano essere supportate in una singola tabella, ad es. se ci sono molte colonne di testo di grandi dimensioni che è necessario essere in grado di indicizzare e la piattaforma DB è limitata a pagine di dati 4K o whathaveyou.