Ho una mezza idea..Oltre alla tabella tag aggiungo un campo tag alla tabella articoli che contiene una stringa di tag separati da virgola. In questo modo quando estraggo l'articolo con php metto in un array questi tag.
Quando clicco su uno di questi tag ho bisogno di estrarre dal database tutti quegli articoli che hanno in comune con quello appena estratto almeno un tag.
Dunque potrei estrarre tutti le stringhe tag di tutti gli articoli e tramite php controllare se i singoli tag sono contenuti nelle stringhe..
Quindi facciamo finta che ho 5 articoli e che le stringhe possono contenere massimo 5 tag.
Allora estraggo un articolo e inserisco in un array i 5 tag.
A questo punto estraggo dal database le 4 stringhe tag dei rimanenti 4 articoli.
Ora controllo che i 5 tag siano contenuti nelle quattro stringhe. Se nessun confronto ha esito positivo vorrà dire che i 4 articoli rimasti nel database non hanno nulla a che fare con quello appena estratto..
Quindi la tabella TAG la continuerei ad usare solo per il tagcloude..
Può andare?