Quote (1_абрам)
1)Должна быть многоуровневой.
уже. многоуровневое дерево.
Quote (1_абрам)
2) Легко модернизироваться
уже. тупо добавляешь свои жанры, можно один жанр присвоить нескольким группам, скажем, детективную фантастику всунуть в детективы и фантастику. Корневым (общим) группам книги присвоить нельзя.
Quote (1_абрам)
3) Должна действовать на все книги, поддерживаемые библиотекой.
конкретной библиотекой (а не всеми)
Quote (1_абрам)
По пункту 2) возникают вопросы - предположим был создан новый жанр, несколько книжек были к нему приписаны, а затем этот жанр был удален из таблицы. Какой жанр в этом случае будет у этих книжек.
однозначно: все книги с таким жанром (если он в единственном числе у книги) будут удалены из базы. Уелостность таблиц никто не отменял. Будет предупреждение с запросом на подтверждение этого действия.
Quote (1_абрам)
По пункту 3). Нужно установить приоритет жанров. Если у книжки есть жанр, определяемый пользовательской таблицей жанров, то жанры, определяемые из fb2 и fbd не принимаются во внимание.
Пользовательской таблицы нет, она одна для каждой библиотеки. Жанр, определяемый в fb2(fbd) прописывается только на момент сканирования. Если ты переносишь эту книгу в другой жанр - ессесно, в базе будет тот жанр, на который заменил. Если ты добавляешь (а не заменяешь) жанр - о приоритетах разговора не будет - они равнозначны.
Напоминаю, всё это актуально для личных коллекций, ибо либрусовые, флибустовые и иже с ними - перезагружаемые, и смысл вносить коррекции в такие коллекции отсутствует. Разве-что одноразово импортировать и больше не обновлять. Хотя я бы такого не делал.
Quote (1_абрам)
Вопрос. Допускать ли несколько жанров у книжки. М.б. учитывая возможность правки таблицы жанров сделать жестко - одна книга - один жанр?
Однозначно допускается многожанровость... Зачастую, книга (например, детская фантастика) может быть и в детской литературе и в фантастике. И обе этих привязки - равнозначны и справедливы.