Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 28-05-2007, 17:33   #1
MEMon
Senior Member
 
Iscritto dal: Dec 2002
Messaggi: 3359
Database problema concettuale

Mi sto perdendo in un bicchier d'acqua lo so, ora vi dico il problema.
Se ho una tabella che caratteriza una partita di calcio(anche altre tabelle come quella che contiene le informazioni di tutti i giocatori), che ha quindi diversi campi fra cui le due squadre interessate, il risultato, la lista dei marcatori, quella degli ammuniti, espulsi ecc ecc.

Avendo due campi per le squadre, se volessi ricavare subito anche le informazioni di entrambe le squadre potrei fare un join fra tabelle, ma per i campi tipo la lista dei marcatori come posso fare? Come li esprimo?

Per ora mi viene solo da pensare ad una stringa che contiene i dati separati da un carattere separatore, è sbaglito però fare una cosa del genere vero? ne sono quasi sicuro...

Ad esempio:
marcatori: nome_giocatore; nome_giocatore; nome_giocatore;

Io ricavo subito la lista dei marcatori, però se volessi anche altre informazioni su questi giocatori dovrei fare altre query, e in più i nomi dei giocatori li dovrei ricavare con funzioni sulla stringa... Non si fa così immagino, come si fa di solito in questi casi?
MEMon è offline   Rispondi citando il messaggio o parte di esso
Old 28-05-2007, 18:00   #2
mad_hhatter
Senior Member
 
L'Avatar di mad_hhatter
 
Iscritto dal: Oct 2006
Messaggi: 1105
ciao, di solito, quando si ha a che fare con problemi di attributi multi-valore, come nel tuo caso, si fa così:

si crea una nuova tabella, chiamamola MARCATORI_PARTITA che rappresenta l'associazione di una partita con uno o più giocatori.
le tuple in questa tabella sono fatte così:
attributo Marcatore REFERENCES giocatore.ID
attributo Partita REFERENCES partita.ID
PRIMARY KEY = (Marcatore, Partita)

dove giocatore.ID è la chiave primaria della tabella contenente i giocatori e partita.ID è la chiave primaria della tabella contenente le partite

quando ti serve la lista dei marcatori per una partita avente ID = X, fai una query in MARCATORI_PARTITA chiedendo tutte le tuple aventi attributo partita = X
mad_hhatter è offline   Rispondi citando il messaggio o parte di esso
Old 28-05-2007, 18:18   #3
MEMon
Senior Member
 
Iscritto dal: Dec 2002
Messaggi: 3359
Perfetto grazie mille!
MEMon è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


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: 03:08.


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