Best way to design a database with one person with different roles We've been browsing for a while looking for an answer to this, but any of them suited exactly my needs, I hope is a relevant question.

We have a database for managing books. In this database, a same person can be author and editor, or author and translator.

We have chosen this schema:



However, wen we design the view for books, that have to have the title, the author, the translator, etc., we have to do it like this, in order to get the name of the person related to the role:



But we know that it's not the best way. I think is a relevant question, because this problem is a very common one in order to design a good and solid database, and this knowledge is not always specified in manuals.

Thank you!
Just to help other people with same doubts: the good answer is ypercube's commentary.