На всякий случай: убедитесь в уникальности «книга — автор». Например, если подразумевается интернет-магазин или каталог, нужно учитывать, что одну и ту же книгу могут издавать разные издательства. Кроме того, даже в одном издательстве автор может фигурировать в разных ипостасях: «Б.Акунин», «Акунин Б.» «Борис Акунин» и т.п.
Спасибо большое за ваш комментарий :)
База данных проектируется в рамках учебного проекта, есть много подобных таблиц где нужна уникальность пары + преподаватель такой мелочи скорее всего не оценит. Хотя :)
Лучше UNIQUE. Это позволит иметь отдельный простой точный id для связной таблицы. Это обычно упрощает работу потом, если придется работать со связной таблицей в параллельных запросах вне serialized транзакций. Лишний индекс для int primary key не проблема.
Уникальный идентификатор в любом случае должен быть.
Если речь про книги — то я бы дублировал уникальность по ID UNIQUE и полю с ISBN, если даже одна книга разных издательств — номер будет другой