Собираюсь написать приложение для тестирования. Есть такая структура бд
1. Каждый вопрос может иметь любое число вариантов ответа,
2. каждый вопрос может иметь любое число правильных вариантов ответа,
3. каждый вопрос может состоять в нескольких категориях,
4. каждый вариант ответа может переиспользоваться разными вопросами (может быть правильным в одном вопросе, неправильным в другом)
Что касается пункта 4, может, стоит убрать переиспользование и сохранять в отдельном файле все введенные пользователем варианты и показывать их в AutoCompleteTextView при вводе, а в бд прямым текстом вместо отдельной таблицы?
При добавлении существующего вопроса в еще одну категорию возникает необходимость в копировании записей, количество которых совпадает с количеством n вариантов (копирование происходит в CategoryQuestion (1 запись) и в QuestionOption (n записей)
Используют ли для sqlite какие-либо ОРМ, или прямыми sql-запросами лучше оставить?
UPD:
Немного переделал структуру:
2 внешних ключа на одно и то же поле - это нормально или так не стоит делать?