Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    Un database per raccogliere i propri film

    Salve,

    Sto cercando disperatamente di implementare un database che raccolga la collezzione di film che ho sul mio hard-disk; Per realizzarlo ho installato correttamente un sistema LAMP, pienamente funzionante, avvalendomi di una distribuzione linux (UBUNTU);

    Qualcuno mi sa dare un consiglio su come organizzarne la struttura??

    Ho un problema nella organizzazione del db e nella fattispecie nella creazione delle relazioni tra le tabelle!!!

    Io ho pensato di procedere in questo modo:

    Creare 4 Tabelle: 1-Film 2-Genere 3-Attori 4- Registri

    Di seguito indico il dettaglio delle singole:

    1-FILM

    -id_film
    -nome_film
    -anno_film

    2-GENERE

    -id_genere
    -genere

    3-ATTORI

    -id attore
    -nome_attore
    -cognome_attore

    3-REGISTA

    -id regista
    -nome_regista
    -cognome_regista

    Qualcuno mi sa indicare quali sono le possibilità per relazionare le tabelle tra loro?

    Ho il dubbio che sia necessaria la creazione di un ulteriore tabella da usare da appoggio in cui inserire gli ID delle singole tabelle per realizzare relazioni uno a molti

    Spero di essere stato il più chiaro possibile

    Grazie Mille in anticipo

    Daniele

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Ti serve come minimo un'ulteriore tabella in cui ad ogni film associerai gli attori che vi hanno recitato


    id
    id_film
    id_attore

    e magari anche una tabella per associare il film al regista. Meglio se prevedi ugualmente una relazione 1 a molti nel caso in cui ad esempio due registi abbiano lavorato allo stesso film.

  3. #3
    Grazie per la risposta celere nico,

    Procedo immediatamente a realizzare la soluzione da te proposta, quindi la creazione delle due ulteriori tabelle che associano attore-film / regista-film;

    il legame fisico delle tabelle non esiste giusto? il legame avviene mediante l'interrogazione del db con delle query esatto?

    Scusami ma ho appena iniziato con i db e sono ancora un "Pischelletto"...!!!

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Una volta progettato il database in maniera corretta metterai in relazione le tabelle usando le join nelle interrogazioni.

    http://it.wikipedia.org/wiki/Join_%28SQL%29

    Immagino che per legame fisico ti riferisca alla funzionalità di access di trascinare un campo da una tabella all'altra per mettere in relazione le tabelle.

    Non su tutti i database funziona così.

    Per maggiori dettagli dovresti specificare su quale database intendi lavorare.

  5. #5
    Grazie mille Nico, La tua risposta mia ha chiarificato le idee.. come legame fisico intendevo un disegno astratto delle chiavi esterne, lascia perdere..

    creerò il db su mysql e lo faro intergagire con script php per l'estrazione dei dati

    Mi metto al lavoro

    Appena avro qualche sviluppo sarò lieto di indicarvelo

    Se qualcuno ha idee su come migliorarlo si faccia avanti......

  6. #6
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Originariamente inviato da Dany85_admin
    Grazie mille Nico, La tua risposta mia ha chiarificato le idee.. come legame fisico intendevo un disegno astratto delle chiavi esterne, lascia perdere..

    creerò il db su mysql e lo faro intergagire con script php per l'estrazione dei dati

    Mi metto al lavoro

    Appena avro qualche sviluppo sarò lieto di indicarvelo

    Se qualcuno ha idee su come migliorarlo si faccia avanti......
    Se intendi lavorare con mysql, nel caso non lo conoscessi già, dai un'occhiata a mysql workbench

    http://www.mysql.it/products/workbench/

    un utilissimo strumento per la progettazione db.

  7. #7
    Ciao,

    come indicato nel regolamento va specificata la piattaforma da usare per il database e dato che hai indicato LAMP immagino sia MySQL. Per questa volta sistemo io ma maggiore attenzione gentilmente.

    Grazie

    PS: una (ri)lettura al regolamento non nuoce
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  8. #8
    Grazie mille .... siete stati utilissimi...

  9. #9

    Query

    Ciao,

    Alla Fine ho deciso per le relazioni molti a molti da te proposta ovvero procedendo con la creazione della tabella di appoggio ATTORE_FILM, che raccoglie i dati dei diversi film in cui i diversi attori hanno preso parte;

    è pero insorto un problema.... non riesco ad estrarne correttamente i dati con le query.

    Un sunto delle tabelle che ho creato:

    ATTORI (id_attore, nome_attore)
    FILM (id_film, nome_film, genere_film, anno_prod, durata, trama_film)
    FILM_ATTORE (id_film, id_attore)

    Di seguito la query da me formulata per estrarre i dati di tutti i film in cui Mel Gibson ha recitato:

    SELECT FILM
    FROM FILM, ATTORI, ATTORE_FILM
    WHERE FILM.id_film = FILM_ATTORE.id_film
    AND FILM_ATTORE.id_attore = ATTORI.id_attore
    HAVING ATTORI.nome_attore = "Mel Gibson"

    Purtroppo dopo avere lanciato la query non ricevo l'output voluto.

    Ho per caso sbagliato qualcosa nella struttura delle tabelle?

    Volevo chiedervi come avreste strutturato voi la query?

    se può essere utile nel prossimo messaggio vi allego il tread dump del db

    Ciao a Tutti e Grazie in anticipo per un eventuale risposta

  10. #10
    vai di join

    select TF.* from film TF join attori_film TAF on TF.filmID=TAF.filmID join attori TA on TAF.attoreID=TA.AttoriID where TA.nome='pinco palla'

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.