Я не читал но это означает, что между таблицей друзей и таблицей учетных записей есть две аналогичные отношения, но в каждой связи используются разные столбцы друзей.
Дружба - это взаимоотношение между двумя учетными записями. Таким образом, две таблицы должны быть указаны в таблице друзей. В качестве простого примера:
Accounts таблица:
- ID (Первичный ключ)
- Имя пользователя
Друзья стол:
- Account1ID (первичный ключ)
- Account2ID (первичный ключ)
Таблица друзей уникально представляет собой дружбу между любыми двумя учетными записями. Чтобы сохранить ссылочную целостность, там должно быть два отношения между столом друзей и таблицами счетов (в качестве внешнего ключа):
- Friend.Account1 -> Account.ID
- Friend.Account2 -> Account. ID
Одна связь для каждой учетной записи, связанной с дружбой.
Фактически таблица друзей является связующей таблицей в отношениях «многие ко многим», это просто, что учетные записи являются таблицей с обеих сторон отношения. Это отношение «многие ко многим» между учетной записью и другой учетной записью.