В БД записываем автора книги. Однако вполне логично что один автор мог написать много книг. В функции добавления книги(таблица Book) запрограммировано вписывать автора в таблицу Author, но так же функции надо отличать случай когда автор есть уже в таблице и когда его нет. В первом случае вписывать в таблицу Book лишь его ID, а во втором и имя и ID в таблицу Author и так же как в первом случае ID в таблицу Book.
Есть мысль организовать список тех авторов, которые уже есть в БД и вносить каждого автора, когда вызывается функция добавления книги, если он еще не в списке.А до этого соответственно проверить есть ли он в списке уже. Если он найден, то пишем данные только в Book, а если не найден то не только в Book.
Реализовать просто, но не пострадает ли серьезно скорость приложения?
Поэтому возможно лучше функцию сигнализирования о присутствии автора переложить на СУБД и Alchemy?Если так, то не подскажете куда копать? Возможно в сторону событийных интерфейсов алхими? Или мысли в корни неправильные?