View Single Post
Old 03-07-2018, 13:56   #3
-MiStO-
Senior Member
 
Iscritto dal: May 2005
Città: Trieste
Messaggi: 2284
Quote:
Originariamente inviato da Nuke987 Guarda i messaggi
Ciao,

Per esperienza tendo sempre a creare una tabella per ogni categoria. Nel tuo caso specifico mi si sono subito accese delle lampadine appena ho letto i termini "azienda" e "fornitori". Già immagino come potrebbe andare a finire...

«Senti siamo noi siamo Pincopallo Srl ma abbiamo un contatto per l'amministrazione, uno per l'assistenza, uno per le pubbliche relazioni ed infine uno per bustarelle»

Oppure...

«Si può fare in modo di inviare le fatture solo al nostro contabile, le bolle di spedizione solo al magazziniere e le richieste libidinose all'amministratore delegato? Lui è un maiale e a queste cose ci tiene»

Per dormire tranquillo farei da subito così:
  • Tabella agagrafica aziende (nome, cognome, ragione sociale, Tax ID, VAT ID, indirizzo, VIES, intra/extra EU, status, email principale...)
  • Tabella contatti di ogni azienda in modo tale che ogni azienda è libera di creare tutti i sub-account che desidera. Il che si presterebbe ad eventuali sviluppi futuri nel caso ci fosse la necessità (esempio) di inviare le fatture a determinati contatti designati dall'azienda stessa invece di rompere le scatole a tutti. Può funzionare anche per un sistema di permessi dove account Tizio deve poter fare A ma non B e Sempronio B ma non A.
appoggio la risposta di Nuke, direi che è l'approccio migliore anche in vista di sviluppi futuri

Quote:
Originariamente inviato da _Mara_ Guarda i messaggi
Ancora più in generale... quando è meglio spostare tutto su una tabella correlata?
darei un occhio alla normalizzazione dei database, in linea di principio tieni conto che
- se uno o più campi non dipendono totalmente dalla chiave che hai scelto, oppure dipendono da altri campi non chiave
- se la relazione che lega due "informazioni" non è strettamente uno a uno, ma hai attributi multivalore

allora è il caso di creare una nuova tabella
__________________
neo mini v2 / asus strix z490i / 10600k@? / uh12s / rx6700xt / 32gb ddr4@3200 / sandisk 250 + asenno 1tb / lenovo g34w
trattative concluse : tante...

-MiStO- è offline   Rispondi citando il messaggio o parte di esso