MySQL многие ко многим отношениям
Читал учебникКак обрабатывать отношения «многие ко многим» с PHP и MySQL .
В этом вопросе я ссылаюсь на раздел «Схема базы данных», в котором изложены следующие правила:
Эта новая таблица должна быть составлена таким образом, чтобы:
* It must have a column which links back to table 'A'.
* It must have a column which links back to table 'B'.
* It must allow no more than one row to exist for any combination of rows from table 'A' and table 'B'.
* It must have a primary key.
Теперь это кристально ясно.
Единственная проблема, с которой я столкнулся, связана с третьим правиломне более одной строки для любой комбинации«).
Я хочу, чтобы это также применялось, но, похоже, это не сработает.
В моем тестовом экземпляре mysql (5.XX) я могу добавить две строки, которые отражают одинаковые отношения!
Например, если я сделаю это отношение (добавив строку):
От А до Б
Это также позволяет мне сделать это отношение:
От B до A
Таким образом, вопрос на самом деле два вопроса:
1)Как мне сформулировать 3-е правило, которое не позволит сделать выше? Имейте только одно уникальное отношение независимо от комбинации.
2) Когда я захочуискать все отношения 'A', как будет выглядеть SQL-запрос?
Примечание № 1: По сути, моя последняя цель - создать систему «дружбы», и, насколько я понимаю, решение - это таблица «многие ко многим». Предложите иначе, если это возможно.
Заметка 2:Таблица пользователей находится в другой базе данных из отношений (называйте это дружбой)Таблица, Поэтому я не могу использовать внешние ключи.