как я могу наилучшим образом соединить таблицу project_user с таблицей project_terms?
как я могу решить это в моем проекте базы данных?
[project_user]
id name
1 Tom
// But User Tom only assigned for the Project_id 1
// and the cat_id 2 in the project_terms table
[project_terms]
project_id (fk) | cat_id (fk)
1 | 2
1 | 3
[categorys_table]
cat_id | catname
2 | Lemon
3 | Apple
[project_table]
project_id | name
1 | FruitsProject
Не знаю, правильно ли я понял: один из возможных подходов - связать всех ваших пользователей с проектом
[project_project_user]
project_id | user_id
1 1
При этом у вас есть пользователь, назначенный для проекта.
Чтобы проверить условия, вы можете ввести таблицу, которая соответствует условиям для пользователей.
[project_terms_user]
user_id | term_id
1 2
Вы также можете пойти так же, как и оставить таблицу [project_project_user]
, поскольку соединение можно установить через [project_terms_user]
. Некоторые очереди могут быть более эффективными с доступной первой таблицей, но resuls должны быть одинаковыми.