Topic: How to model a bidirectional relationship between persons
I have a person table and I want these persons to be able to define 'friendhips' between each other.
A friendship is a bidirectional relationship between two (different) records in the persons table.
Another 'nice-to-have' would be an efficient way of finding all possible paths between two persons (either directly or transitive).
What's the common approach to this ? Maintaining the relationship in an association table (that points to both persons) isn't bidirectional and IMHO inefficient to search (transitively) due to the combinatorial explosion.