Можно ли в SQLite создать одну базу данных для каждого пользователя в приложении?
У меня есть дипломная работа. Мне нужно написать приложение для управления паролями. в этом приложении многие пользователи могут создавать, входить в свою учетную запись и управлять своими данными, такими как учетная запись facebook, gmail, tiktok, ... и требуется использование SQLite Cipher для шифрования данных каждого пользователя (ключ для шифрования данных хешируется из пароля пользователя) Итак, как я могу создать каждую базу данных для каждого пользователя? Например, пользователь A создает свою учетную запись: имя пользователя A, пароль a12345. после входа A база данных A будет A_db.db, пользователь B создаст свою учетную запись: имя пользователя B, пароль b12345. после входа B база данных b будет B_db.db.
пожалуйста, поддержите меня. из Вьетнама с любовью !!
2 ответа
Да, вы могли бы (технически) создать отдельную базу данных SQLite для каждого пользователя. База данных SQLite — это просто файл. Вы даете имя файла, когда открываете БД. Несколько файлов с разными именами легко реализовать.
Но , наверное , вам это не нужно.
В Android предполагается, что есть только один пользователь данного устройства. Платформа Android (AFAIK) не поддерживает несколько пользователей/аккаунтов. Итак... если предположить, что эта база данных SQLite находится на устройстве пользователя Android, вашей проблемы просто не возникает.
Если базы данных будут на сервере... будет, не так уж многого можно добиться, держа отдельную базу данных для каждого пользователя. Вы можете хранить информацию в одной базе данных: SQLite или что-то более надежное/масштабируемое.
Единственный случай, когда имеет смысл иметь базы данных SQLite для каждого пользователя для приложения диспетчера паролей, — это если приложение предназначено для работы в ОС, поддерживающей несколько учетных записей пользователей; например, Windows, Unix, Linux, Mac OS и т. д. Затем вы можете просто поместить базу данных в домашний каталог каждого пользователя... или что-то в этом роде.
Вам не нужна база данных для каждого пользователя. У каждого пользователя будет своя копия базы данных на своей платформе (думаю, вы планируете создать приложение для Android из тегов). Таким образом, вы должны спроектировать базу данных таким образом, чтобы каждый пользователь использовал свою собственную копию независимо от других пользователей.