java - 为每个用户创建单独的表来存储数据或使用单个表

标签 java mysql database

我知道有很多与此问题相关的查询,但我的问题 是不同的。我想制作一个密码管理器应用程序 为每个用户存储主机名、用户名、密码、注释等。我不能 将这些信息存储在用户的列中,因为有多行 对于每个用户的数据。

那么在我的情况下为每个用户创建一个单独的表是否正确 或者我创建一个名为“Host”的表并在其中添加所有密码 外键“用户名”作为该表中的主键。无论何时 查询被执行它只显示特定用户的行。

User Table:- id:username:email:password:security question:answer

Host Table:- username:s.no.:host name:host username:password:notes

哪种方法更有效,如果有更好的方法 替代方案请让我知道。我是第一次发布我的问题 从这个网站获得了很多,所以请原谅我的错误 语法。

最佳答案

正确的方法类似于这样:

Users
------
id | username | email | encryptedpassword | security_question | encryptedsecurityanswer

Hosts
------
id | user_id | name | notes 

为用户和主机创建一个表。这些表通过 Users.id 到 Hosts.user_id 关系连接。

关于java - 为每个用户创建单独的表来存储数据或使用单个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7117545/

相关文章:

java - 在 Java 中使用数组的数组作为指向可扩展类列表的指针

java - Java 抽象类中的变量可以是抽象的吗?

mysql - 是否可以在同一查询中对使用 AS 关键字形成的字段执行 WHERE?

sql - 批量插入到 SQL Server CE

mysql - 如何更新mysql中所有重复记录的列

java - 是什么导致使用 Collections.synchronizedList 的 java.util.concurrentmodificationexception?

Java删除文件夹仍然存在

php - 如何一次插入所有下拉记录?

java - 如何在具有不同标题的单个报告中打印两个表

sql - 动态数据库/键 - 值/实体 - 键值困境