Java 为每个用户创建单独的表以存储数据或使用单个表

Java 为每个用户创建单独的表以存储数据或使用单个表,java,mysql,database,Java,Mysql,Database,我知道有很多关于这个问题的疑问,但是我的问题 是不同的。我想做一个密码管理器应用程序 存储每个用户的主机名、用户名、密码、备注等。我不能 将这些信息存储在用户列中,因为有多行 对于每个用户的数据 那么,在我的例子中,为每个用户创建一个单独的表是正确的吗 或者我创建一个名为“Host”的表,并在其中添加所有密码 将外键“username”作为此表中的主键。无论何时 执行查询时,只显示特定用户的行 用户表:-id:用户名:电子邮件:密码:安全问题:答案 主机表:-用户名:序号:主机名:主机用户名:密

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

那么,在我的例子中,为每个用户创建一个单独的表是正确的吗 或者我创建一个名为“Host”的表,并在其中添加所有密码 将外键“username”作为此表中的主键。无论何时 执行查询时,只显示特定用户的行

用户表:-id:用户名:电子邮件:密码:安全问题:答案

主机表:-用户名:序号:主机名:主机用户名:密码:备注

哪种方法更有效?如果有更好的方法 请让我知道。我是第一次发布我的问题 在从这个网站获得了很多之后,请原谅我的不好
语法。

正确的方法会对如下内容重新采样:

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

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

为用户和主机创建一个表。这些表由Users.id到Hosts.user\u id关系连接。

为每个用户创建表是一种糟糕的方法。如果您打算使用PlanA,当用户数量增加时,它将创建一个数据库

使用方案B

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

是,保留用户的应用程序。
用户表中的相关数据,以及差异表中的其他信息性数据。