Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922

    Relazioni tabelle - consigli progettazione db.

    Salve.
    Avrei bisogno dei vostri consigli circa la progettazione di un db.
    Nel caso io debba inserire delle schede relative a dei film, ciascuno dei quali può avere un numero di attori principali variabile da 1 a 4, come organizzereste la cosa.

    Immagino mi serva una tabella per gli attori con tre campi id,nome e cognome e una tabella per i film che mi associ l'id dello stesso con gli id degli attori che vi prendono parte ma non so come salvare la relazione.
    Al fine di evitare errori di battitura e quindi ritrovarmi magari lo stesso attore inserito due o più volte causa magari una lettera sbagliata, stavo pensando di ricorrere ad ajax, associando al campo di testo l'elenco degli attori presenti sino a quel momento e, nel caso l'attore non figuri nel menù in quanto non ancora presente in nessuno dei film memorizzati, aggiungerlo alla tabella attori.
    Voi come procedete in casi del genere? Grazie per l'attenzione.

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Sono arrivato alla conclusione che la cosa più giusta sia creare tre tabelle, una per gli attori, una per i film più una terza che riporti gli id dei film e degli attori.

    Una cosa del genere insomma semplificando il discorso.

    attori
    id_attore
    nome
    cognome

    film
    id_film
    titolo

    casting
    id
    id_film
    id_attore

    Fatemi sapere se sbaglio. Già che ci sono ne approfitto per fare un'altra domanda.
    Supponiamo che io abbia una situazione del genere.

    film
    codice:
    id_film  titolo
    1          Film1
    2          Film2
    3          Film3
    4          Film4
    codice:
    attori   nome   cognome
    1        Mario    Rossi
    2        Andrea  Bianchi
    3        Franco  Verdi
    casting
    codice:
    id      id_film  id_attore
    1            1        1
    2            1        2
    3            2        3
    4            2        2
    Se ad esempio volessi ottenere l'elenco di tutti i film distinti con un campo che mi riporti il nome di tutti gli attori che vi hanno partecipato è possibile farlo e ottenere
    codice:
    film          alias attori
    Film1     Mario Rossi, Andrea Bianchi 
    Film2     Franco Verdi, Andrea Bianchi
    oppure devo farmi una query a parte, fare l'implode e visualizzarli tramite php?
    Grazie come sempre.

  3. #3
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Mi rispondo da solo. group_concat.

    codice:
    select casting.*,movie.film,group_concat(concat_ws(' ',attori.nome,attori.cognome) 
    separator ',')
    from casting 
    inner join movie on casting.id_film = movie.id
    inner join attori on casting.id_attore = attori.id
    group by casting.id_film

  4. #4
    Utente di HTML.it L'avatar di wallrider
    Registrato dal
    Apr 2003
    Messaggi
    2,755
    vai col molti a molti... un film ha più attori e un attore partecipa a più film
    RIP Cicciobenzina 9/11/2010

    "Riseminaciceli, i ceci nell'orto"

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.