2016-03-15 2 views
0

В настоящее время я делаю заявку, позволяющую спорту встречаться с другими видами спорта, чтобы играть вместе. Проблема заключается в том, что вы устанавливаете отношения в базе данных. Я нашел рабочее решение следующим образом.База данных, хранить отношения

-------- ----------------- 
| User | | Relationships | 
-------- ----------------- 
| id | | id   | 
-------- | idUser1 | 
      | idUser2 | 
      ----------------- 

Однако я чувствую, что есть место для улучшения, есть ли лучший способ решить эту ситуацию?

ответ

0
  1. Вы не потребностьid в отношениях, хотя это может быть удобно
  2. Добавить проверочное ограничение, так что пользователь не может иметь отношения с себя
  3. Добавить ограничение уникальности (idUser1, idUser2) так что не» t duplicate relations
  4. Вы используете внешний ключ?
  5. Есть индексы?
  6. Рассмотрите возможность добавления рефлексивных отношений, то есть при добавлении отношения (user1, user2) вы также добавите (user2, user1). Это может упростить управление доступом, и пусть кто-то «обойдется» без вас, не обойдя их.
  7. Будет ли только один вид отношений?