La PK de la tabla relacional debe estar compuesta por las dos PK de las otras dos tablas, mas por lo menos un campo como discriminante, que podría ser la fecha de compra.
Eso traería una restricción adicional: que el mismo usuario no pueda comprar dos veces el mismo producto en el mismo día. Para resolverlo la fecha debe ser de formato DATETIME, ya que no puede hacer dos compras simultáneas de lo mismo (sería la misma compra):
Nota Bene: No tiene sentido poner el campo "nombre" en la tabla relacional. Ya existe en el de Productos y duplicarlo implicaría riesgo de inconsistencia de datos.