• User Attivo

    struttura database

    Ciao a tutti, ho una domanda da porvi, mi sto scervellando per capire qual'è il miglior modo di strutturare un database, con una raccolta di materie-sezioni-testi.
    Quindi:

    -materia
    -sezione
    -testo
    -testo
    -testo
    -testo
    -sezione
    -testo
    -testo
    -sezione
    -testo
    -testo
    -testo

    inizialmente avevo scelto di fare 3 tabelle, materie,sezioni,argomento e utilizzando gli ID legare materie,sezioni e argomenti, ma è un modo tropo macchinoso, quindi ho pensato a due modi alternativi:
    creare una tabella con le materie e due tabelle sezioni_materia e argomenti_materia legando gli ID sezioni e argomenti (pro: tabelle relativamente poche, contro: con tanti argomenti ci può essere casino).

    oppure creare una tabella materie, una sezioni e per ogni sezioni creare una tabella (pro: ordinato, contro: tante tabelle)

    Il database viene letto da un programma e presumibilmente avrà questa forma

    -leggo le materie
    -ciclo for prima materie
    -ciclo for primo argomento
    -ciclo for secondo argomento

    ecc...

    la cosa necessaria è la possibilità dato un'argomento di risalire alla materia, secondo voi come devo muovermi per risolvere il problema?

    kikko088


  • User

    Ciao,
    si deve costruire una tabella per ogni oggetto che deve essere relazionato e, in questo caso abbiamo:

    • materia
    • sezione
    • testo
    • argomento ?

    Poi si deve decidere come sono "legate" queste tabelle:

    • 1 a 1 ?
    • 1 a N ?
    • N a M ?

    Dopodiché si passa a definire gli attributi di ogni tabella.

    Per prima cosa occorre quindi avere ben chiaro l'ambiente con cui si ha a che fare. Un paio di esempi li puoi trovare slideshare.net/floste/php-e-database-creare-relazioni-fra-tabelle e slideshare.net/antmng/database-concetti-di-base