it makes sense. anyway I'd like to suppose a scenario. A and B are friends. thus there is a record (A, B, ...) in the table Friends which represents A has a friend B, but how about the other side B has a friend A. should I add another record like (B,A,..) to the table. if so, I think the data is duplicate