У меня есть таблица Пользователь со столбцом id . Я хочу, чтобы у пользователя были отношения с другими пользователями, поэтому я создаю таблицу Отношения со столбцами user_id_1 и user_id_2 .
Вопрос в том, как ограничить таблицу так, чтобы
1) нет записей, где user_id_1 равно user_id_2 .
Например, запись (1, 1) плохая, потому что она указывает на отношение к себе.
2) если есть запись (user_id_1, user_id_2) , запись (user_id_2, user_id_1) не допускается.
Например, наличие записей (1, 2) и (2, 1) является плохим, поскольку оно указывает на одинаковые отношения.
Я использую MySQL, хотя думаю, что это общая проблема дизайна. Спасибо!