В cлучае, если уже добавленная в базу книга изменится (например откорректирована секция description) хорошо бы обновлять информацию о книге (а не игнорировать ее как сейчас).
Можно сравнивать размер время изменения (или создания) файла c временем добавления в базу (или хранить в базе время изменения файла и сравнивать с ним), а также сравнивать размер файла и при несовпадении размера или более новом файле обновлять информацию в базе (например удалять и добавлять заново).
Кстати 20 символов для docdate маловато туда не лезет даже "2001-01-01 - 2002-02-02", А уж если кто-то запишет месяц текстом...