producto con esquema de base de datos de tipo de categoría múltiple

Quiero almacenar información sobre archivos de canciones que están clasificados por:
1. género, por ejemplo: pop, rock, clásico, etc.
2. instrumento utilizado como violín de piano, etc.
3. Artist
Cada canción tiene muchos instrumentos. Cada canción tiene muchos artistas.
Así que todas las relaciones son de muchos a muchos. ¿Cómo puedo implementar esto? ¿Es una buena idea hacer una relación de muchos a muchos entre la entidad de la canción y esas tres entidades de tipo de categoría? ¿O solo debería tener una entidad de categoría única que herede esas subcategorías?
gracias por adelantad

Respuestas a la pregunta(1)

Su respuesta a la pregunta