La décomposition d'un ternaire relation binaire des relations

Je suis en train de concevoir une base de données qui gère les utilisateurs, les comptes et les projets avec les relations suivantes et les contraintes:

  • Un compte a de nombreux utilisateurs
  • Un utilisateur appartient à plusieurs comptes
  • Un compte a de nombreux projets
  • Un projet appartient à seulement un compte
  • Un utilisateur collabore à de nombreux projets (redondant remarque: chacun d'entre eux, appartenant à son propre compte).

En d'autres termes, un utilisateur peut collaborer à de nombreux projets de le même compte. Mais depuis un utilisateur peut appartenir à plusieurs comptes, ainsi, un utilisateur peut collaborer à de nombreux projets de plusieurs comptes. Cela m'amène à un ternaire collabore relation:

La décomposition d'un ternaire relation binaire des relations

Après la lecture de quelques documents sur la conversion ternaire relations binaires relations, je suis venu avec le schéma équivalent suivant les relations:

La décomposition d'un ternaire relation binaire des relations

Deux question se pose ici:

  1. Est cette conversion correcte? J'ai trouvé que j'ai à ajouter des contrôles supplémentaires au niveau de l'application pour gérer les insertions. Par exemple, avant d'ajouter un nouveau (User,Project) je dois vérifier que l'utilisateur appartient au même compte que le projet appartient à.
  2. Est-il vraiment nécessaire d'établir la relation entre Account et User? Une fois que la relation entre User et Project a été ajouté, ne pourrions-nous pas connaître le compte d'un utilisateur appartient à en accédant au projet?

Merci!!

OriginalL'auteur elitalon | 2012-05-15