Ако приемем, че всичките ви приятели също са в таблицата с потребители, ще ви трябва таблица с приятели, която дефинира проста връзка един към много - свързваща таблицата с потребители обратно към себе си. Така че
User Table
UserID int identity not null
[other attribute fields]
Friends Table
UserIDLink1 int
UserIDLink2 int
[other attribute field]
Където и UserIDLink1, и UserIDLink2 са външни ключове в таблицата Users.
Така например, ако имам трима потребители
1 Joe
2 Bill
3 Jane
и Джо и Джейн са приятели, тогава таблицата Friends ще съдържа един ред
1 3
Горното имплицитно предполага, че ако A е приятел на B, тогава B е приятел на A - ако това не е така, вероятно бихте искали да преименувате UserIDLink1 и UserIDLink2 на UserID и FriendID или подобно - в този случай бихте имат и до удвояване на записите.
Също така за двупосочната конфигурация (A е приятел на B, ако B е приятел на A) трябва да настроите индекси в таблицата Friends за (UserIDLink1,UserIDLink2) и (UserIDLink2,UserIDLink1), за да гарантирате, че достъпът винаги е ефективен, ако търсихме или приятели на Джо, или приятели на Джейн (ако не сте настроили втория индекс, тогава първата заявка ще бъде ефективно търсене на индекс, но втората ще изисква пълно сканиране на таблицата).
Ако връзките ви не бяха двупосочни, това нямаше да е необходимо, за да разберете кои са приятелите на А, но все пак вероятно най-много ще се нуждаете от това, тъй като вероятно ще трябва също да разберете на кого B е приятел.