Relacionamento Many-to-Many
No relacionamento many-to-many, é necessário utilizar uma tabela de junção (join table) para relacionar as entidades.
Por exemplo, uma relação entre “users” e “roles”.
No exemplo acima, a entidade “users_roles” possui uma chave primária composta por duas chaves estrangeiras (“user_id” e “role_id”), garantindo que não haverá duplicidade desses campos na tabela de junção.
Referências
Relacionamentos One-to-one, One-to-many e Many-to-many - Curso de SQL com MySQL - Aula 2