Я занимаюсь разработкой крошечной социальной сети, где пользователи должны иметь возможность устанавливать отношения между ними, а также иметь разрешения на содержимое. Например: я добавляю одного пользователя в качестве моего друга, но этот пользователь не позволяет мне видеть все его/ее содержимое, поэтому я имею доступ только к тем содержимым, которые пользователь разрешает мне (разрешениям). Поэтому у меня есть проблема и вам нужна помощь в разработке DER этой части. Я думаю, что в есть эти таблицы:Людские отношения между пользователями
- users (id, name)
- relations_type (id, name, active)
- users_relations (id, id_user_1, id_user_2)
- users_permissions (id, id_relation, id_module, id_user, view, edit, delete)
Это вызывает следующее:
- Две строки для всех отношениях: User 1> пользователя 2 и пользователя 2> User 1, так как при поиске (SELECT) Я нужно знать, какие друзья пользователя 1, а также друзья User2. Если я оставляю только одно отношение, то мне нужен СОЮЗ, и этот миг мой медленный мой DB
Это правильно? Как вы справляетесь с этим, когда CRUD на этом? Я использую MySQL кстати и таблицы MyISAM.