簡體   English   中英

在 SQLite 中,我們可以為應用程序中的每個用戶創建一個數據庫嗎?

[英]In SQLite, Can we create one database for each user in an app?

我有一個項目作為畢業論文。 我必須編寫一個密碼管理器應用程序。 in this app, many users can create, login their account and manage their data such as facebook account, gmail, tiktok,... and required using SQLite Cipher to encrypt each user's data ( the key to encrypt data is hashed from user password)那么,我該如何為每個用戶創建每個數據庫呢? 這個例子,

  • 用戶 A 創建他的帳戶:用戶名 A,密碼 a12345。 A登錄后,A的數據庫為A_db.db
  • 用戶 B 創建他的帳戶:用戶名 B,密碼 b12345。 B登錄后,b的數據庫為B_db.db。

您不需要每個用戶都有一個數據庫。 每個用戶都將在他們的平台上擁有自己的數據庫副本(我猜您正計划從標簽創建一個 Android 應用程序)。 因此,您必須設計數據庫,以便每個用戶獨立於其他用戶使用自己的副本。

是的,您可以(技術上)為每個用戶創建一個單獨的 SQLite 數據庫。 SQLite 數據庫只是一個文件。 打開數據庫時給出文件名。 具有不同名稱的多個文件易於實現。

可能你不需要。

在 Android 上,假設該給定設備只有一個用戶。 Android 平台 (AFAIK) 不支持多個用戶/帳戶。 所以......假設這個 SQLite 數據庫在 Android 用戶的設備上,你的問題根本不會出現。

如果數據庫在服務器上......將,通過為每個用戶保存一個單獨的數據庫來實現不了多少。 您可以將信息保存在一個數據庫中:SQLite 或更強大/可擴展的數據庫。

對密碼管理器應用程序擁有每個用戶 SQLite 數據庫有意義的唯一情況是,如果應用程序設計為在支持多個用戶帳戶的操作系統上運行; 例如 Windows、Unix、Linux、Mac OS 等。然后您可以將數據庫放在每個用戶的主目錄中……或類似的東西。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM