Relación uno a muchos en la base de datos - concepto de diseño

¿Se debe implementar una relación de uno a muchos entre dos tablas con dos o tres tablas? Por ejemplo deberíamos tener:

author(id,otherAttributtes)
books(id,authorid,otherAttributes)

o

 author(id,otherAttributtes)
    books(id,otherAttributes)
    authorConnectsBooks(authorid,booksid)

Me gusta más el primer enfoque, pero he visto el segundo y en aplicaciones más complicadas muchas veces. ¿Hay algún inconveniente para el primer método, o es personal qué camino seguir?