Você precisa de uma relação N:N no seu banco de dados. Para representar essa relação, geralmente é necessário criar uma tabela intermediária, que contém pares de chaves estrangeiras para os elementos dos dois conjuntos. Isso permite que você mapeie quais imagens estão linkadas em quais cores e vice-versa.
Depois que fazer isso no banco de dados você se vira pra fazer um CRUD disso 🙂👍, considere como um desafio.
Ex da tabela intermediaria
id_unico | id_imagem | id_cor |
---|---|---|
1 | 3 | 2 |
2 | 5 | 4 |