Что выбрать: primary key или unique для уникального foreign key?
На всякий случай: убедитесь в уникальности «книга — автор». Например, если подразумевается интернет-магазин или каталог, нужно учитывать, что одну и ту же книгу могут издавать разные издательства. Кроме того, даже в одном издательстве автор может фигурировать в разных ипостасях: «Б.Акунин», «Акунин Б.» «Борис Акунин» и т.п.
Лучше UNIQUE. Это позволит иметь отдельный простой точный id для связной таблицы. Это обычно упрощает работу потом, если придется работать со связной таблицей в параллельных запросах вне serialized транзакций. Лишний индекс для int primary key не проблема.