2010-10-05 14 views
0

Comment puis-je connecter la table project_user avec la table project_terms de la meilleure façon?Mysql Connect Two Tables (FK) - Conception de base de données

  • Un projet a différentes comme 1,2,3,4
  • Recommander Catégories
  • Les sont stockés dans Recommander Catégories la categorys_table
  • Mais peut-être un utilisateur sont attribués uniquement pour les 1,2 et non Recommander Catégories 3,4
  • Dois-je également connecter la table project_table avec la table categorys? Comment puis-je résoudre cela dans ma conception de base de données?

[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 

Répondre

1

alt text

+0

grand schéma, est-il possible d'insérer CategoryID 1,2,3,4 appartenant à ProjectID 1? – ali

+0

@ali - oui. Un utilisateur peut être affecté à n'importe quel sous-ensemble de combinaison de catégorie de projet. –

+0

merci, je l'ai essayé .. parfait !! :-) – ali

1

Aucune idée si je vous ai bien compris: Une approche possible pourrait être d'associer tous vos utilisateurs avec un projet

[project_project_user] 
project_id | user_id 
    1    1 

Avec cela, vous avez un utilisateur affecté à un projet.

Pour être en mesure de vérifier les termes, vous pouvez introduire une table qui correspond aux termes pour les utilisateurs.

[project_terms_user] 
user_id | term_id 
    1    2 

Vous pouvez aussi aller Fas laissant le tableau [project_project_user] puisque la connexion peut être établie via [project_terms_user]. Certains fichiers peuvent être plus efficaces avec la première table disponible, mais les résultats devraient être les mêmes.

+0

Merci, bonne idée! – ali

Questions connexes