sql >> Base de Datos >  >> RDS >> Mysql

Cómo representar una relación de base de datos categorizada de muchos a muchos donde las categorías son específicas de un lado de la relación

Agregue un campo de ID a sus Job Titles tabla - llamémoslo JobTitleID

Ahora tus Assignments la tabla tiene Employee ID y JobTitleID .

Esto, por supuesto, significa que para encontrar los Proyectos de un empleado, debe unirse a través de Assignments mesa y los Job Titles mesa

EDITAR

Después de la discusión en los comentarios, ignore lo anterior, lo dejé solo como historial.

Ahora aquí está la nueva versión:Tus Assignments necesidades de la mesa (como ya consideró)

  • ID de empleado
  • ID del proyecto
  • Identificación del título
  • Id. de tarea

Pero también necesita un UNIQUE INDEX(EmployeeID, ProjectID) - esto hará que sea imposible que un empleado esté en el mismo proyecto bajo diferentes títulos.

Todavía se permitirán varios empleados con el mismo cargo, así como varios cargos en diferentes proyectos para un empleado.