Sto lavorando con Ruby on Rails, ma questa domanda penso sia più ampia di quella e si applica generalmente al design del database.Quando suddividere i modelli in più tabelle di database?
Quando è una buona idea dividere un singolo modello in più tabelle? Ad esempio, supponiamo di avere un modello Utente e il numero di campi nel modello sta davvero iniziando a sommarsi. Ad esempio, l'Utente può inserire il suo sito web, il suo compleanno, il suo fuso orario, il suo ecc.
C'è qualche vantaggio o svantaggio nel suddividere il modello, in modo tale che forse la tabella Utente abbia solo informazioni di base come login e e-mail, e poi c'è un'altra tabella che ogni utente ha che è qualcosa come UserInfo, e un'altra che è UserPermissions, e un'altra che è UserPrivacySettings o qualcosa del genere?
Modifica: per aggiungere ulteriore lucentezza su questo, la maggior parte dei campi è raramente accessibile, tranne che per le pagine ad essi specifiche. Ad esempio, le cose come il compleanno sono accessibili solo se qualcuno fa clic sul profilo di un utente. Inoltre, alcuni dei campi (che sono raramente accessibili) hanno il potenziale per essere estremamente grandi. La maggior parte dei campi ha il potenziale per essere impostata o vuota o nulla.
Di quanti campi stiamo effettivamente parlando nella tabella Utente? – inkedmn