Собираюсь написать приложение для тестирования. Есть такая структура бд
![5b7d418a59cd2711649285.png](https://habrastorage.org/webt/5b/7d/41/5b7d418a59cd2711649285.png)
1. Каждый вопрос может иметь любое число вариантов ответа,
2. каждый вопрос может иметь любое число правильных вариантов ответа,
3. каждый вопрос может состоять в нескольких категориях,
4. каждый вариант ответа может переиспользоваться разными вопросами (может быть правильным в одном вопросе, неправильным в другом)
Что касается пункта 4, может, стоит убрать переиспользование и сохранять в отдельном файле все введенные пользователем варианты и показывать их в AutoCompleteTextView при вводе, а в бд прямым текстом вместо отдельной таблицы?
При добавлении существующего вопроса в еще одну категорию возникает необходимость в копировании записей, количество которых совпадает с количеством n вариантов (копирование происходит в CategoryQuestion (1 запись) и в QuestionOption (n записей)
Используют ли для sqlite какие-либо ОРМ, или прямыми sql-запросами лучше оставить?
UPD:
Немного переделал структуру:
![5b7da13c55c3f312485477.png](https://habrastorage.org/webt/5b/7d/a1/5b7da13c55c3f312485477.png)
2 внешних ключа на одно и то же поле - это нормально или так не стоит делать?