Originariamente inviato da optime
quindi ti basterà fare una .... WHERE col1=utente OR col2=utente
Sì, quella è l'idea che appunto avevo all'inizio ma che non mi piaceva molto. Immagino però che sia l'unica realizzazione possibile con un database relazionale.
Il problema è che così una tupla non ha più chiave primaria, ossia un nodo può essere identificato da due chiavi possibili, ossia (pippo, pluto) e (pluto, pippo).

Penso a questo punto di raddoppiare le tuple che rappresentano l'arco. In modo che quando eseguo una ricerca, anche complessa, il tempo è molto inferiore. Quindi se ricerco gli amici di Pippo basta che cerco solo nella prima colonna e così poi mi risulta più facile fare la join.


Ad esempio, se in futuro avessi la necessità di creare una homepage simile a facebook con i link pubblicati da tutti gli amici in ordine cronologico, sarebbe molto più efficente.

Se che recentemente si sono sviuluppati database a grafi relazionali, ma ovviamente questo implica che io mi studi "roba" nuova, il che mi prenderebbe molto tempo usando magari tecnologie non ancora solide. Poi per me sarebbe difficile trovare un hosting adatto alle mie esigenze nel caso voglia pubblicare il progetto.

Su google non si trova molto al riguardo di rappresentazione di grafi in DB relazionali. Le uniche rappresentazioni che ho visto sono quelle con tabelle a due colonne ad archi orientati

Io sono tutto orecchie se avete idee e suggerimenti