Cosi' ad una prima occhiata direi che ti manca una tabella.
Siccome molti utenti potrebbero avere molti amici e molti amici potrebbero esserlo di piu' utenti andresti in una condizione abbastanza difficile da gestire di molti a molti.
Quindi direi una tabella di unione utenti <-> amici. tre semplici campi:
id - id_utente - id_amico
con una semplice join troverai tutti gli amici del singolo utente e viceversa.

Rispondi quotando