Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043

    consiglio come impostare il db

    ciao, sto realizzando un db di un archivio per una videoteca.
    La mia domanda è, visto che devo inserire tanti attori e tanti produttori per lo stesso film, devo prima inserire il record del film nella tabella "film":

    id_film
    titolo
    durata
    anno
    genere
    regista
    distributore

    e poi in un secondo momento inserire un'altro record in un'altra tabella "attori_produttori":

    id_attori_produttori
    id_film
    nome_cognome_attore1
    nome_cognome_attore2
    nome_cognome_attore3
    nome_cognome_attore4
    nome_cognome_attore5

    nome_casa_produzione1
    nome_casa_produzione2
    nome_casa_produzione3


    è giusto farlo così, o ce un modo più corretto?

  2. #2
    Studiati le regole di normalizzazreione. Dovresti creare una tabella per gli attori, una per le case di produzione etc.

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    ok, quindi devo fare un db molti a molti:

    tabella anagrafica_film (id_anagrafica_film, titolo, durata, paese, trama)
    tabella anagrafica_attore (id_anagrafica_attore, nome, cognome, nascita, sesso)
    tabella genere (id_genere, genere)
    tabella anagrafica_casa_produzione (id_anagrafica_casa_produzione, ragione_sociale, paese)

    e poi una tabella che raggruppa tutte le altre:

    tabella scheda_film (id_anagrafica_film, id_anagrafica_attore, id_genere, id_anagrafica_casa_produzione)

    così è giusto?

  4. #4
    Nella tabelle di dettaglio devi inserire una chiave esterna che faccia riferimento alla tabella film. Nella tabella film non devi inserire le chiavi esterne, ma una chiave primaria (es. id_film_anagrafica)

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    ah, allora una relazione molti a molti si fa così?:

    tabella anagrafica_attore (id_scheda_film, id_anagrafica_attore, nome, cognome, nascita, sesso)
    tabella genere (id_scheda_film, id_genere, genere)
    tabella anagrafica_casa_produzione (id_scheda_film, id_anagrafica_casa_produz, ragione_sociale, paese)

    e poi la tabella del film:

    tabella scheda_film (id_scheda_film, titolo, durata, paese, trama)

    così è giusto?

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    però in questo modo se l'attore ha fatto più film non sorgono dei problemi?

  7. #7
    però in questo modo se l'attore ha fatto più film non sorgono dei problemi?
    Devi usare una relazione molti-a-molti.

    tabella anagrafica_attore (id_anagrafica_attore, nome, cognome, nascita, sesso)
    tabella anagrafica_attore_scheda_film(id, id_anagrafica_attore, id_scheda_film)
    tabella scheda_film (id_scheda_film, titolo, durata, paese, trama)

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    ok, era come pensavo, invece per quanto riguarda l'anagrafica del cast e la troupe mi conviene fare un'unica tabella "cast_troupe", perchè un'attore può essere anche regista, produttore o sceneggiatore:

    tabella "cast_troupe" (id_cast_troupe, nome, cognome, data_nascita, attore, regista, sceneggiatore, produttore)

    oppure è meglio fare 4 anagrafiche?

    tabella "attore" (id_attore, nome, cognome, data_nascita)
    tabella "regista" (id_regista, nome, cognome, data_nascita)
    tabella "produttore" (id_produttore, nome, cognome, data_nascita)
    tabella "sceneggiatore" (id_sceneggiatore, nome, cognome, data_nascita)

    in questo modo però se un attore è anche sceneggiatore avrò 2 anagrafiche della stessa persona, mi conviene il primo metodo?

  9. #9
    Puoi creare una tabella chiamata persone:

    tabella "persone" (id_persona, nome, cognome, data_nascita, etc.)

    Poi la colleghi al film con una tabella chiamata troupe tipo:

    tabella "troupe" (id_troupe, id_film, id_persona, ruolo)

    Dove ruolo puo' prendere vari valori tipo attore, regista, sceneggiatore, attrezzista etc.

  10. #10
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    ok, grazie mille per l'aiuto

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.