Descomponer una relación ternaria en relaciones binarias

Estoy diseñando una base de datos que maneja usuarios, cuentas y proyectos con las siguientes relaciones y restricciones:

Una cuenta tiene muchos usuarios.Un usuario pertenece a muchas cuentas.Una cuenta tiene muchos proyectos.Un proyecto pertenece asolamente una cuentaUn usuario colabora en muchos proyectos (nota redundante: cada uno de ellos pertenece a su propia cuenta).

En otras palabras, un usuario puede colaborar en muchos proyectos de la misma cuenta. Pero como un usuario puede pertenecer a varias cuentas, por lo tanto, un usuario puede colaborar en muchos proyectos de varias cuentas. Esto me lleva a un ternario.colabora relación:

Después de leer un par de artículos sobre la conversión de relaciones ternarias en relaciones binarias, encontré las siguientes relaciones equivalentes:

Dos preguntas surgen aquí:

¿Esta conversión es correcta? Descubrí que debo agregar controles adicionales en el nivel de la aplicación para manejar las inserciones. Por ejemplo, antes de agregar un nuevo(User,Project) Tengo que comprobar que el usuario pertenece a la misma cuenta a la que pertenece el proyecto.

¿Es realmente necesario establecer la relación entreAccount yUser? Una vez que la relación entreUser yProject se ha agregado, ¿no podríamos saber a qué cuenta pertenece un usuario al acceder al proyecto?

¡¡Gracias!!

Respuestas a la pregunta(1)

Su respuesta a la pregunta