У меня есть приложение с базой данных SQLite для хранения информации для учетной записи пользователя. Я разработал базу данных, исходя из предположения, что приложение будет иметь только одного пользователя. Таким образом, идентификатор пользователя не сохраняется в базе данных (но он хранится в центральной базе данных на сервере). Тем не менее, можно выйти из приложения и позволить другому пользователю войти в систему, но проблема с этим в настоящий момент, их данные загружаются, а затем добавляются к другим пользовательским данным. Это не то, что я хочу, но я не уверен, как лучше всего изменить дизайн базы данных, чтобы решить эту проблему. Я подумал:
- Одна база данных для каждого пользователя. Может привести к ненужному хранению данных, если пользователь только один раз войдет в систему на своем мобильном телефоне и больше никогда. Также я думаю, что это может быть трудно справиться.
- Добавьте столбец идентификатора пользователя ко всем таблицам, поэтому добавление не вызывает проблемы. Все еще имеет ненужную проблему с данными, которая (1) имеет и теряет 1 модульность.
- Протрите базу данных, когда пользователь выйдет из системы. Если у пользователя много данных на сервере, потребуется долгое время для синхронизации данных при запуске приложения (это будет сделано в другом потоке, но это все равно боль).
Является ли один из этих подходов хорошим? Или есть лучший способ сделать это?