um para muitos relacionamento no banco de dados - conceito de design

Uma relação de um para muitos entre duas tabelas deve ser implementada com duas ou três tabelas? Por exemplo, devemos ter:

<code>author(id,otherAttributtes)
books(id,authorid,otherAttributes)
</code>

ou

<code> author(id,otherAttributtes)
    books(id,otherAttributes)
    authorConnectsBooks(authorid,booksid)
</code>

Eu gosto mais da primeira abordagem, mas eu vi o segundo e em aplicações mais complicadas muitas vezes. Existe alguma desvantagem para o primeiro método, ou é apenas pessoal qual o caminho a seguir?

questionAnswers(5)

yourAnswerToTheQuestion