a mi me parece que esa tabla que pusiste si está bien formada, solo que en este caso una persona solo puede tener UNA profesión y una profesión solo puede tener UNA categoría, por lo tanto no haría falta especificar el nombre Y la profesión para conseguir la categoria.
Entonces la consulta sería algo así, si solo le pasaras el nombre:
Código MySQL:
Ver original categoria.id_categoria
inner join profesiones
as profesion
on profesion.id_categoria
= categoria.id_categoria
join personas
as persona
on persona.id_profesion
= profesion.id_profesion
where persona.nombre
= 'cristian';