sboby
28-06-2009, 12:32
E' giunta l'ora di provare a scrivere il mio primo sito dinamico . Ho deciso per un sito di recensioni musicali, con profili degli artisti e degli album. Nella progettazione del db ho avuto da subito qualche dubbio. Mi spiego. Ho una tabella "generi" con associazione N-N con 3 tabelle: artisti, album, utenti (per i generi preferiti).
Come è meglio agire in questi casi?
Creo 3 tabelle separate: generi_artisti, generi_album, generi_utenti
Creo un'unica tabella con un solo id per le tre tabelle e un campo che memorizza la tabella a cui ci si riferisce (idgenere, idaltro, tabella); dove idaltro può riferirsi alla chiave primaria di una delle tre tabelle
Creo un'unica tabella con 3 chiavi esterne(oltre a quella ovvia con riferimento alla tabella generi) per le 3 tabelle (idgenere, idartista, idalbum, idutente);
Stessa dubbio si ripresenta per i commenti e i voti! Un commento può essere riferito a un artista (nella pagina delle relativo profilo di quest'ultimo), a un utente o a una recensione. Il voto può essere dato a un album o alla recensione.
Vi sarei grato se mi chiariste le idee, grazie mille
Come è meglio agire in questi casi?
Creo 3 tabelle separate: generi_artisti, generi_album, generi_utenti
Creo un'unica tabella con un solo id per le tre tabelle e un campo che memorizza la tabella a cui ci si riferisce (idgenere, idaltro, tabella); dove idaltro può riferirsi alla chiave primaria di una delle tre tabelle
Creo un'unica tabella con 3 chiavi esterne(oltre a quella ovvia con riferimento alla tabella generi) per le 3 tabelle (idgenere, idartista, idalbum, idutente);
Stessa dubbio si ripresenta per i commenti e i voti! Un commento può essere riferito a un artista (nella pagina delle relativo profilo di quest'ultimo), a un utente o a una recensione. Il voto può essere dato a un album o alla recensione.
Vi sarei grato se mi chiariste le idee, grazie mille