Автор оригинала: С.
Хорошо, я согласен, что в первом варинате, я больше упор сделал на практическую реализацою, чем на ее теоретическую подоплеку. Тогда я предлагаю следующую структуру базы:
Таблица "Категории":
код, наименование,...
Таблица "Подкатегории"
код подкатегории, код категории, наименование,...
Таблица "Книги"
код книги, код категории, код подкатегории, нименование,...
Все. Где может вылезти хоть одна проблема, если четко следовать этой модели?
На практическом этапе можно говорить об объединении таблиц "Категории" и "Подкатегории", комбинировании их кодов, что я и сделал в самом начале.