|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Junior Member
Iscritto dal: Apr 2015
Messaggi: 15
|
Su come progettare database (dubbio sulle relazioni...)
Ciao a tutti,
spero di non essere OT perchè la mia domanda riguarda più la fase progettazione... e non sono espertissima perciò abbiate pietà se la sparo grossa ![]() In un'anagrafica di aziende ho tabella con nome/cognome fornitore (TabAnagAziende). Ha senso creare un'altra tabella solo per le email, con riferimento all'anagrafica tramite chiave esterna, oppure va bene prevedere 2 o 3 campi inTabAnagAziende nel caso di email multiple? Domanda più generale: non mi chiederanno di conteggiare le email per singolo fornitore, al massimo di stamparle tutte in un riepilogo quindi potrebbe essere giusta la seconda ipotesi? Ancora più in generale... quando è meglio spostare tutto su una tabella correlata? Grazie dei consigli ![]() Mara |
![]() |
![]() |
![]() |
#2 |
Member
Iscritto dal: Jul 2009
Messaggi: 275
|
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ì:
Ultima modifica di Nuke987 : 25-06-2018 alle 22:19. |
![]() |
![]() |
![]() |
#3 | ||
Senior Member
Iscritto dal: May 2005
Città: Trieste
Messaggi: 2284
|
Quote:
Quote:
- 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... |
||
![]() |
![]() |
![]() |
#4 |
Moderatore
Iscritto dal: Nov 2006
Messaggi: 21662
|
così in poche parole le relazioni si semplificano con queste 3 regole
1) se due entità hanno una relazione 1-1 si fondono in una sola tabella 2) se due entità hanno una relazione 1-n si mette la chiave di 1 come esterna nella tabella di n 3) se due entità hanno una relazione n-n essa si divide in 2 relazioni 1-n con una tabella intermedia che ha come chiave la somma delle chiavi delle 2 tabelle ed eventuali altri campi per le proprietà della relazione. nel tuo caso se le mail sono multiple sei nel caso 2 quindi 2 tabelle
__________________
"WS" (p280,cx750m,4790k+212evo,z97pro,4x8GB ddr3 1600c11,GTX760-DC2OC,MZ-7TE500, WD20EFRX) Desktop (three hundred,650gq,3800x+nh-u14s ,x570 arous elite,2x16GB ddr4 3200c16, rx5600xt pulse P5 1TB)+NB: Lenovo p53 i7-9750H,64GB DDR4,2x1TB SSD, T1000 |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 08:23.