Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Come organizzare le tabelle del db per...

    Ciao amici.

    Mi date un consiglio? Devo creare delle tabelle di database, ma non so esattamente con che criteri.

    Vi spiego quel che voglio fare:
    Devo memorizzare dati degli utenti (id, nome, ecc)

    Poi quelli delle categorie che possono leggere gli utenti (sempre id e nome)

    E infine quelli degli articoli, che appartengono sempre e solo ad una categoria (id, nome, categoria e stato(letto/non letto, relativo a ciascun utente)

    Ho questi vincoli: ogni articolo può avere una sola categoria;
    ogni categoria può essere letta da più utenti, quindi ogni articolo può essere letto da più utenti.

    Ho anche preparato un disegnino così forse è più chiaro

    Inoltre vorrei poter tenere traccia, per ogni utente, di quale articolo ha letto e quale no (uno stato 0/1 che ogni articolo può avere nei confronti di ogni utente).

    Spero di essere riuscito a spiegarmi...

    Voi quante/quali tabelle fareste?

  2. #2

  3. #3

    velocemente...

    - la relazione categoria - articolo è 1 a N, visto che un articolo ha una sola categoria, quindi articolo importa la chiave di categoria.

    - la relazione articolo - utente è N a M, cioè ogni articolo può essere letto da M utenti e ogni utente può leggere N articoli, quindi ci sarà una tabella articolo_utente dove ogni record contiene chiave utente e chiave articolo.
    Un record in questa tabella indica che l'utente in questione ha letto l'articolo in questione. Se vuoi puoi aggiungere campi aggiuntivi alla relazione, tipo dataora in cui l'utente ha richiesto l'articolo.

    Mi sembra ci sia tutto, no?
    4 tabelle.

  4. #4

    Quindi

    articoli(id_articolo, id_categoria, ecc)
    -- ok per le informazioni che mi servono sull'articolo, non ho l'informazione se è letto o meno che ho nella seguente tabella:

    articoli_utente(id_utente, id_articolo)
    -- creo un record ogni volta che un utente legge un articolo, dovrebbe bastare, no?

    categorie(id_categoria, nome_categoria)
    -- associandola con la tabella ARTICOLI so quali articoli corrispondono alla categoria, ok

    utenti(id_utente)
    -- mi manca un passaggio: come faccio a sapere a quali categorie ha accesso l'utente? Devo fare un'altra tabella utente_categorie?

  5. #5
    ah, scusa, non avevo capito ci fosse relazione tra categorie e utenti.

    Sì, certo, essendo relazione N a M fai la tabella intermedia, come già spiegato prima.

    Ovviamente prima di far accedere l'utente all'articolo verificherai su questa tabella se può accedere alla categoria dell'articolo.

  6. #6
    Grazie mille, ora è tutto chiaro!

    Non sembra ma ogni tanto le cose le capisco

    Grazie ancora!

  7. #7

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.