Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Attenti a Poco F7: può essere il best buy del 2025. Recensione
Attenti a Poco F7: può essere il best buy del 2025. Recensione
Poco F7 5G, smartphone che punta molto sulle prestazioni grazie al processore Snapdragon 8s Gen 4 e a un display AMOLED da ben 6,83 pollici. La casa cinese mantiene la tradizione della serie F offrendo specifiche tecniche di alto livello a un prezzo competitivo, con una batteria generosissima da 6500 mAh e ricarica rapida a 90W che possono fare la differenza per gli utenti più esigenti.
Recensione Samsung Galaxy Z Fold7: un grande salto generazionale
Recensione Samsung Galaxy Z Fold7: un grande salto generazionale
Abbiamo provato per molti giorni il nuovo Z Fold7 di Samsung, un prodotto davvero interessante e costruito nei minimi dettagli. Rispetto al predecessore, cambiano parecchie cose, facendo un salto generazionale importante. Sarà lui il pieghevole di riferimento? Ecco la nostra recensione completa.
The Edge of Fate è Destiny 2.5. E questo è un problema
The Edge of Fate è Destiny 2.5. E questo è un problema
Bungie riesce a costruire una delle campagne più coinvolgenti della serie e introduce cambiamenti profondi al sistema di gioco, tra nuove stat e tier dell’equipaggiamento. Ma con risorse limitate e scelte discutibili, il vero salto evolutivo resta solo un’occasione mancata
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 25-06-2018, 09:03   #1
_Mara_
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
_Mara_ è offline   Rispondi citando il messaggio o parte di esso
Old 25-06-2018, 22:14   #2
Nuke987
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ì:
  • 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.

Ultima modifica di Nuke987 : 25-06-2018 alle 22:19.
Nuke987 è offline   Rispondi citando il messaggio o parte di esso
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
Old 06-07-2018, 13:34   #4
!fazz
Moderatore
 
L'Avatar di !fazz
 
Iscritto dal: Nov 2006
Messaggi: 21729
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
!fazz è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Attenti a Poco F7: può essere il best buy del 2025. Recensione Attenti a Poco F7: può essere il best buy...
Recensione Samsung Galaxy Z Fold7: un grande salto generazionale Recensione Samsung Galaxy Z Fold7: un grande sal...
The Edge of Fate è Destiny 2.5. E questo è un problema The Edge of Fate è Destiny 2.5. E questo ...
Ryzen Threadripper 9980X e 9970X alla prova: AMD Zen 5 al massimo livello Ryzen Threadripper 9980X e 9970X alla prova: AMD...
Acer TravelMate P4 14: tanta sostanza per l'utente aziendale Acer TravelMate P4 14: tanta sostanza per l'uten...
Grok Imagine: evoluzione dell'IA o nuova...
L'Italia saluta anche IVECO: finalizzata...
Summer Black Friday: spendi meno e godit...
Half-Life 3? No, Gabe Newell produrr&agr...
Apple al lavoro su un sensore che "...
TSMC vittima di spionaggio industriale s...
Cooler Master MasterFrame 500: un flusso...
Apple accelera sull'IA interna: c'&egrav...
I robotaxi arrivano in Europa: Lyft e Ba...
Ancora voci sul mega tablet pieghevole d...
Un computer quantistico con 10.000 qubit...
AVM cambia nome e faccia: ora si chiama ...
SatNet ha lanciato altri satelliti per l...
Flop autonomia per la Fiat Grande Panda ...
2 TV LG da favola in super sconto: OLED ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 21:07.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v