|
|
#1 |
|
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? |
|
|
|
|
|
#2 |
|
Senior Member
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 |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Dec 2002
Messaggi: 3359
|
Perfetto grazie mille!
|
|
|
|
|
| Tutti gli articoli | Tutte le news | Tutti i download |
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 03:08.



















